FabTally Decode · read-only · stateless · descriptive

Raw EVM bytes in.
Human-readable JSON out.

The decoding reads buried inside $49-999/mo RPC plans, sold per call. Paste a tx hash and read every event log as named typed args; drop in calldata and see the function + arguments; resolve a 4-byte selector or event topic to its signature; fetch a contract's verified ABI with proxy resolution. No ABI required — it resolves via Sourcify/Blockscout + 4byte.directory. Tuples, arrays, nested params, anonymous and indexed events all handled. Read-only, keyless, nothing stored. Paid per call in USDC on Base via x402 or a prepaid credit key. Also a standalone MCP server.

Paid per call — $0.001 to $0.003.
Agents pay per call in USDC on Base via x402 (no account — an unpaid call returns a signed 402 challenge to pay-and-retry). Humans can prepay by card and send an X-FabTally-Key: fabt_… header instead. Bad input → 400, never charged. Every decoder has a rate-limited free teaser (this page uses them).
Buy prepaid credits →

The four decoders

Chains: ethereum · base · arbitrum · optimism · polygon · bsc

Use it from an agent

HTTP (x402) — POST any decoder as JSON: curl -XPOST https://decode.fabtally.com/v1/decode-calldata \ -d '{"chain":"ethereum","data":"0xa9059cbb…"}' → 402 with a signed x402 challenge; pay in USDC on Base and retry with the X-PAYMENT header. Prepaid credit — add X-FabTally-Key: fabt_… to charge a card-funded balance instead. MCP server — streamable-http: https://decode.fabtally.com/mcp · also stdio (npm: fabtally-decode-mcp). 4 tools (decode_log, decode_calldata, selector_lookup, abi_fetch); paid tools relay the x402 challenge to pay-and-retry. Discovery/agent/overview · /openapi.json · /.well-known/x402