Typed JSON to WHATWG MIME Type
Serialize explicit type/subtype and ordered name/value parameters using the native WHATWG MIME serializer. Lowercase names, preserve values/order, quote and escape safely. Refuse case-insensitive duplicate names rather than overwrite a value. Limit 4096 UTF-8 serialized bytes and 32 parameters; transport admits JSON escape expansion. No registration checking, content sniffing or charset transcoding. Invalid tokens/values refuse before payment. No network or filesystem I/O.
- 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/mime-type-serialize- 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": 26624,
"bodySchema": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"subtype",
"parameters"
],
"properties": {
"type": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"subtype": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"parameters": {
"type": "array",
"maxItems": 32,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"value": {
"type": "string",
"maxLength": 4096
}
}
}
}
}
}
}
Example request
{
"method": "POST",
"url": "https://market.561.group/v1/data/mime-type-serialize",
"headers": {
"accept": "application/json",
"content-type": "application/json"
},
"body": {
"type": "APPLICATION",
"subtype": "X.EXAMPLE+JSON",
"parameters": [
{
"name": "CHARSET",
"value": "UTF-8"
},
{
"name": "note",
"value": "a;b\"c"
}
]
}
}
Output
{
"schema": {
"type": "object",
"additionalProperties": false,
"required": [
"type",
"subtype",
"essence",
"parameters",
"serialized"
],
"properties": {
"type": {
"type": "string"
},
"subtype": {
"type": "string"
},
"essence": {
"type": "string"
},
"parameters": {
"type": "array",
"maxItems": 32,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"value": {
"type": "string",
"maxLength": 4096
}
}
}
},
"serialized": {
"type": "string",
"maxLength": 4096
}
}
},
"example": {
"type": "application",
"subtype": "x.example+json",
"essence": "application/x.example+json",
"parameters": [
{
"name": "charset",
"value": "UTF-8"
},
{
"name": "note",
"value": "a;b\"c"
}
],
"serialized": "application/x.example+json;charset=UTF-8;note=\"a;b\\\"c\""
}
}
How to buy with x402
- Send the request without payment. The server answers
402 Payment Requiredwith a base64 JSONPAYMENT-REQUIREDheader holding the amount, asset, network and payee. - Have your wallet sign an EIP-3009
transferWithAuthorizationfor exactly those terms (an x402 client library does this for you). - Repeat the identical request with the signed payload in the
PAYMENT-SIGNATUREheader. - The server verifies, runs the operation, settles, and returns
200with the result and aPAYMENT-RESPONSEheader carrying the settlement receipt.
Read the price without paying
curl --include --request POST --header 'accept: application/json' --header 'content-type: application/json' --data-raw '{"type":"APPLICATION","subtype":"X.EXAMPLE+JSON","parameters":[{"name":"CHARSET","value":"UTF-8"},{"name":"note","value":"a;b\"c"}]}' --url 'https://market.561.group/v1/data/mime-type-serialize'
This request authorizes nothing; it returns the live payment terms. Read the full explanation of x402.
Machine-readable
- /.well-known/x402: x402 discovery document for every offer
- /v1/catalog: full catalog with contracts and examples
- /llms.txt: the market in llms.txt form
- services.561.group: Causeway Services