mirrored listing x402 eip155:8453eip155:137eip155:42161

Strict Solidity ABI calldata decoder — decode canonical EVM smart-contract function calls

Strict Solidity ABI calldata decoder — decode canonical EVM smart-contract function calls or typed values, verify selectors, and reject ambiguous offsets or padding.

Do you run chain-tools.use.x402atlas.com? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
5000 (raw units)
price
2
calls / 30d
1
unique payers
2026-09-15
updated

Provider

chain-tools.use.x402atlas.com · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0x8C128f1Ee62Bb5e47867CfbAe2ad89be325Df1b2",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "5000",
    "maxTimeoutSeconds": 300
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "payTo": "0x8C128f1Ee62Bb5e47867CfbAe2ad89be325Df1b2",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "5000",
    "maxTimeoutSeconds": 300
  },
  {
    "scheme": "exact",
    "network": "eip155:42161",
    "payTo": "0x8C128f1Ee62Bb5e47867CfbAe2ad89be325Df1b2",
    "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "amount": "5000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "category": "utilities",
    "info": {
      "input": {
        "body": {
          "data": "0xa9059cbb000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e8",
          "function": "transfer",
          "has_selector": true,
          "types": [
            "address",
            "uint256"
          ]
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": {
          "algorithm_version": "solidity-abi-v1",
          "function_signature": "transfer(address,uint256)",
          "has_selector": true,
          "operation": "abi-decode",
          "payload": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e8",
          "selector": "0xa9059cbb",
          "types": [
            "address",
            "uint256"
          ],
          "values": [
            "0x0000000000000000000000000000000000000001",
            "1000"
          ],
          "warnings": []
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "body": {
              "additionalProperties": false,
              "description": "One strict bounded Solidity ABI decode request with at most 256 aggregate decoded scalar values",
              "oneOf": [
                {
                  "properties": {
                    "has_selector": {
                      "const": true
                    }
                  },
                  "required": [
                    "function"
                  ]
                },
                {
                  "not": {
                    "required": [
                      "function"
                    ]
                  },
                  "properties": {
                    "has_selector": {
                      "const": false
                    }
                  }
                }
              ],
              "properties": {
                "data": {
                  "description": "At most 64 KiB of canonical ABI bytes; decoded dynamic arrays and tuples are rejected above 256 aggregate scalar values, with a selector exactly when has_selector is true",
                  "pattern": "^0x(?:[0-9a-fA-F]{2})*$",
                  "type": "string"
                },
                "function": {
                  "description": "Function identifier required exactly when a selector is present",
                  "pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
                  "type": "string"
                },
                "has_selector": {
                  "description": "Whether the first four bytes are a function selector",
                  "type": "boolean"
                },
                "types": {
                  "description": "Supported ABI types used as the decoding schema; fixed shapes and decoded dynamic tails together may contain at most 256 scalar values",
                  "items": {
                    "description": "One closed-grammar ABI type",
                    "type": "string"
                  },
                  "maxItems": 32,
                  "minItems": 0,
                  "type": "array"
                }
              },
              "required": [
                "types",
                "data",
                "has_selector"
              ],
              "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,
              "properties": {
                "_atlas": {
                  "additionalProperties": false,
                  "description": "Atlas documentation and related-route metadata added after deployment",
                  "properties": {
                    "docs": {
                      "description": "Documentation URL for this bridge",
                      "format": "uri",
                      "maxLength": 512,
                      "type": "string"
                    },
                    "related": {
                      "description": "Bounded related Atlas routes",
                      "items": {
                        "additionalProperties": false,
                        "description": "One related Atlas route",
                        "properties": {
                          "bridge": {
                            "description": "Related bridge name",
                            "maxLength": 64,
                            "type": "string"
                          },
                          "docs": {
                            "description": "Related bridge documentation URL",
                            "format": "uri",
                            "maxLength": 512,
                            "type": "string"
                          },
                          "summary": {
                            "description": "Short capability summary",
                            "maxLength": 256,
                            "type": "string"
                          },
                          "url": {
                            "description": "Related route URL",
                            "format": "uri",
                            "maxLength": 512,
                            "type": "string"
                          }
                        },
                        "required": [
                          "bridge",
                          "url",
                          "docs",
                          "summary"
                        ],
                        "type": "object"
                      },
                      "maxItems": 3,
                      "type": "array"
                    }
                  },
                  "required": [
                    "docs"
                  ],
                  "type": "object"
                },
                "algorithm_version": {
                  "const": "solidity-abi-v1",
                  "description": "Pinned strict ABI contract",
                  "type": "string"
                },
                "function_signature": {
                  "description": "Verified canonical signature when present",
                  "type": "string"
                },
                "has_selector": {
                  "description": "Whether selector verification was performed",
                  "type": "boolean"
                },
                "operation": {
                  "const": "abi-decode",
                  "description": "Stable route operation",
                  "type": "string"
                },
                "payload": {
                  "description": "Strict selector-free canonical ABI payload",
                  "type": "string"
                },
                "selector": {
                  "description": "Verified four-byte selector when present",
                  "type": "string"
                },
                "types": {
                  "description": "Canonical ABI types",
                  "items": {
                    "description": "Canonical type",
                    "type": "string"
                  },
                  "type": "array"
                },
                "values": {
                  "description": "Normalized positional decoded values",
                  "items": {
                    "description": "Exact JSON representation for its ABI type"
                  },
                  "type": "array"
                },
                "warnings": {
                  "description": "Always empty",
                  "items": {
                    "description": "Warning",
                    "type": "string"
                  },
                  "maxItems": 0,
                  "type": "array"
                }
              },
              "required": [
                "operation",
                "algorithm_version",
                "types",
                "values",
                "has_selector",
                "payload",
                "warnings"
              ],
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    },
    "tags": [
      "abi-decode",
      "solidity-abi",
      "evm",
      "blockchain-development",
      "offline-computation"
    ]
  }
}

Use it

curl

curl "https://chain-tools.use.x402atlas.com/evm/abi-decode"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://chain-tools.use.x402atlas.com/evm/abi-decode");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://chain-tools.use.x402atlas.com/evm/abi-decode")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/3461.json, and this resource appears in /discovery/resources and /discovery/search.