# EVM Calldata Decoder

> EVM Calldata Decoder is a paid API for AI agents from apiacre.com, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Decodes EVM transaction calldata into human-readable form using a supplied function signature.

## Facts

- Endpoint: POST https://apiacre.com/v1/crypto/calldata-decode
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-calldata-decoder-dab1bc3f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OLq6zL9pgHLdsAMJhVZgy

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability evm-calldata-decoder-dab1bc3f -d '<json body>'
```

Example prompt: Decode this EVM calldata for me — the raw hex is 0xa9059cbb000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9b0000000000000000000000000000000000000000000000000de0b6b3a7640000 and the function signature is transfer(address,uint256).

## When to prefer this

Choose this endpoint when you have raw EVM calldata hex and a known function signature and need to extract human-readable parameter values without setting up a local ABI decoder or Web3 library. Ideal for agents inspecting on-chain transactions, auditing contract calls, or building blockchain analytics pipelines where decoding is a single step in a larger workflow.

## Known failure modes

- Invalid or malformed calldata hex returns a parsing error
- Mismatched function signature causes decoding failure or garbage output
- Missing or incomplete function signature returns an error
- Calldata too short for the specified parameter types causes a decode error
- Unsupported ABI types may not decode correctly

## How this service works

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.

## Output

Returns the decoded function name along with each parameter's name, type, and decoded value extracted from the supplied calldata hex string using the provided function signature.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "calldata": {
   "type": "string"
  },
  "input_mode": {
   "enum": [
    "auto",
    "selector_and_arguments",
    "arguments_only"
   ],
   "type": "string"
  },
  "function_signature": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ]
  }
 }
}
```

## Response schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/evm-calldata-decoder-dab1bc3f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from apiacre.com](https://www.zero.xyz/host/apiacre.com/llms.txt)
