FabTally Decode

io.github.zvmzaretskyPublished by GitHub account zvmzaretskyv1.0.0Updated Oct 24, 2026

Decode EVM bytes to JSON: event-log decoder, calldata explainer, selector lookup, ABI fetch.

The publisher's own server: Tally

VerifiedStreamable HTTPWeb executableFinanceDeveloper Tools

Overview

AI-generated overview

Remote MCP server that decodes raw EVM data — event logs, calldata, selectors and contract ABIs — into readable JSON for six chains.

What you can do
  • Decode event logs from a transaction hash or a single log into event names, signatures and typed arguments
  • Decode contract function calldata into a resolved function signature and typed arguments
  • Resolve 4-byte function selectors and 32-byte event topic hashes to human-readable signatures
  • Fetch a contract's verified ABI and metadata, including proxy implementation resolution
When to use it
Useful when an assistant needs to explain what an on-chain transaction, event or function call actually did, or to look up a selector or contract ABI, without running its own node or RPC decoding stack.
Requirements
A remote endpoint at decode.fabtally.com (streamable HTTP) or the npm package fabtally-decode-mcp for local stdio use. No account or API key is needed to start, but every tool call is paid: either an x402 payment payload passed as x_payment (USDC on Base) or a prepaid X-FabTally-Key credit key. Optional FABTALLY_DECODE_BASE setting. Supported chains: ethereum, base, arbitrum, optimism, polygon, bsc.
Before you install
Every tool call costs money ($0.001–$0.003 per call) and settles via x402 in USDC on Base, so an assistant can spend funds without further confirmation; a call without payment returns a 402 challenge instead of a result. Payment payloads and credit keys are credentials and should be handled as secrets. The server is read-only and holds no private key, but decoded data and lookups are sent to a third-party service, and its output is not a security guarantee or financial advice.

Installation

In SourceWeft

  1. Open FabTally Decode in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.zvmzaretsky%2Fonchain-decode/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "fabtally-decode": {
      "type": "http",
      "url": "https://decode.fabtally.com/mcp"
    }
  }
}

README

FabTally Decode — MCP server

Developer on-chain decoding reads that turn raw EVM bytes into human-readable JSON — the capability buried inside $49-999/mo RPC plans. Fronts the Decode HTTP API at https://decode.fabtally.com. Holds no private key.

Tools (all paid; a call with no payment returns the decoded x402 402 challenge)

ToolPriceWhat it does
decode_log$0.003Flagship. Decode event LOGS to JSON. {chain, tx_hash} decodes every log in a tx, or {chain, address, topics[], data} a single log; optional abi. Returns event name + canonical signature + named/typed args — handling tuple/array/nested params, anonymous events, indexed vs non-indexed. Resolves ABI via Sourcify/Blockscout + 4byte when none is given.
decode_calldata$0.002Decode a function call. {chain, to?, data, abi?} → selector resolved to a function signature (provided ABI / verified source / 4byte.directory) + fully decoded typed arguments.
selector_lookup$0.001Resolve a 4-byte function selector (0x+8 hex) or a 32-byte event topic (0x+64 hex) to human signature(s) via 4byte.directory + openchain.xyz, with a verified flag.
abi_fetch$0.002Fetch a contract's verified ABI + metadata (Sourcify/Blockscout) + verification status + full proxy-implementation resolution (EIP-1967/1822/OZ-legacy/beacon) — returns the implementation ABI for proxies. Args: address, chain.

Chains: ethereum, base, arbitrum, optimism, polygon, bsc.

Every tool also accepts an optional x_payment (base64 x402 payload) that is forwarded as the X-PAYMENT header to settle the call and return the real result. Humans can instead prepay by card and use an X-FabTally-Key credit key against the HTTP API.

Transports

  • stdio (portable): npx fabtally-decode-mcp (bin: fabtally-decode-mcp)
  • streamable-http (hosted): https://decode.fabtally.com/mcp

Config: FABTALLY_DECODE_BASE (default https://decode.fabtally.com).

Read-only, keyless, stateless, descriptive. Operated by Sunstone Soft (fabtally.com). Not a security guarantee or financial advice.

Source: README.md at commit cb87b52

Tools

4

decode_log

Decode event logs to typed JSON (paid $0.003)

PAID $0.003 (x402, USDC on Base). FLAGSHIP: decode EVM event LOGS to human-readable JSON. Give {chain, tx_hash} to decode every log in a transaction, OR {chain, address, topics[], data} for a single log; optional {abi}. Returns each event's name, canonical signature and named/typed args — correctly handling tuple/array/nested params, anonymous events, and indexed vs non-indexed. Resolves the ABI via Sourcify/Blockscout + 4byte event signatures when none is supplied. Without payment returns the x402 challenge; pass x_payment to settle.

Parametersabidatachainrequiredtopicsaddresstx_hashx_payment

decode_calldata

Decode a function call's calldata (paid $0.002)

PAID $0.002 (x402, USDC on Base). Decode a contract function call. Give {chain, to?, data, abi?}; get the 4-byte selector resolved to a function signature (via provided ABI, the verified contract source, or 4byte.directory) plus fully decoded, typed arguments (tuples/arrays/nested included). Without payment returns the x402 challenge.

Parameterstoabidatarequiredchainrequiredx_payment

selector_lookup

Resolve a selector or event topic to a signature (paid $0.001)

PAID $0.001 (x402, USDC on Base). Resolve a 4-byte function selector (0x + 8 hex) OR a 32-byte event topic hash (0x + 64 hex) to its human-readable signature(s) via 4byte.directory + openchain.xyz. Returns all matches (selectors can collide) with a verified flag. Without payment returns the x402 challenge; pass x_payment to settle.

Parametersselectorrequiredx_payment

abi_fetch

Fetch a contract's verified ABI + proxy resolution (paid $0.002)

PAID $0.002 (x402, USDC on Base). Fetch the verified ABI + metadata for a contract. Give {address, chain}; get the ABI JSON, verification status/source (Sourcify or Blockscout), the callable function/event signatures, and full proxy-implementation resolution (EIP-1967/1822/OZ-legacy/beacon) — returning the implementation's ABI when it's a proxy. Without payment returns the x402 challenge; pass x_payment to settle.

Parameterschainrequiredaddressrequiredx_payment

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Tally integrations