561 Group Market

RFC 9530 HTTP Content-Digest Verification

Verify RFC 9530 SHA-256/SHA-512 Content-Digest over exact message-content bytes. Return per-algorithm matches and unsupported algorithms; matches means all supported members match. Require one supported algorithm and unparameterized byte sequences. Up to 65536 content bytes and 16384 field bytes. Valid mismatch is a paid result; malformed input refused before payment. No authentication or Repr-Digest claim.

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/content-digest-verify
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": 102400,
  "bodySchema": {
    "type": "object",
    "additionalProperties": false,
    "required": [
      "carrier",
      "contentDigest"
    ],
    "properties": {
      "carrier": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mediaType",
          "contentBase64"
        ],
        "properties": {
          "mediaType": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "contentBase64": {
            "type": "string",
            "maxLength": 87384
          }
        }
      },
      "contentDigest": {
        "type": "string",
        "maxLength": 16384,
        "description": "ASCII structured field value, up to 16384 bytes. Select its defined container; not legacy Accept, Cookie or Cache-Control grammar."
      }
    }
  }
}

Example request

{
  "method": "POST",
  "url": "https://market.561.group/v1/data/content-digest-verify",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  },
  "body": {
    "carrier": {
      "mediaType": "text/plain",
      "contentBase64": "YWJj"
    },
    "contentDigest": "sha-256=:ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=:"
  }
}

Output

{
  "schema": {
    "type": "object",
    "additionalProperties": false,
    "required": [
      "matches",
      "results",
      "unsupported",
      "byteLength"
    ],
    "properties": {
      "matches": {
        "type": "boolean"
      },
      "results": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "algorithm",
            "matches"
          ],
          "properties": {
            "algorithm": {
              "type": "string"
            },
            "matches": {
              "type": "boolean"
            }
          }
        }
      },
      "unsupported": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "byteLength": {
        "type": "integer",
        "minimum": 0
      }
    }
  },
  "example": {
    "matches": true,
    "results": [
      {
        "algorithm": "sha-256",
        "matches": true
      }
    ],
    "unsupported": [],
    "byteLength": 3
  }
}

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":"text/plain","contentBase64":"YWJj"},"contentDigest":"sha-256=:ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=:"}' --url 'https://market.561.group/v1/data/content-digest-verify'

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

Machine-readable