{"uid":"cap_Nom5rEsNndwz0IEg6i3r8","slug":"contract-abi-metadata-lookup-x402-4658be48","name":"Contract ABI & Metadata Lookup (x402)","description":"Pay-per-call crypto microdata for trading/onchain AI agents via x402 (USDC on Base): Base gas, token risk, balances, multi-venue prices, Hyperliquid book/funding, kimchi premium. No API keys.","url":"https://kr-x402-mvp.kgy5612.workers.dev/v1/contract-abi?utm_source=zero.xyz","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"],"type":"string"},"queryParams":{"type":"object","required":["address"],"properties":{"chain":{"enum":["base","eth"],"type":"string","description":"base (default) or eth mainnet"},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","examples":["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"],"description":"Address to inspect"}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"kind":"ERC20","next":["/crypto/token-risk?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","/crypto/allowance?owner=&spender="],"safe":null,"chain":"base","flags":["upgradeable_proxy","has_owner","admin_can_change_logic"],"owner":"0x...","proxy":{"type":"ZEPPELINOS_LEGACY","admin":"0x4fc7850364958d97b4d3f5a08f79db2493f8ca44","beacon":null,"is_proxy":true,"implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779"},"token":{"name":"USD Coin","symbol":"USDC","decimals":6,"total_supply":4100000000},"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","summary":"ERC20 USDC behind ZEPPELINOS_LEGACY proxy, has owner","chain_id":8453,"checked_at":"2026-10-30T03:40:00Z","interfaces":{"erc165":false,"erc721":false,"erc1155":false},"is_contract":true,"native_balance":0,"code_size_bytes":1852,"owner_renounced":false}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_a_Z870lzm0EKfRfnpkmWh","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches the ABI, proxy structure, token metadata, ownership flags, and risk signals for a smart contract address on Base or Ethereum mainnet.","exampleAgentPrompt":"Look up the contract metadata for 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base — I want to know if it's a proxy, who the owner is, what token it represents, and any risk flags like upgradeability.","exampleUseCases":[{"title":"Pre-trade token contract due diligence","prompt":"Before I swap into this token at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base, can you check if the contract is upgradeable, who controls it, and whether the owner has been renounced?"},{"title":"Classify unknown contract type","prompt":"I found this contract address 0x4200000000000000000000000000000000000006 on Base — can you tell me what kind of contract it is, whether it's an ERC20 or something else, and pull its token details?"},{"title":"Detect proxy admin risk before integration","prompt":"Check contract 0x2Ce6311ddAe708829bc0784C967b7d77D19Fd779 on Ethereum mainnet and tell me if it's behind a proxy, who the admin is, and what risk flags are present."}],"resultDescription":"Returns a JSON object containing: contract kind (e.g. ERC20), proxy details (type, admin, implementation), token name/symbol/decimals/total supply, owner address and renouncement status, supported interfaces (ERC165/721/1155), risk flags (e.g. upgradeable_proxy, has_owner, admin_can_change_logic), native ETH balance, code size in bytes, chain ID, and suggested follow-up endpoint paths.","failureModes":["Invalid address format (not 0x + 40 hex chars) returns validation error","Address is an EOA (externally owned account), not a contract — is_contract: false","Contract not deployed on the specified chain — empty or null response","Chain param not in allowed enum (base, eth) returns 400","Payment failure via x402 (insufficient USDC balance) returns 402 before data is served"],"whenToPreferThis":"Use this endpoint when an AI agent needs to understand the structure and risk profile of a smart contract before interacting with it — especially for ERC20 tokens on Base or Ethereum. Prefer this over generic blockchain explorers when you need machine-readable ABI classification, proxy unwrapping, and risk flags in a single pay-per-call response with no API key setup.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T18:42:13.172Z","isFirstParty":false,"canonicalSlug":"contract-abi-metadata-lookup-x402-4658be48"}