561 Group Market

SHA-2 Multihash Creation

Name up to 65536 exact caller bytes as a canonical lowercase, unpadded base32 multihash. Select SHA2-256 (default) or SHA2-512; return the address plus explicit algorithm code, digest length and digest/envelope Base64url. Uses native multiformats and SHA-2. Caller media type is a label, not content validation. Full JSON escaping admitted. No fetching, storage, author authentication or IPFS-file construction. Malformed carriers refused before payment.

Price
from $0.0012 USDC per request (starting price; the 402 response quotes the exact amount for your input)
Network
Base mainnet, eip155:8453, settled in USDC through the Coinbase CDP facilitator
Method and URL
POST https://market.561.group/v1/data/multihash-create
Response type
application/json
Seller
Causeway Services (561 Group)

Input contract

Input that fails this contract is refused with a 4xx status before any payment is requested.

{
  "maxBytes": 544768,
  "bodySchema": {
    "type": "object",
    "additionalProperties": false,
    "required": [
      "carrier"
    ],
    "properties": {
      "carrier": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mediaType",
          "contentBase64"
        ],
        "properties": {
          "mediaType": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024,
            "description": "Caller label, not authentication or content-format validation. Maximum 1024 UTF-8 bytes."
          },
          "contentBase64": {
            "type": "string",
            "maxLength": 87384,
            "description": "Canonical padded RFC 4648 Base64 of at most 65536 exact bytes; full JSON escaping admitted."
          }
        }
      },
      "algorithm": {
        "enum": [
          "sha2-256",
          "sha2-512"
        ]
      }
    }
  }
}

Example request

{
  "method": "POST",
  "url": "https://market.561.group/v1/data/multihash-create",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  },
  "body": {
    "carrier": {
      "mediaType": "application/octet-stream",
      "contentBase64": "YWJj"
    },
    "algorithm": "sha2-512"
  }
}

Output

{
  "schema": {
    "type": "object",
    "required": [
      "kind",
      "profile",
      "address",
      "presentation",
      "multihash"
    ],
    "properties": {
      "kind": {
        "const": "multihash-address"
      },
      "profile": {
        "const": "multihash/base32-lower/sha2"
      },
      "address": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1024
      },
      "presentation": {
        "type": "object"
      },
      "multihash": {
        "type": "object",
        "required": [
          "algorithm",
          "algorithmCode",
          "digestLength",
          "digestBase64url",
          "bytesBase64url"
        ],
        "properties": {
          "algorithm": {
            "enum": [
              "sha2-256",
              "sha2-512"
            ]
          },
          "algorithmCode": {
            "enum": [
              18,
              19
            ]
          },
          "digestLength": {
            "enum": [
              32,
              64
            ]
          },
          "digestBase64url": {
            "type": "string"
          },
          "bytesBase64url": {
            "type": "string"
          }
        }
      }
    }
  },
  "example": {
    "kind": "multihash-address",
    "profile": "multihash/base32-lower/sha2",
    "address": "bcnan3lzvugjwc6v2zraxgsnoebatcexg7jhitkl6uifj53xgjnk5hgrbskmsuj2pygudnor4eor75255ivguii3ehtua4ku2zfh2ktfet4",
    "presentation": {
      "base": "base32",
      "canonical": true
    },
    "multihash": {
      "algorithm": "sha2-512",
      "algorithmCode": 19,
      "digestLength": 64,
      "digestBase64url": "3a81oZNherrMQXNJriBBMRLm-k6JqX6iCp7u5ktV05ohkpkqJ0_BqDa6PCOj_uu9RU1EI2Q86A4qmslPpUyknw",
      "bytesBase64url": "E0DdrzWhk2F6usxBc0muIEExEub6TompfqIKnu7mS1XTmiGSmSonT8GoNro8I6P-671FTUQjZDzoDiqayU-lTKSf"
    }
  }
}

How to buy with x402

  1. Send the request without payment. The server answers 402 Payment Required with a base64 JSON PAYMENT-REQUIRED header holding the amount, asset, network and payee.
  2. Have your wallet sign an EIP-3009 transferWithAuthorization for exactly those terms (an x402 client library does this for you).
  3. Repeat the identical request with the signed payload in the PAYMENT-SIGNATURE header.
  4. The server verifies, runs the operation, settles, and returns 200 with the result and a PAYMENT-RESPONSE header carrying the settlement receipt.

Read the price without paying

curl --include --request POST --header 'accept: application/json' --header 'content-type: application/json' --data-raw '{"carrier":{"mediaType":"application/octet-stream","contentBase64":"YWJj"},"algorithm":"sha2-512"}' --url 'https://market.561.group/v1/data/multihash-create'

This request authorizes nothing; it returns the live payment terms. Read the full explanation of x402.

Machine-readable