561 Group Market

Unicode NFC NFD NFKC NFKD Normalization

Normalize Unicode scalar text to the explicitly selected NFC, NFD, NFKC or NFKD form using the native runtime. Return text, changed flag and before/after UTF-8 byte counts. Compatibility forms can alter meaning; there is no case folding or transliteration. Bound input and output at 65536 bytes. Refuse lone surrogates before payment. No Unicode-version-specific 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/unicode-normalize
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": 393344,
  "bodySchema": {
    "type": "object",
    "additionalProperties": false,
    "required": [
      "text",
      "form"
    ],
    "properties": {
      "text": {
        "type": "string",
        "maxLength": 65536
      },
      "form": {
        "type": "string",
        "enum": [
          "NFC",
          "NFD",
          "NFKC",
          "NFKD"
        ]
      }
    }
  }
}

Example request

{
  "method": "POST",
  "url": "https://market.561.group/v1/data/unicode-normalize",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  },
  "body": {
    "text": "Café",
    "form": "NFC"
  }
}

Output

{
  "schema": {
    "type": "object",
    "additionalProperties": false,
    "required": [
      "text",
      "form",
      "changed",
      "inputBytes",
      "outputBytes"
    ],
    "properties": {
      "text": {
        "type": "string"
      },
      "form": {
        "type": "string",
        "enum": [
          "NFC",
          "NFD",
          "NFKC",
          "NFKD"
        ]
      },
      "changed": {
        "type": "boolean"
      },
      "inputBytes": {
        "type": "integer",
        "minimum": 0,
        "maximum": 65536
      },
      "outputBytes": {
        "type": "integer",
        "minimum": 0,
        "maximum": 65536
      }
    }
  },
  "example": {
    "text": "Café",
    "form": "NFC",
    "changed": true,
    "inputBytes": 6,
    "outputBytes": 5
  }
}

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 '{"text":"Café","form":"NFC"}' --url 'https://market.561.group/v1/data/unicode-normalize'

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

Machine-readable