Alpaca Trading API integration for Model Context Protocol (MCP)
Agent Data Tools: Chain data is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
353 tools: balances, blocks, gas, txs and logs on 5 EVM chains, plus Bitcoin. 25 free calls.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http agent-data-tools-chain-data-mcp https://agent-data-tools.revmesh2074.workers.dev/mcp/chain
# 2 — ask your agent for something these tools do
# wallet, btc_fees, btc_address and 61 more
Agent Data Tools: Chain data costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http agent-data-tools-chain-data-mcp https://agent-data-tools.revmesh2074.workers.dev/mcp/chainReconnect, or start a new session, and the tools appear in the model’s tool list.
Nothing is required, but it can take Authorization header (Optional. 'Bearer adt_...' API key from https://agent-data-tools.revmesh2074.workers.dev/credits to pay by card. Leave empty to pay each call with x402 (USDC).) if you want to set it.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
64 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Base only (all 5 chains: wallet_balances; USD values: wallet_portfolio). An address on Base: ETH and major token balances (USDC, WETH, cbBTC, DAI, USDbC, cbETH, AERO, EURC) plus up to 20 token addresses you pass, the account nonce, and whether it is an EOA, a contract or an EIP-7702 account. The nonce counts outgoing transactions only; not transfer or trading history. Use to check a counterparty's
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Wallet or contract address on Base (0x...) |
| tokens | string | no | Optional comma-separated extra ERC-20 addresses to check (max 20) |
Current Bitcoin network fee rates in sat/vB for next-block, half-hour, one-hour and economy confirmation, the estimated cost in sats of a typical payment, mempool size and total pending fees, and the latest block height. Use before sending a Bitcoin transaction or to decide whether to wait for lower fees. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. R
| Parameter | Type | Required | Notes |
|---|---|---|---|
| only | string | no | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
Balance and activity of any Bitcoin mainnet address (legacy, P2SH or bech32): confirmed balance in sats and BTC, unconfirmed pending amount, total received and sent, and transaction counts. Use for payment verification, checking whether a deposit arrived, and wallet monitoring. Example: address=bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh. Price $0.003/call via x402 USDC or a card key (/credits), fi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | Bitcoin mainnet address (1..., 3... or bc1...) |
Decode a BOLT11 Lightning Network invoice without paying it: network, amount in sats and BTC, description, payment hash, creation time, expiry time and whether it has already expired. Use to check what an invoice asks for before an agent pays it. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is char
| Parameter | Type | Required | Notes |
|---|---|---|---|
| invoice | string | yes | BOLT11 invoice string starting with ln (lnbc... for mainnet) |
Live gas prices on Base (chain 8453) read from the latest block: base fee and priority fee in gwei, suggested maxFeePerGas and maxPriorityFeePerGas in wei for an EIP-1559 transaction, how full the latest block is, and the estimated execution fee in ETH for an ETH transfer and an ERC-20 transfer. Use before sending a transaction on Base or to decide whether to wait for lower fees. Price $0.002/call
| Parameter | Type | Required | Notes |
|---|---|---|---|
| only | string | no | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
Look up any transaction on Base by hash: whether it succeeded, reverted or is still pending, sender and receiver, ETH value, called method id, block number and time, number of confirmations, gas used, gas price and the execution fee paid, and whether it created a contract. Use to confirm that a payment or contract call went through before acting on it. Example: hash=0x7d108fa131ed949c76d50caf2e7df
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hash | string | yes | Transaction hash on Base: 0x followed by 64 hex characters |
Check how much of a wallet's ERC-20 token a spender contract is approved to move on Base: the raw and formatted allowance, the token symbol and decimals, and whether the approval is unlimited. Use before a swap or deposit to see if an approve transaction is needed, and to audit a wallet for risky unlimited approvals. Price $0.002/call via x402 USDC or a card key (/credits), first 25 free; failed c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | ERC-20 token contract address on Base (0x...) |
| owner | string | yes | Wallet address that holds the token (0x...) |
| spender | string | yes | Address allowed to spend, usually a router or protocol contract (0x...) |
Resolve an Ethereum Name Service name such as vitalik.eth to its wallet address and avatar, or look up the primary ENS name of an address (reverse resolution). Read live from Ethereum mainnet. Use to turn a human-readable name into a payable address, or to show a readable name for a counterparty address. Example: name=vitalik.eth. Price $0.003/call via x402 USDC or a card key (/credits), first 25
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | An ENS name such as vitalik.eth, or an address (0x...) for reverse lookup |
Native ETH balance (eth_getBalance) of any 0x wallet address on Base at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use base_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x wallet or contract address |
ERC-20 token balance of a wallet on Base (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use base_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both unc
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address |
| address | string | yes | 0x wallet address |
Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Base, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use base_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0x833589fCD6eDb6E08f4c7C
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
Latest block number and block details on Base, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use base_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed
| Parameter | Type | Required | Notes |
|---|---|---|---|
| number | string | no | Block number, or 'latest' (default) |
Transaction receipt on Base (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use base_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x7d108fa131ed949c76d50caf2e7dfe25fc
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hash | string | yes | 0x-prefixed transaction hash (64 hex characters) |
Read the transaction count (nonce) of a 0x address on Base, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use base_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/credi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x address |
Check whether a 0x address on Base is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Price $0.003/ca
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x address |
Recent contract event logs on Base (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use base_receipt. Example: address=0x833589fCD6eDb6E08f4c7C32D4f71b5
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x contract address |
| blocks | integer | no | How many recent blocks to scan (1-1000, default 50) |
| topic0 | string | no | Optional 0x event signature hash to filter by |
List a wallet's recent transfers of one ERC-20 token (default USDC) on Base, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use base_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF26964a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x wallet address |
| token | string | no | Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network) |
| blocks | integer | no | How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Base) |
Native ETH balance (eth_getBalance) of any 0x wallet address on Ethereum at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use eth_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 U
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x wallet or contract address |
ERC-20 token balance of a wallet on Ethereum (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use eth_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address |
| address | string | yes | 0x wallet address |
Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Ethereum, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use eth_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0xA0b86991c6218b36c1d
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
Latest block number and block details on Ethereum, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use eth_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; fai
| Parameter | Type | Required | Notes |
|---|---|---|---|
| number | string | no | Block number, or 'latest' (default) |
Current gas price on Ethereum (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use eth_receipt. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Read
| Parameter | Type | Required | Notes |
|---|---|---|---|
| only | string | no | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
Look up a Ethereum transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use eth_receipt, for emitted events eth_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0x9531467e03a57bbb5cd080439ac3b10c0cefed14728
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hash | string | yes | 0x-prefixed transaction hash (64 hex characters) |
Transaction receipt on Ethereum (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use eth_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x9531467e03a57bbb5cd080439ac3b10
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hash | string | yes | 0x-prefixed transaction hash (64 hex characters) |
Read the transaction count (nonce) of a 0x address on Ethereum, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use eth_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/cr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x address |
Check whether a 0x address on Ethereum is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Price $0.00
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x address |
Recent contract event logs on Ethereum (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use eth_receipt. Example: address=0xA0b86991c6218b36c1d19D4a2e9E
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x contract address |
| blocks | integer | no | How many recent blocks to scan (1-1000, default 50) |
| topic0 | string | no | Optional 0x event signature hash to filter by |
List a wallet's recent transfers of one ERC-20 token (default USDC) on Ethereum, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use eth_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF269
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x wallet address |
| token | string | no | Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network) |
| blocks | integer | no | How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 6.7 hours on Ethereum) |
Native ETH balance (eth_getBalance) of any 0x wallet address on Arbitrum One at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use arb_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x4
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x wallet or contract address |
ERC-20 token balance of a wallet on Arbitrum One (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use arb_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, b
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address |
| address | string | yes | 0x wallet address |
Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Arbitrum One, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use arb_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0xaf88d065e77c8cC
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
Latest block number and block details on Arbitrum One, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use arb_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free;
| Parameter | Type | Required | Notes |
|---|---|---|---|
| number | string | no | Block number, or 'latest' (default) |
Current gas price on Arbitrum One (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use arb_receipt. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| only | string | no | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
Look up a Arbitrum One transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use arb_receipt, for emitted events arb_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0xf03682db039f7b1b72ddf4d17572738f142cf63
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hash | string | yes | 0x-prefixed transaction hash (64 hex characters) |
Transaction receipt on Arbitrum One (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use arb_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0xf03682db039f7b1b72ddf4d1757
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hash | string | yes | 0x-prefixed transaction hash (64 hex characters) |
Read the transaction count (nonce) of a 0x address on Arbitrum One, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use arb_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x address |
Check whether a 0x address on Arbitrum One is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0xaf88d065e77c8cC2239327C5EDb3A432268e5831. Price $
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x address |
Recent contract event logs on Arbitrum One (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use arb_receipt. Example: address=0xaf88d065e77c8cC2239327C5
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x contract address |
| blocks | integer | no | How many recent blocks to scan (1-1000, default 50) |
| topic0 | string | no | Optional 0x event signature hash to filter by |
List a wallet's recent transfers of one ERC-20 token (default USDC) on Arbitrum One, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use arb_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6B
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x wallet address |
| token | string | no | Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network) |
| blocks | integer | no | How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 8 minutes on Arbitrum One) |
Native ETH balance (eth_getBalance) of any 0x wallet address on Optimism at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use op_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 US
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x wallet or contract address |
ERC-20 token balance of a wallet on Optimism (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use op_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422, both u
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address |
| address | string | yes | 0x wallet address |
Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Optimism, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use op_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0x0b2C639c533813f4Aa9D
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
Latest block number and block details on Optimism, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use op_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; fail
| Parameter | Type | Required | Notes |
|---|---|---|---|
| number | string | no | Block number, or 'latest' (default) |
Current gas price on Optimism (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain ETH transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use op_receipt. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads
| Parameter | Type | Required | Notes |
|---|---|---|---|
| only | string | no | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
Look up a Optimism transaction by hash: sender, recipient, value in ETH, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use op_receipt, for emitted events op_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0x721f3e9a996da49e2a8929bd2dd42e0f51344c11d7ca7
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hash | string | yes | 0x-prefixed transaction hash (64 hex characters) |
Transaction receipt on Optimism (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in ETH, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use op_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x721f3e9a996da49e2a8929bd2dd42e0f
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hash | string | yes | 0x-prefixed transaction hash (64 hex characters) |
Read the transaction count (nonce) of a 0x address on Optimism, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use op_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card key (/cre
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x address |
Check whether a 0x address on Optimism is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Price $0.00
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x address |
Recent contract event logs on Optimism (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use op_receipt. Example: address=0x0b2C639c533813f4Aa9D7837CAf62
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x contract address |
| blocks | integer | no | How many recent blocks to scan (1-1000, default 50) |
| topic0 | string | no | Optional 0x event signature hash to filter by |
List a wallet's recent transfers of one ERC-20 token (default USDC) on Optimism, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use op_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8dA6BF2696
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x wallet address |
| token | string | no | Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network) |
| blocks | integer | no | How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Optimism) |
Native POL balance (eth_getBalance) of any 0x wallet address on Polygon PoS at the latest block, in wei and in POL. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use polygon_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x wallet or contract address |
ERC-20 token balance of a wallet on Polygon PoS (USDC, USDT, WETH or any token, via balanceOf): raw amount, decimals, symbol and the human-readable amount, live from the token contract. Use to check stablecoin or token holdings before a transfer or trade; for the native coin use polygon_balance. Both inputs are 0x addresses (40 hex characters); no contract returns 404 and a non-ERC-20 contract 422
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | Token: a ticker such as USDC, USDT, WETH or DAI, or the 0x ERC-20 contract address |
| address | string | yes | 0x wallet address |
Look up the name, symbol, decimals and total supply of an ERC-20 token contract on Polygon PoS, live from the contract. Use to identify an unknown token address or to format raw amounts; for a holder's balance use polygon_token_balance. Input is a ticker (USDC, WETH…) or the token's 0x contract address; an address that is not an ERC-20 contract returns 422, uncharged. Example: token=0x3c499c542cEF
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address |
Latest block number and block details on Polygon PoS, or any block by decimal number: hash, timestamp, transaction count, gas used and limit, base fee in gwei and producer. Use for timestamps and confirmation counts; for current fees use polygon_gas. A block that does not exist yet returns 404, uncharged. Example: number=latest. Price $0.003/call via x402 USDC or a card key (/credits), first 25 fr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| number | string | no | Block number, or 'latest' (default) |
Current gas price on Polygon PoS (eth_gasPrice): gas price, base fee and suggested priority fee in gwei, plus what a plain POL transfer (21,000 gas) costs right now. Takes no input. Use before sending a transaction or to decide whether to wait; for the fee a past transaction actually paid use polygon_receipt. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls fre
| Parameter | Type | Required | Notes |
|---|---|---|---|
| only | string | no | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
Look up a Polygon PoS transaction by hash: sender, recipient, value in POL, nonce, gas limit, the 4-byte function selector and its block. Use to see what was sent or whether it exists; for success or failure and fees paid use polygon_receipt, for emitted events polygon_logs. Input is a 0x-prefixed 64-hex hash; an unknown hash returns 404, uncharged. Example: hash=0x23e86c30c46638b2e9798692fe89327a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hash | string | yes | 0x-prefixed transaction hash (64 hex characters) |
Transaction receipt on Polygon PoS (eth_getTransactionReceipt): success or reverted, gas used, effective gas price, fee paid in POL, number of event logs and any contract created. Use to confirm a payment or call went through; for sender, value and calldata use polygon_tx. Input is a 0x-prefixed 64-hex hash; a pending or unknown hash returns 404, uncharged. Example: hash=0x23e86c30c46638b2e9798692
| Parameter | Type | Required | Notes |
|---|---|---|---|
| hash | string | yes | 0x-prefixed transaction hash (64 hex characters) |
Read the transaction count (nonce) of a 0x address on Polygon PoS, both confirmed and including pending transactions. Use to build the next transaction or to tell whether an address has ever sent anything; for its balance use polygon_balance. A malformed address is rejected with 400, uncharged. Example: address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Price $0.003/call via x402 USDC or a card k
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x address |
Check whether a 0x address on Polygon PoS is a smart contract or a plain wallet: bytecode size, and whether it is an EIP-1167 minimal proxy and which implementation it points to. Use before sending funds or approving a spender; for a fuller risk verdict use check_counterparty. A malformed address is rejected with 400, uncharged. Example: address=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Price $0
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x address |
Recent contract event logs on Polygon PoS (eth_getLogs): the events a contract emitted over the last N blocks (1-1,000, default 50), optionally filtered by topic0 (the 0x 32-byte event signature hash). Returns up to 100 logs with block, transaction hash and topics. Use to watch transfers or contract events; for one transaction's outcome use polygon_receipt. Example: address=0x3c499c542cEF5E3811e11
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x contract address |
| blocks | integer | no | How many recent blocks to scan (1-1000, default 50) |
| topic0 | string | no | Optional 0x event signature hash to filter by |
List a wallet's recent transfers of one ERC-20 token (default USDC) on Polygon PoS, in and out, over the last N blocks (1-2,000, default 1,000): direction, counterparty, amount and transaction, newest first, up to 50. Use to confirm a payment arrived or see what was sent; for the current balance use polygon_token_balance. Malformed addresses are rejected with 400, uncharged. Example: address=0xd8d
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x wallet address |
| token | string | no | Token: a ticker such as USDT or WETH, or the 0x ERC-20 contract (default: USDC on this network) |
| blocks | integer | no | How many recent blocks to scan (1-2000, default 1000; 2,000 blocks is about 67 minutes on Polygon PoS) |
Read a wallet's native coin and USDC balances on Base, Ethereum, Arbitrum, Optimism and Polygon in one call, live from each network, plus the USDC total. Use to find where a wallet's funds are before a payment or bridge; for one token on one network use <chain>_token_balance, for all tokens on Base use wallet_portfolio. A network whose nodes do not answer is listed with an error instead of failing
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x wallet address |
Keccak-256 hash (the Ethereum hash) of text or of 0x hex bytes, as used for function selectors, event topics and storage slots. Use when building or decoding EVM calls. Example: text=transfer(address,uint256). Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | string | yes | Text, or 0x-prefixed hex bytes, up to 10,000 characters |
Reference facts for paying and reading on Base mainnet: chain id, native USDC contract and decimals, block explorer and public RPC URLs, and the x402 network identifier. Use to configure an x402 or Base client. Price $0.003/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| only | string | no | Optional: comma-separated top-level result keys to keep, for a smaller answer (for example only=price,symbol); unknown keys are ignored and an empty match returns the full result |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Agent Data Tools: Chain data or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | minimal | capability blast radius (minimal) — client exposure if the model is manipulated | −0 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. minimal is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| wallet | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| btc_fees | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| btc_address | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| ln_invoice | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_gas | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_tx | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_allowance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| ens | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_balance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_token_balance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_token_info | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_block | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_receipt | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_nonce | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_is_contract | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_logs | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| base_token_transfers | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eth_balance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eth_token_balance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eth_token_info | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eth_block | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eth_gas | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eth_tx | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eth_receipt | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eth_nonce | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eth_is_contract | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eth_logs | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| eth_token_transfers | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| arb_balance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| arb_token_balance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| arb_token_info | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| arb_block | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| arb_gas | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| arb_tx | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| arb_receipt | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| arb_nonce | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| arb_is_contract | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| arb_logs | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| arb_token_transfers | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| op_balance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| op_token_balance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| op_token_info | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| op_block | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| op_gas | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| op_tx | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| op_receipt | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| op_nonce | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| op_is_contract | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| op_logs | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| op_token_transfers | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| polygon_balance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| polygon_token_balance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| polygon_token_info | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| polygon_block | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| polygon_gas | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| polygon_tx | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| polygon_receipt | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| polygon_nonce | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| polygon_is_contract | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| polygon_logs | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| polygon_token_transfers | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| wallet_balances | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| keccak | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| network | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.82.18.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Agent Data Tools: Chain data can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.