FabTally Decode
Decode EVM bytes to JSON: event-log decoder, calldata explainer, selector lookup, ABI fetch.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"onchain-decode": {
"url": "https://decode.fabtally.com/mcp"
}
}
}Remote-Endpunkte
https://decode.fabtally.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (4)
⚪decode_log(chain, tx_hash, address, topics, data, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"enum": [
"ethereum",
"base",
"arbitrum",
"optimism",
"polygon",
"bsc"
],
"description": "EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc."
},
"tx_hash": {
"type": "string",
"description": "Transaction hash (0x + 64 hex) — decodes every event log in the tx."
},
"address": {
"type": "string",
"description": "Contract address of a single log (used with topics + data)."
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"description": "Log topics array (topic0 is the event signature hash for non-anonymous events)."
},
"data": {
"type": "string",
"description": "Log data field (0x hex) holding the non-indexed args."
},
"abi": {
"anyOf": [
{
"type": "array"
},
{
"type": "string"
}
],
"description": "Optional contract ABI (JSON array or JSON string). If omitted, the ABI is resolved from the verified source (Sourcify/Blockscout) or 4byte.directory."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"required": [
"chain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢decode_calldata(chain, to, data, abi, x_payment)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"enum": [
"ethereum",
"base",
"arbitrum",
"optimism",
"polygon",
"bsc"
],
"description": "EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc."
},
"to": {
"type": "string",
"description": "Contract address the call targets (optional; enables verified-ABI resolution)."
},
"data": {
"type": "string",
"description": "Calldata (0x hex, at least the 4-byte selector)."
},
"abi": {
"anyOf": [
{
"type": "array"
},
{
"type": "string"
}
],
"description": "Optional contract ABI (JSON array or JSON string). If omitted, the ABI is resolved from the verified source (Sourcify/Blockscout) or 4byte.directory."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"required": [
"chain",
"data"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪selector_lookup(selector, x_payment)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"selector": {
"type": "string",
"description": "A 4-byte function selector (0x + 8 hex) or a 32-byte event topic hash (0x + 64 hex)."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"required": [
"selector"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢abi_fetch(chain, address, x_payment)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"enum": [
"ethereum",
"base",
"arbitrum",
"optimism",
"polygon",
"bsc"
],
"description": "EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc."
},
"address": {
"type": "string",
"description": "Contract address (0x + 40 hex)."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"required": [
"chain",
"address"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis