{"uid":"cap_ivDu_nK9u1raqP-YsjP7x","slug":"base-onchain-tools-contract-type-classifier-d4a15d52","name":"Base Onchain Tools – Contract Type Classifier","description":"Eleven read-only endpoints answering questions about Base mainnet that are tedious to assemble from raw RPC: what an unverified contract is actually able to do, whether a token transfer will revert and for what reason, what an arbitrary token is worth, and whether an address is safe to pay. Priced $0.001-$0.04 per call in USDC over x402. No account, no API key, no signup, no minimum, no rate limit to negotiate — the payTo address in the 402 response is the whole integration. Failed calls are not billed. The payment middleware cancels settlement on any 4xx or 5xx, so a malformed parameter or an upstream outage costs nothing. Answers are read live from Base mainnet at request time, with failover across five independent RPC providers. A batch that comes back incomplete is treated as a failure rather than returned with the missing entries as zeros, because a confident wrong answer costs a caller more than an error does. Scope is deliberately narrow: Base mainnet only, reads only, no keys held, nothing stored between requests.","url":"https://base-onchain-tools.dolerite.workers.dev/v1/base/contract-type?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":{"address":{"type":"string","description":"Contract address on Base mainnet"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"kind":"erc20","is_proxy":true,"proxy_type":"zeppelinos-legacy"}},"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_wFPGM2OMSfcS_vtbx4IAS","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":"Returns the contract standard (ERC-20, ERC-721, etc.) and proxy pattern for a given Base mainnet contract address.","exampleAgentPrompt":"What type of contract is 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base mainnet — is it an ERC-20, ERC-721, or something else, and does it use a proxy?","exampleUseCases":[{"title":"Token contract safety check before integration","prompt":"Before I add support for this token in my app, can you tell me whether 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base is an ERC-20 and whether it's a proxy contract?"},{"title":"NFT vs token classification for portfolio tracker","prompt":"I'm building a portfolio tracker — can you check whether the contract at 0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA on Base is an NFT contract or a fungible token?"},{"title":"Proxy pattern detection for security audit","prompt":"For our security review, I need to know if the contract at 0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22 on Base mainnet is behind a proxy and what kind of upgrade pattern it uses."}],"resultDescription":"A JSON object with a 'kind' field indicating the contract standard (e.g. 'erc20', 'erc721', 'erc1155', 'unknown'), an 'is_proxy' boolean, and a 'proxy_type' string describing the proxy pattern (e.g. 'zeppelinos-legacy', 'eip1967') when applicable. Data is read live from Base mainnet at request time with failover across five RPC providers.","failureModes":["Address not a contract (EOA) — returns error or 'unknown' kind","Invalid or malformed address format — 4xx, not billed","Upstream RPC outage across all five providers — 5xx, not billed","Contract bytecode is too minimal to classify — may return 'unknown'","Incomplete batch data treated as failure rather than partial result — not billed"],"whenToPreferThis":"Choose this endpoint when you need fast, pay-per-call classification of a Base mainnet contract's standard and proxy pattern without setting up an API account or managing rate limits. It is ideal for agents that encounter arbitrary contract addresses and need to understand what interface they expose before calling them. Prefer this over manually inspecting ABIs or calling raw RPC when you want a structured, human-readable classification with zero-setup billing via x402.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-10T18:35:39.881Z","isFirstParty":false,"canonicalSlug":"base-onchain-tools-contract-type-classifier-d4a15d52"}