Skip to content
crypto · crypto · evm · ethereum · solidity · calldata · abi · decode · selector · canonical

Calldata decoder

Resolve 29 common ERC-20, ERC-165, ERC-721, ERC-1155, ERC-2612, and ERC-3009 selectors without a network lookup, or strictly decode arbitrary Ethereum or EVM calldata using a supplied Solidity signature.

$0.001 USDCBase + Solanax402 v2POST
Pay $0.001 USDC and run in your browserView free result sample

Endpoint

https://apiacre.com/v1/crypto/calldata-decode

Send the JSON body below. An unpaid request returns HTTP 402 with a PAYMENT-REQUIRED header; an x402-compatible buyer signs the requirement and retries with PAYMENT-SIGNATURE.

Pay $0.001 USDC and run in your browser

Official Coinbase agent path

Coinbase Agentic Wallet can satisfy this x402 request in one command. Running it may pay automatically, so --max-amount is fixed to $0.001 USDC in atomic units. Copying the command does not install, authenticate, sign, or pay; review the request and use a separate low-value wallet before running it.

npx --yes awal@latest x402 pay https://apiacre.com/v1/crypto/calldata-decode \
  -X POST \
  -d '{"calldata":"0xa9059cbb0000000000000000000000001111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000002a","input_mode":"auto"}' \
  --max-amount 1000 \
  --json

Coinbase pay-for-service documentation · Buyer setup and wallet safety

Alternative third-party AgentCash commands

Run check first without payment. Its fetch command may automatically pay up to the exact listed price.

npx --yes agentcash@latest check https://apiacre.com/v1/crypto/calldata-decode
npx --yes agentcash@latest fetch https://apiacre.com/v1/crypto/calldata-decode \
  --method POST \
  --header 'content-type: application/json' \
  --body '{"calldata":"0xa9059cbb0000000000000000000000001111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000002a","input_mode":"auto"}' \
  --payment-protocol x402 \
  --payment-network base \
  --max-amount 0.001

AgentCash CLI documentation

Input example

{
  "calldata": "0xa9059cbb0000000000000000000000001111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000002a",
  "input_mode": "auto"
}

Response shape

View free static sample JSON

{
  "request_id": "018f1f54-7f38-7ba2-8dc3-5f90272d9f1a",
  "service": "crypto.calldata-decode",
  "version": "1",
  "data": {
    "function": "transfer",
    "signature": "transfer(address,uint256)",
    "canonicalSignature": "transfer(address,uint256)",
    "signatureSource": "built_in_standard",
    "selector": "0xa9059cbb",
    "selectorPresent": true,
    "inputMode": "selector_and_arguments",
    "types": [
      "address",
      "uint256"
    ],
    "values": [
      "0x1111111111111111111111111111111111111111",
      42
    ],
    "arguments": [
      {
        "index": 0,
        "type": "address",
        "value": "0x1111111111111111111111111111111111111111"
      },
      {
        "index": 1,
        "type": "uint256",
        "value": 42
      }
    ],
    "resolution": {
      "method": "built_in_standard",
      "signatureProvided": false,
      "candidateCount": 1,
      "candidates": [
        "transfer(address,uint256)"
      ],
      "matchedStandards": [
        "ERC-20"
      ],
      "standardReferences": [
        {
          "standard": "ERC-20",
          "url": "https://eips.ethereum.org/EIPS/eip-20"
        }
      ],
      "builtInSignatureCount": 29,
      "registryComplete": false,
      "networkRequestsMade": false,
      "version": "apiacre-standard-selectors/1"
    },
    "warnings": [
      "Selector resolution is limited to 29 published standard signatures; four-byte selectors are not globally unique."
    ],
    "encoding": {
      "calldataBytes": 68,
      "argumentBytes": 64,
      "calldataSha256": "f77b5da6ef3efa41f5084d653dc4a135a3978d541db97ce13225bd442b025198",
      "argumentsSha256": "d3458da251349437abe3549042a49868dc5528422a63bb815f3e0b46725052c9",
      "canonical": true
    }
  },
  "meta": {
    "duration_ms": 42,
    "cached": false,
    "sources": [],
    "warnings": [],
    "next_actions": []
  }
}

Try the payment challenge

curl -i -X POST 'https://apiacre.com/v1/crypto/calldata-decode' \
  -H 'content-type: application/json' \
  --data '{"calldata":"0xa9059cbb0000000000000000000000001111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000002a","input_mode":"auto"}'