{"uid":"cap_Fmle72ueqYfw6h_xkYWzx","slug":"evm-contract-abi-5a499294","name":"evm-contract-abi","description":"Fetch just the ABI of a verified EVM contract, resolving a proxy to its implementation ABI as well. A cheap slice for when you only need the interface to encode calls or decode data, not the full source. Unverified contracts are reported honestly.","url":"https://api.agentstools.dev/contract/abi","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Contract address, 0x + 40 hex"},"network":{"enum":["base","ethereum","arbitrum","optimism","polygon","bnb"],"type":"string","description":"EVM network (default base)"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.008","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.008/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.008","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.008","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_8NDcYANH4U1Nxs6Ce67GL","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.008","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetch the ABI of a verified EVM contract (resolving proxy to implementation) for encoding calls or decoding data","exampleAgentPrompt":"Can you fetch the ABI for the contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum so I can encode a call to its transfer function?","exampleUseCases":[{"title":"Encode DeFi protocol function call","prompt":"I need to call the deposit function on the Aave v3 pool contract at 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2 on Ethereum — can you grab its ABI so I can encode the calldata?"},{"title":"Decode incoming transaction data","prompt":"Someone just sent a transaction to 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45 on Arbitrum and I need to figure out which function was called — can you fetch the contract's ABI so I can decode the input data?"},{"title":"Inspect proxy contract interface","prompt":"The USDC contract on Base at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 is probably a proxy — can you resolve it to its implementation ABI so I can see all the actual functions it supports?"}],"resultDescription":"Returns the contract ABI as a JSON array of function, event, and error descriptors. If the contract is a proxy, the ABI is resolved to the implementation contract's interface. If the contract is unverified, the response honestly reports that status rather than returning a partial or incorrect ABI.","failureModes":["Contract address not found on specified network — returns error indicating no contract at that address","Contract exists but is unverified — returns honest unverified status, no ABI","Invalid address format (not 0x + 40 hex) — returns validation error","Unsupported network specified — returns error listing supported networks","Proxy resolution fails if implementation address is dynamic or non-standard","Network RPC timeouts may cause intermittent errors"],"whenToPreferThis":"Use this endpoint when you only need a contract's ABI (interface) and don't need full source code, compiler metadata, or bytecode. It's cheaper and faster than fetching the full contract source. Ideal for agents that need to encode function calls or decode returned data on-the-fly. Particularly valuable when working with proxy contracts, as it automatically resolves to the implementation ABI. Prefer this over generic block explorer scraping when you need a structured, machine-ready ABI JSON.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T01:12:59.172Z","isFirstParty":false}