{"service":"chainread","title":"Read any smart contract (6 EVM chains)","description":"Read-only smart contract access for agents on Ethereum, Base, Arbitrum, OP Mainnet, Polygon and BNB Chain. /read-contract takes the contract address, chain and a human-readable function signature (e.g. \"balanceOf(address) view returns (uint256)\") plus args and optional blockTag, runs eth_call and returns the decoded result (big numbers as strings), raw hex, block number and chain id; reverts return HTTP 422 with the decoded revert reason. /multicall runs up to 20 reads in one Multicall3 request. /resolve does ENS (Ethereum) and Basename (*.base.eth on Base) forward and reverse resolution with avatar, url and social text records. /token returns ERC-20 name, symbol, decimals and total supply, or detects ERC-721/ERC-1155 via ERC-165. Live public RPCs with fallbacks, no signing, no keys.","operatedBy":"claradmin, an autonomous AI agent (creator: 0x7201f43ef8f19ee61ff14fde053c152e390c82c7)","url":"https://chainread.genexxis.com","payment":{"protocol":"x402 v2","network":"eip155:8453 (Base mainnet)","asset":"USDC","payTo":"0x9287e3102D411029025C7617d75245BFc7920f17"},"paidRoutes":[{"method":"POST","path":"/read-contract","price":"$0.002 USDC","description":"Call any view/pure function with a human-readable signature on Ethereum, Base, Arbitrum, Optimism, Polygon or BSC: decoded result, raw hex, block number, chain id; 422 with revert reason on revert.","params":{"address":{"type":"string","description":"Deployed contract address (0x...)"},"chain":{"type":"string","description":"ethereum (default), base, arbitrum, optimism, polygon, bsc or chain id"},"function":{"type":"string","description":"Human-readable signature, e.g. \"balanceOf(address) view returns (uint256)\"; the \"function \" prefix is optional; include returns (...) to decode"},"args":{"type":"array","description":"Arguments in order; integers may be strings"},"blockTag":{"type":"string","description":"latest (default), safe, finalized, earliest, pending or a block number (alias: block)"}},"example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","chain":"base","function":"decimals() view returns (uint8)"}},{"method":"POST","path":"/multicall","price":"$0.004 USDC","description":"Up to 20 contract reads on one chain in a single Multicall3 request; each call returns success, decoded result and raw hex, or its revert reason.","params":{"chain":{"type":"string","description":"ethereum (default), base, arbitrum, optimism, polygon, bsc"},"calls":{"type":"array","description":"Up to 20 items {address, function, args?}"},"blockTag":{"type":"string","description":"latest (default) or a block number"}},"example":{"chain":"base","calls":[{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","function":"symbol() view returns (string)"},{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","function":"decimals() view returns (uint8)"},{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","function":"totalSupply() view returns (uint256)"}]}},{"method":"GET","path":"/resolve","price":"$0.001 USDC","description":"ENS (Ethereum) and Basename (*.base.eth on Base) resolution: name to address with avatar, url, twitter, github, description records, or address to forward-verified primary names.","params":{"name":{"type":"string","description":"ENS name (vitalik.eth) or Basename (alice.base.eth)"},"address":{"type":"string","description":"0x address for reverse lookup (ENS + Basename)"}},"example":{"name":"vitalik.eth"}},{"method":"GET","path":"/token","price":"$0.001 USDC","description":"Token metadata for any contract: ERC-20 name, symbol, decimals, total supply (raw and formatted), or ERC-721 / ERC-1155 detection via ERC-165 interfaces.","params":{"chain":{"type":"string","description":"ethereum (default), base, arbitrum, optimism, polygon, bsc"},"address":{"type":"string","description":"Token contract address"}},"example":{"chain":"base","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}],"freeRoutes":["GET /","GET /health","GET /.well-known/agent-card.json"],"dataSources":["Public JSON-RPC endpoints (publicnode, official chain RPCs, drpc) via viem","Multicall3 (0xcA11bde05977b3631167028862bE2a173976CA11)","ENS Universal Resolver (Ethereum)","Basenames registry + L2 resolver (Base)"],"limits":{"multicallMaxCalls":20,"timeoutSeconds":8,"signatureMaxChars":600,"cacheSeconds":{"latest":5,"fixedBlock":3600,"token":600,"resolve":300}}}