计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
rpc【效率与协作】Use when the user needs raw blockchain JSON-RPC access — contract reads (eth_call), native balances, blocks, transactions, logs, gas estimates, or any chain-native RPC method across 40 chains. One endpoint per chain via BlockRun's Tatum-backed gateway, $0.0030 per call, no node, no API key. Prefer blockrun_price / blockrun_dex / the paid tools when t…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: rpc description: Use when the user needs raw blockchain JSON-RPC access — contract reads (eth_call), native balances, blocks, transactions, logs, gas estimates, or any chain-native RPC method across 40 chains. One endpoint per chain via BlockRun's Tatum-backed gateway, $0.0030 per call, no node, no API key. Prefer blockrun_price / blockrun_dex / the paid tools when they already cover the question. triggers:
blockrun_rpc POSTs a standard JSON-RPC 2.0 body to /v1/rpc/{network}. Flat $0.0030 per call ($0.002 base + the $0.001 transaction fee). A JSON-RPC batch array charges per element but pays the flat fee only once — $0.002 × n + $0.001, so a batch of 3 costs $0.0070 where three separate calls cost $0.0090. Batch whenever you can. Settlement in USDC via x402. Responses are cached briefly server-side for identical read calls (X-Cache: HIT is free of upstream latency but still billed).
| Question | Tool |
|---|---|
| "What's ETH trading at?" | blockrun_price (free) |
| "PEPE/WETH pool liquidity?" | blockrun_dex (free) |
| "What's this wallet holding?" | blockrun_rpc (labels: no tool since Surf was retired 2026-09-06) |
"Call balanceOf(0x...) on this ERC-20" | blockrun_rpc |
| "Latest block / tx receipt / event logs / gas price" | blockrun_rpc |
| "Solana account info / slot / signatures" | blockrun_rpc |
EVM (use eth_* methods):
| Key | Chain | Key | Chain | |
|---|---|---|---|---|
ethereum | Ethereum | zksync | zkSync Era | |
base | Base | berachain | Berachain | |
arbitrum | Arbitrum One | unichain | Unichain | |
arbitrum-nova | Arbitrum Nova | monad | Monad | |
optimism | Optimism | chiliz | Chiliz | |
polygon | Polygon | moonbeam | Moonbeam | |
bsc | BNB Smart Chain | aurora | Aurora | |
avalanche | Avalanche C-Chain | flare | Flare | |
fantom | Fantom | oasis | Oasis Sapphire | |
cronos | Cronos | kaia | Kaia (Klaytn) | |
celo | Celo | sonic | Sonic | |
gnosis | Gnosis | xdc | XDC Network | |
abstract | Abstract | hyperevm | HyperEVM | |
plume | Plume | ronin | Ronin | |
rootstock | Rootstock (RSK) |
Non-EVM (chain-native methods):
| Key | Chain | Method family |
|---|---|---|
solana | Solana | getSlot, getBalance, getAccountInfo, getSignaturesForAddress |
bitcoin | Bitcoin | getblockchaininfo, getblockcount, getrawtransaction |
litecoin / dogecoin / bitcoin-cash / zcash | UTXO chains | Bitcoin-style RPC |
near | NEAR | status, query |
sui | Sui | sui_getLatestCheckpointSequenceNumber, suix_getBalance |
ripple | XRP Ledger | account_info, ledger |
polkadot / kusama | Substrate | chain_getHeader, state_getStorage |
Unknown-but-wellformed slugs pass through to the Tatum gateway untouched — newly added chains work without an MCP update. A bad slug returns HTTP 400 with the supported list (no charge).
ERC-20 balance (eth_call):
blockrun_rpc({
network: "base",
method: "eth_call",
params: [{
to: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC on Base
data: "0x70a08231000000000000000000000000<ADDRESS_NO_0x_PADDED_TO_32B>"
}, "latest"]
})
Native balance: method: "eth_getBalance", params: ["0x...", "latest"]
Tx receipt: method: "eth_getTransactionReceipt", params: ["0x<txhash>"]
Event logs: method: "eth_getLogs", params: [{ fromBlock, toBlock, address, topics }] — keep ranges small; huge ranges are rejected upstream (no charge).
Gas: method: "eth_gasPrice" / eth_estimateGas
Solana token account: network: "solana", method: "getTokenAccountsByOwner", params: ["<owner>", {"mint": "<mint>"}, {"encoding": "jsonParsed"}]
Batch (charged per element, flat fee paid once — 3 calls = $0.0070, vs $0.0090 sent separately):
blockrun_rpc({ network: "ethereum", body: [
{ jsonrpc: "2.0", id: 1, method: "eth_blockNumber" },
{ jsonrpc: "2.0", id: 2, method: "eth_gasPrice" },
{ jsonrpc: "2.0", id: 3, method: "eth_chainId" }
]})
eth_call) come back inside result.error — the call is charged (the node did the work).