561 Group Market

RFC 4648 Base64 to Byte Array

Decode canonical, padded RFC 4648 Base64 into byte integers, preserving the media type and arbitrary binary data. Reject whitespace, wrong padding, nonzero pad bits and a media-type mismatch before payment. Up to 65536 bytes.

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/base64-bytes
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,
    "properties": {
      "carrier": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mediaType",
          "contentBase64"
        ],
        "properties": {
          "mediaType": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "MIME type carried with the bytes; it is retained, not inferred."
          },
          "contentBase64": {
            "type": "string",
            "maxLength": 87384
          }
        }
      },
      "expectedMediaType": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "description": "MIME type carried with the bytes; it is retained, not inferred."
      },
      "maximumBytes": {
        "type": "integer",
        "minimum": 0,
        "maximum": 65536
      }
    },
    "required": [
      "carrier"
    ]
  }
}

Example request

{
  "method": "POST",
  "url": "https://market.561.group/v1/data/base64-bytes",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  },
  "body": {
    "carrier": {
      "mediaType": "application/octet-stream",
      "contentBase64": "AP8="
    }
  }
}

Output

{
  "schema": {
    "type": "object",
    "required": [
      "mediaType",
      "bytes"
    ],
    "properties": {
      "mediaType": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "description": "MIME type carried with the bytes; it is retained, not inferred."
      },
      "bytes": {
        "type": "array",
        "items": {
          "type": "integer",
          "minimum": 0,
          "maximum": 255
        },
        "maxItems": 65536
      }
    }
  },
  "example": {
    "mediaType": "application/octet-stream",
    "bytes": [
      0,
      255
    ]
  }
}

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":"AP8="}}' --url 'https://market.561.group/v1/data/base64-bytes'

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

Machine-readable