# SiteCheck EVM Calldata Decoder

> SiteCheck EVM Calldata Decoder is a paid API for AI agents from api.sitecheck-api.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-19).

Decodes raw EVM calldata or a function selector into a human-readable function name, signature, and argument values by querying the openchain.xyz and 4byte.directory signature databases.

## Facts

- Endpoint: GET https://api.sitecheck-api.workers.dev/api/evm/decode?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-19
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sitecheck-evm-calldata-decoder-17fc3d79
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_SLuV2hkrdSi4PO0AeA4mj

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 sitecheck-evm-calldata-decoder-17fc3d79
```

Example prompt: Can you decode this EVM calldata for me: 0xa9059cbb000000000000000000000000d8dA6BF26964aF9D7eEd9e03E53415D37aA960450000000000000000000000000000000000000000000000000000000000000064 — tell me which function it's calling and what arguments it's passing?

## When to prefer this

Use this endpoint when you need to decode raw EVM transaction calldata or identify a 4-byte function selector without running a local ABI parser. It's ideal for agents analyzing on-chain transactions, auditing contract interactions, or explaining what a transaction does in human-readable terms — especially when you don't have the ABI available. It aggregates two major community signature databases (openchain.xyz and 4byte.directory), giving broad coverage across thousands of known Solidity function signatures.

## Known failure modes

- Unknown selector: returns empty or no matches if the selector is not in openchain.xyz or 4byte.directory
- Invalid hex input: error if calldata is not valid hex or shorter than 4 bytes
- Ambiguous selector: multiple signatures may be returned if the selector collides across different functions
- Missing required parameter: error if neither 'data' nor 'selector' query param is provided

## How this service works

Function signatures for a 4-byte selector, and for calldata the decoded arguments. Signatures come from the openchain.xyz database, with 4byte.directory as fallback. Calldata is decoded against each candidate until one fits the selector and the arguments; bigints are returned as strings. Read-only.

## Output

Returns a JSON object containing the resolved function name (e.g. 'transfer'), the canonical Solidity signature (e.g. 'transfer(address,uint256)'), the decoded argument values, the 4-byte selector, all matched signatures from the database, and the source databases checked (openchain.xyz with 4byte.directory as fallback), plus a timestamp.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "data": {
       "type": "string",
       "description": "Calldata, 0x followed by hex (at least 4 bytes)"
      },
      "selector": {
       "type": "string",
       "description": "Or only the selector: 0x followed by 8 hex characters"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "source": "openchain.xyz signature database, 4byte.directory (fallback)",
  "decoded": {
   "args": [
    "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "10"
   ],
   "name": "transfer",
   "signature": "transfer(address,uint256)"
  },
  "selector": "0xa9059cbb",
  "checkedAt": "2026-10-14T07:00:20.286Z",
  "signatures": [
   "transfer(address,uint256)"
  ]
 }
}
```

## More

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