Etherscan
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Read-only Etherscan V2 blockchain data: balances, transactions, transfers, tokens, contracts, logs.
| Author | io.etherscan |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 254 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Etherscan": {
"url": "https://mcp-keyless.etherscan.io/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (17)
get_native_balanceread-onlyGet the native coin (e.g. ETH) balance of an address, in wei.
Parameters:
address(required) — string — Account address to query.tag— string — Block tag. Default latest.chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_transactionsread-onlyGet the list of normal (external) transactions for an address.
Parameters:
address(required) — string — Account address to query.page— integer — Page number (1-based). Default 1.sort— string — Sort order by block number. Default desc (newest first).offset— integer — Records per page (max 10000). Default 100.chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).endblock— integer — End block number.startblock— integer — Start block number.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_internal_transactionsread-onlyGet internal transactions for an address, or by a specific parent transaction hash.
Parameters:
page— integer — Page number (1-based). Default 1.sort— string — Sort order by block number. Default desc (newest first).offset— integer — Records per page (max 10000). Default 100.txhash— string — Parent transaction hash (omit if using address).address— string — Account address (omit if using txhash).chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).endblock— integer — End block number.startblock— integer — Start block number.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_token_transfersread-onlyGet token transfer events for an address, optionally filtered by token contract. Select the token standard: erc20 (fungible, default), erc721 (NFT), or erc1155 (multi-token).
Parameters:
page— integer — Page number (1-based). Default 1.sort— string — Sort order by block number. Default desc (newest first).offset— integer — Records per page (max 10000). Default 100.address— string — Account address.chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).endblock— integer — End block number.standard— string — Token standard: erc20 (default), erc721, or erc1155.startblock— integer — Start block number.contractaddress— string — Token contract address to filter by.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
resolve_ens_nameread-onlyResolve an ENS name (or onchain subdomain, e.g. etherscan.eth or gm.etherscan.eth) to its Ethereum address. Ethereum mainnet only. Offchain names that require CCIP Read / wildcard resolution (e.g. *.base.eth) are not supported.
Parameters:
name(required) — string — ENS name to resolve, e.g. 'etherscan.eth' or a subdomain like 'gm.etherscan.eth'.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_contract_sourceread-onlyGet the verified source code and metadata for a contract address.
Parameters:
address(required) — string — Contract address.chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_contract_abiread-onlyGet the verified ABI (JSON) for a contract address.
Parameters:
address(required) — string — Contract address.chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_contract_creationread-onlyGet the creator address and creation transaction hash for up to 5 contract addresses. The multi-kilobyte creation bytecode is omitted by default to keep responses small; set include_creation_bytecode=true to include it.
Parameters:
contractaddresses(required) — array — List of contract addresses (1-5).chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).include_creation_bytecode— boolean — Include the full contract creation bytecode (several KB per contract). Omitted by default.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_transaction_receipt_statusread-onlyGet the receipt status of a transaction (1 = success, 0 = failed). Post-Byzantium only.
Parameters:
txhash(required) — string — Transaction hash.chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_transaction_statusread-onlyGet the contract execution status of a transaction (detects failed/erroring executions).
Parameters:
txhash(required) — string — Transaction hash.chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_gas_oracleread-onlyGet current gas price recommendations (safe / propose / fast) from the gas tracker.
Parameters:
chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_block_by_timestampread-onlyGet the block number closest to a given Unix timestamp (seconds).
Parameters:
timestamp(required) — integer — Unix timestamp in seconds.chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).closest— string — Return closest block before or after. Default before.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_supported_chainsread-onlyGet the chains / chain IDs supported by the Etherscan V2 API. In the hosted (proxy) deployment this returns a bundled snapshot shipped with the server, refreshed when the package is updated; in direct/stdio mode it queries the live chain-list endpoint. A chain's absence from the returned list is not proof that it lacks live support.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_logsread-onlySearch event logs by contract address and/or topics over a block range. Topics are 32-byte hex values; topic0 is usually the keccak256 event-signature hash. Adjacent-topic operators (and/or) combine multiple topic filters. Provide 'address' and/or at least one topic.
Parameters:
page— integer — Page number (1-based).offset— integer — Records per page (max 1000).topic0— string — Topic 0 — usually the keccak256 event-signature hash.topic1— string — Topic 1 (first indexed argument).topic2— string — Topic 2 (second indexed argument).topic3— string — Topic 3 (third indexed argument).address— string — Contract address to filter by (optional if filtering by topics).chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).toblock— End block number, or "latest". Default latest.fromblock— Start block number, or "latest". Default 0.topic0_1_opr— string — Combine topic0 and topic1: and | or.topic1_2_opr— string — Combine topic1 and topic2: and | or.topic2_3_opr— string — Combine topic2 and topic3: and | or.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_transaction_by_hashread-onlyGet the full transaction object for a transaction hash (from, to, value, input data, gas, gas price, nonce, block number/hash, transaction index). Returns null if the hash is unknown.
Parameters:
txhash(required) — string — Transaction hash.chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_transaction_receiptread-onlyGet the transaction receipt for a transaction hash (execution status, gas used, cumulative gas used, effective gas price, logs, and the created contract address for deployments). Returns null if the hash is unknown or the transaction is still pending.
Parameters:
txhash(required) — string — Transaction hash.chainid— string — Numeric chain id (e.g. 1=Ethereum, 56=BNB, 137=Polygon). If omitted, defaults to Ethereum Mainnet (1).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
render_etherscan_widgetread-onlyPresent exact facts returned by Etherscan data tools in a fast explorer-style card. Call the relevant Etherscan data tool first and copy only supported values into this tool. Never invent scores, risk labels, historical prices, forecasts, or audit conclusions.
Parameters:
view(required) — string — The factual Etherscan result category to display.title(required) — stringchain— stringchart— objectitems— arrayfooter— stringmetrics— arraysections— arraysubtitle— stringexplorerUrl— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.