Decode EVM bytes to JSON: event-log decoder, calldata explainer, selector lookup, ABI fetch.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc.
Contract address (0x + 40 hex).
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.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| chain* | string | EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc. |
| address* | string | Contract address (0x + 40 hex). |
| x_payment | string | 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chain",
"address"
],
"properties": {
"chain": {
"enum": [
"ethereum",
"base",
"arbitrum",
"optimism",
"polygon",
"bsc"
],
"type": "string",
"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."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| to | string | Contract address the call targets (optional; enables verified-ABI resolution). |
| abi | any | Optional contract ABI (JSON array or JSON string). If omitted, the ABI is resolved from the verified source (Sourcify/Blockscout) or 4byte.directory. |
| data* | string | Calldata (0x hex, at least the 4-byte selector). |
| chain* | string | EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc. |
| x_payment | string | 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chain",
"data"
],
"properties": {
"to": {
"type": "string",
"description": "Contract address the call targets (optional; enables verified-ABI resolution)."
},
"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."
},
"data": {
"type": "string",
"description": "Calldata (0x hex, at least the 4-byte selector)."
},
"chain": {
"enum": [
"ethereum",
"base",
"arbitrum",
"optimism",
"polygon",
"bsc"
],
"type": "string",
"description": "EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc."
},
"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."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| abi | any | Optional contract ABI (JSON array or JSON string). If omitted, the ABI is resolved from the verified source (Sourcify/Blockscout) or 4byte.directory. |
| data | string | Log data field (0x hex) holding the non-indexed args. |
| chain* | string | EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc. |
| topics | array | Log topics array (topic0 is the event signature hash for non-anonymous events). |
| address | string | Contract address of a single log (used with topics + data). |
| tx_hash | string | Transaction hash (0x + 64 hex) — decodes every event log in the tx. |
| x_payment | string | 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. |
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.
| Argument | Type | Description |
|---|---|---|
| selector* | string | A 4-byte function selector (0x + 8 hex) or a 32-byte event topic hash (0x + 64 hex). |
| x_payment | string | 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. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"selector"
],
"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."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chain"
],
"properties": {
"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."
},
"data": {
"type": "string",
"description": "Log data field (0x hex) holding the non-indexed args."
},
"chain": {
"enum": [
"ethereum",
"base",
"arbitrum",
"optimism",
"polygon",
"bsc"
],
"type": "string",
"description": "EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc."
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"description": "Log topics array (topic0 is the event signature hash for non-anonymous events)."
},
"address": {
"type": "string",
"description": "Contract address of a single log (used with topics + data)."
},
"tx_hash": {
"type": "string",
"description": "Transaction hash (0x + 64 hex) — decodes every event log in the tx."
},
"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."
}
},
"additionalProperties": false
}