# EVM Calldata & Return Data Decoder

> EVM Calldata & Return Data Decoder is a paid API for AI agents from api.vextorium.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-16).

Decodes EVM transaction input (calldata) into a human-readable function signature and arguments, or decodes return data given output types, using 4byte.directory as fallback for unknown selectors.

## Facts

- Endpoint: POST https://api.vextorium.com/abi-decodificar-pago?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-calldata-return-data-decoder-4243d382
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_amEZ-ZJ2lToQY1kw-D2hW

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-return-data-decoder-4243d382 -d '<json body>'
```

Example prompt: Decode this EVM calldata for me: 0xa9059cbb0000000000000000000000007e5f4552091a69125d5dfcb7b8c2659029395bdf0000000000000000000000000000000000000000000000000000000000000001 — use the function signature transfer(address,uint256) to decode the arguments.

## When to prefer this

Use this endpoint when you need to decode EVM transaction input (calldata) or return data into human-readable arguments without running a full node or maintaining a local ABI database. Especially useful when the function signature is unknown and 4byte.directory lookup is needed. Prefer over manual ABI decoding or ethers.js when operating in a serverless or agent context that calls external APIs.

## Known failure modes

- Unknown selector not found on 4byte.directory — returns null signature
- Malformed calldata hex causes decoding failure
- Wrong function signature provided causes ABI mismatch error
- Output types mismatch actual return data length
- Missing required 'datos' field returns validation error

## How this service works

Decode EVM calldata (transaction input) with the function signature or, if omitted, by looking up the selector on 4byte; or decode return data with its output types (e.g. uint256,address).

## Output

Returns the decoded function name (e.g. 'transfer(address,uint256)'), the 4-byte selector (e.g. '0xa9059cbb'), a list of decoded argument values as strings, and the source of the signature (e.g. '4byte.directory' or 'provided').

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "datos": {
   "type": "string"
  },
  "funcion": {
   "type": "string"
  },
  "tipos_salida": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "funcion": "transfer(address,uint256)",
  "selector": "0xa9059cbb",
  "argumentos": [
   "0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf",
   "1000000"
  ],
  "fuente_firma": "4byte.directory"
 }
}
```

## More

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