{"uid":"cap_Wj-mn5elXlIEKG7_IDc4Y","slug":"contract-source-abi-4e1c2656","name":"Contract Source & ABI","description":"Verified contract source code, parsed ABI, and compiler metadata for a contract address on Ethereum, from Etherscan's V2 API -- including proxy detection with the implementation contract address, so you're not left guessing why a proxy's own source looks empty. An unverified contract returns verified=false with null source/ABI rather than an error. $0.01/call.","url":"https://www.x402financialdata.com/contract-source/:address","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"},"pathParams":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"EVM contract address"}}},"queryParams":{"type":"object","required":[],"properties":{"chain":{"enum":["eth"],"type":"string","description":"Which chain to query. Only 'eth' is supported right now."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Y7thU2cz_syAjjuFnR-Hm","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns verified Solidity source code, parsed ABI, compiler metadata, and proxy implementation address for an Ethereum contract from Etherscan V2","exampleAgentPrompt":"Can you pull the verified source code and ABI for the Ethereum contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 — and if it's a proxy, tell me the implementation address too?","exampleUseCases":[{"title":"Decode DeFi protocol contract interface","prompt":"Fetch the ABI and verified source for the Uniswap V3 router at 0xE592427A0AEce92De3Edee1F18E0157C05861564 on Ethereum so I can see what functions are available to call."},{"title":"Proxy implementation discovery","prompt":"I'm looking at 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f on Ethereum — can you check if it's a proxy contract and give me the actual implementation address along with its ABI?"},{"title":"Audit unverified contract check","prompt":"Can you check whether the contract at 0xdAC17F958D2ee523a2206206994597C13D831ec7 on Ethereum has verified source code on Etherscan, and if so return the compiler version and full source?"}],"resultDescription":"Returns a JSON object with: verified (boolean), source code (full Solidity text or null if unverified), parsed ABI array (or null), compiler version and settings metadata, whether the contract is a proxy, and the proxy's implementation contract address if applicable. Unverified contracts return verified=false with null source and ABI rather than an error.","failureModes":["Invalid or malformed contract address returns an error","Contract address that is an EOA (externally owned account) rather than a contract may return empty or error","Rate limiting or upstream Etherscan API downtime may cause failures","Only Ethereum mainnet ('eth') is supported; other chains will return an error","Payment failure or insufficient USDC balance returns a 402 response"],"whenToPreferThis":"Choose this endpoint when you need verified Solidity source, a parsed ABI, or compiler metadata for a specific Ethereum contract address — especially when you need automatic proxy detection to find the real implementation behind upgradeable contracts. Prefer it over raw Etherscan API calls when you need a clean, pre-parsed single response with proxy resolution included and are operating in an x402 payment context.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:39:50.705Z","isFirstParty":false}