# OpenVerbs Chain EVM Calldata Decoder

> OpenVerbs Chain EVM Calldata Decoder is a paid API for AI agents from chain.openverbs.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-13).

Decodes a 4-byte function selector or full EVM calldata into a human-readable function signature and decoded argument values, using a supplied ABI or public signature registries as fallback.

## Facts

- Endpoint: POST https://chain.openverbs.com/v1/decode
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/openverbs-chain-evm-calldata-decoder-4af82f31
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0v3ESarYbi9zelhuW7Dlp

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 openverbs-chain-evm-calldata-decoder-4af82f31 -d '<json body>'
```

Example prompt: What function is being called in this Ethereum transaction input — can you decode the calldata 0xa9059cbb000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9000000000000000000000000000000000000000000000000016345785d8a0000 and tell me the function name and argument values?

## When to prefer this

Use this endpoint when you need to interpret raw EVM transaction input data — either for debugging, auditing, or displaying human-readable transaction details. Prefer this over manual ABI lookups when you don't have an ABI handy and want automatic registry fallback, or when you have an ABI and want deterministic offline decoding. Ideal for blockchain explorers, transaction monitoring agents, smart contract auditing tools, and wallet UIs that need to label transaction actions.

## Known failure modes

- Unknown selector not found in any public registry returns an error or empty result
- Malformed calldata hex (odd length, non-hex characters) returns a validation error
- ABI mismatch: provided ABI signatures don't match the selector, causing decode failure
- Calldata too short (missing arguments) causes argument decoding to fail
- Network or registry lookup timeout if public registry is unavailable

## How this service works

Turn a 4-byte function selector or full calldata into its human-readable function signature, and (when calldata is present) the decoded argument values. Supply an `abi` for a fully deterministic offline decode, or omit it to look the selector up in public signature registries. Reads with automatic fallback.

## Output

Returns the resolved human-readable function signature (e.g. 'transfer(address,uint256)'), the function name, parameter types, and — when full calldata is provided — the decoded argument values mapped to their parameter names and types. If no ABI is supplied, the selector is looked up in public signature registries with automatic fallback.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "properties": {
  "input": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "type": "string",
     "enum": [
      "POST"
     ]
    },
    "bodyType": {
     "type": "string",
     "enum": [
      "json",
      "form-data",
      "text"
     ]
    },
    "body": {
     "type": "object",
     "properties": {
      "data": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]*$",
       "description": "Full calldata hex (selector + arguments)."
      },
      "selector": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{8}$",
       "description": "4-byte function selector, e.g. 0xa9059cbb."
      },
      "abi": {
       "type": [
        "array",
        "string"
       ],
       "items": {
        "type": "string"
       },
       "description": "Optional human-readable signatures, e.g. [\"function transfer(address,uint256)\"], for an exact offline decode."
      }
     },
     "required": [],
     "additionalProperties": false
    }
   },
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "additionalProperties": false
  }
 },
 "required": [
  "input"
 ]
}
```

## More

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