{"serverId":"mcp-registry/com.mcpscores/onchain-toolkit","tools":[{"name":"address_info","fixed":{"name":"address_info","description":"Native balance, the next nonce to use, and whether the address holds contract code — the three things needed before sending from or to an address. Pass 'token' as well to read an ERC-20 balance for the same address in the same call. Values are read at the latest block, so a reorg can change them. Costs $0.008 USDC per call via x402 on Base.","inputSchema":{"type":"object","required":["address"],"properties":{"chain":{"type":"string","examples":["base"],"description":"ethereum, base, arbitrum, optimism or polygon. Defaults to base."},"token":{"type":"string","examples":["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"],"description":"Optional ERC-20 contract address to also report that token's balance."},"address":{"type":"string","examples":["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"],"description":"0x-prefixed 20-byte address."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Balance, next nonce, and whether an address is a contract"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":253,"tokensAfter":253},{"name":"token_info","fixed":{"name":"token_info","description":"Read an ERC-20's name, symbol, decimals and total supply straight from the contract on the chain you name, and confirm the address actually has code there. Use before quoting an amount or building a transfer: getting decimals wrong is the classic way to send 1,000,000x the intended value. An address with no code, or a contract that is not an ERC-20, is reported as such and is NOT charged. Costs $0.005 USDC per call via x402 on Base.","inputSchema":{"type":"object","required":["address"],"properties":{"chain":{"type":"string","examples":["base"],"description":"ethereum, base, arbitrum, optimism or polygon. Defaults to base."},"address":{"type":"string","examples":["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"],"description":"0x-prefixed 20-byte contract address."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"ERC-20 token details by contract address"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":234,"tokensAfter":234},{"name":"tx_status","fixed":{"name":"tx_status","description":"Status of a transaction by hash: success, failed or still pending, with the block it landed in, sender and recipient, value moved, gas used, the fee actually paid, and how many logs it emitted. Use to confirm an action you took really settled rather than assuming it did. An unknown hash is reported as not_found and is NOT charged. Costs $0.005 USDC per call via x402 on Base.","inputSchema":{"type":"object","required":["hash"],"properties":{"hash":{"type":"string","examples":["0x08001b920b214572ff2e7a4fc4560bafa717619b00b91561425ef6a325fdfedb"],"description":"0x-prefixed 32-byte transaction hash."},"chain":{"type":"string","examples":["base"],"description":"ethereum, base, arbitrum, optimism or polygon. Defaults to base."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Did this transaction succeed?"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":222,"tokensAfter":222}],"toolsChanged":3,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}