ToolAssay

JSON canonicalization — canonicalize structured data with RFC 8785 JCS; return c

JSON canonicalization — canonicalize structured data with RFC 8785 JCS; return canonical JSON text, UTF-8 byte length and SHA-256 hash for integrity checks, signature preparation and deduplication. Uses binary64 rounding and strict Unicode/duplicate-key checks; rejects negative zero, overflow and nonzero underflow.

Answeringour last check, 2026-10-10
1 of 1checks answered this week
620 msmedian answer time
$0.01listed price per call
$0.01price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://data-tools.use.x402atlas.com/json-canonicalize

CategoryEverything else
Provider hostdata-tools.use.x402atlas.com
Networkseip155:137, eip155:42161, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days2 from 2 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-10 valid payment request 402$0.01 620 ms

Example input (from the provider)

{
  "body": {
    "value": {
      "literals": [
        null,
        true,
        false
      ],
      "numbers": [
        333333333.3333333,
        1e+30,
        4.5,
        0.002,
        1e-27
      ],
      "string": "\u20ac$\u000f\nA'B\"\\\\\"/"
    }
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "description": "Strict JSON canonicalization request",
          "properties": {
            "value": {
              "description": "JSON value to canonicalize, <=50000 nodes; JCS rejects negative zero, overflow and nonzero underflow and uses binary64 rounding; unique decoded keys, valid Unicode, depth <=64, finite JSON numeric tokens <=1024 bytes and exponent magnitude <=4096",
              "type": [
                "object",
                "array",
                "string",
                "number",
                "boolean",
                "null"
              ]
            }
          },
          "required": [
            "value"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "additionalProperties": false,
          "description": "Complete structured-data result",
          "properties": {
            "_atlas": {
              "additionalProperties": false,
              "description": "Optional Atlas documentation metadata injected by the platform",
              "properties": {
                "docs": {
                  "description": "Documentation URL",
                  "format": "uri",
                  "maxLength": 512,
                  "type": "string"
                },
                "related": {
                  "description": "Related Atlas routes",
                  "items": {
                    "additionalProperties": false,
                    "description": "Related route",
                    "properties": {
                      "bridge": {
                        "description": "Bridge name",
                        "type": "string"
                      },
                      "docs": {
                        "description": "Documentation URL",
                        "type": "string"
                      },
                      "summary": {
                        "description": "Capability summary",
                        "type": "string"
                      },
                      "url": {
                        "description": "Paid route URL",
                        "type": "string"
                      }
                    },
                    "required": [
                      "bridge",
                      "url",
                      "docs",
                      "summary"
                    ],
                    "type": "object"
                  },
                  "maxItems": 3,
                  "type": "array"
                }
              },
              "required": [
                "docs"
              ],
              "type": "object"
            },
            "algorithm_version": {
              "const": "rfc8785-jcs-v1",
              "description": "Pinned deterministic algorithm or profile",
              "type": "string"
            },
            "canonical_json": {
              "description": "RFC 8785 JCS text for hashing or signature preparation; UTF-16 key order and ECMAScript binary64 numbers, without Unicode normalization",
              "type": "string"
            },
            "input": {
              "additionalProperties": false,
              "description": "Normalized input summary",
              "properties": {
                "node_count": {
                  "description": "Value nodes",
                  "maximum": 50000,
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "required": [
                "node_count"
              ],
              "type": "object"
            },
            "operation": {
              "const": "json-canonicalize",
              "description": "Stable capability operation, identical across packaging variants",
              "type": "string"
            },
            "sha256": {
              "description": "Lowercase SHA-256 of canonical UTF-8 bytes",
              "pattern": "^[0-9a-f]{64}$",
              "type": "string"
            },
            "utf8_bytes": {
              "description": "UTF-8 bytes in canonical text",
              "maximum": 1048576,
              "minimum": 0,
              "type": "integer"
            },
            "warnings": {
              "description": "Deterministic warnings; empty array when none",
              "items": {
                "description": "Warning message; no original cell or document values",
                "type": "string"
              },
              "maxItems": 100,
              "type": "array"
            }
          },
          "required": [
            "algorithm_version",
            "canonical_json",
            "input",
            "operation",
            "sha256",
            "utf8_bytes",
            "warnings"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON