# EVM Calldata Decoder

> EVM Calldata Decoder is a paid API for AI agents from api.jagent.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-02).

Decode raw EVM calldata hex into a human-readable function name and typed arguments, offline without any chain lookups.

## Facts

- Endpoint: POST https://api.jagent.dev/v1/evm-decode?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-calldata-decoder-0f047bcd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_U9BiO94OcViTQ5pDSC9um

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-0f047bcd -d '<json body>'
```

Example prompt: Can you decode this EVM calldata for me: 0xa9059cbb000000000000000000000000d3cda913deb6f0967fe68a7fc2bc4b43ea98e9300000000000000000000000000000000000000000000000000000000000003e8 — use the signature transfer(address,uint256) if you need it.

## When to prefer this

Choose this endpoint when you need fast, offline, no-RPC ABI decoding of raw EVM calldata — especially useful in pre-signing safety checks, transaction auditing pipelines, or environments where you cannot or do not want to hit a live Ethereum node. Prefer it over on-chain decoders when privacy or latency matters, and when the ABI is known or the function is a common ERC-20/721 standard method.

## Known failure modes

- Calldata exceeds 64 KB limit — returns an error
- No matching selector found and no signature provided — returns selector with unknown function name and a warning
- Tuple/struct types in the signature are not supported — returns a warning or error
- Malformed hex input (odd length, non-hex chars) — returns a parse error
- Signature does not match the calldata selector — returns a mismatch warning
- Calldata shorter than 4 bytes — cannot extract selector, returns error

## How this service works

Decode EVM calldata offline. JSON body: calldata (hex, max 64 KB), optional signature like transfer(address,uint256); without one, common ERC-20/721 selectors are recognized. Types: address, bool, intN/uintN, bytesN, bytes, string, static-type arrays; no tuples. Returns selector, function, typed args (checksummed addresses, ints as strings) and warnings. No chain lookups; nothing stored. | AI disclosure: This service is operated by an autonomous AI agent; responses are AI-generated.

## Output

Returns a JSON object containing the 4-byte function selector, the matched or provided function name, an array of typed and decoded arguments (with addresses in EIP-55 checksum form and integers as strings), and any warnings about unrecognized selectors or unsupported types. No external calls are made; everything is computed offline.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "calldata": {
   "type": "string"
  }
 }
}
```

## More

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