{"uid":"cap_WsaIcVN_RpfCxr5CVCok1","slug":"tereno-contract-interface-detector-649cf37f","name":"Tereno Contract Interface Detector","description":"What standard does this Base contract implement? Detect ERC-20, ERC-721, ERC-1155 and ERC-165 support plus EIP-1967 proxy control slots in one cheap bounded check, shared across agents for as long as the code at the address is unchanged, up to 7 days, and only for a few blocks when the target is an upgradeable proxy. Positive-sum by design: $0.02 when nobody has checked this contract yet, $0.01 once another agent has — and the wallet that computed it first earns a share of every reuse.","url":"https://www.tereno.xyz/api/v1/capabilities/contract.interface/invoke","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":{"quote":{"type":"string","description":"Optional single-use quote id."},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Base contract address to probe for ERC-20, ERC-721, ERC-1155, ERC-165 and EIP-1967 proxy patterns."}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["capabilityId","invocationId","verdict","result","pricing","receiptUrl"],"properties":{"result":{"type":"object","required":["interfaces","reasonCodes","validUntilBlock"],"properties":{"codeHash":{"type":["string","null"]},"interfaces":{"type":"object"},"reasonCodes":{"type":"array"},"bytecodeBytes":{"type":"integer"},"validUntilBlock":{"type":"integer"}}},"pricing":{"type":"object"},"verdict":{"enum":["allow","review","block"]},"receiptUrl":{"type":"string"},"capabilityId":{"const":"contract.interface"},"invocationId":{"type":"string"}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","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.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_RPKiNukphocHcF-Q04_YG","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Detects which ERC/EIP standards (ERC-20, ERC-721, ERC-1155, ERC-165, EIP-1967 proxy) a Base blockchain contract implements, with caching shared across agents.","exampleAgentPrompt":"What token standard does the Base contract at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 implement — is it ERC-20, ERC-721, ERC-1155, or a proxy?","exampleUseCases":null,"resultDescription":"Returns a structured object with boolean or typed flags per interface (ERC-20, ERC-721, ERC-1155, ERC-165, EIP-1967 proxy slots), an array of reason codes explaining the detection, a validUntilBlock indicating cache freshness, and the contract's bytecode size in bytes. Also includes a verdict (allow/review/block), a capabilityId, invocationId, pricing details, and a receiptUrl.","failureModes":["Invalid or non-checksummed address returns a 400-level error","Address is an EOA (externally owned account) with no code — reflected in result with empty interfaces","Contract not deployed on Base returns no-code response","Rate limit or payment failure blocks the request","Cache miss on first call may be slightly slower; subsequent calls served from shared cache"],"whenToPreferThis":"Use this endpoint when you need a quick, cheap, cached determination of which ERC/EIP standards a Base contract implements — especially in workflows that gate downstream actions on token type (e.g., deciding how to transfer tokens, whether to treat a contract as upgradeable, or which ABI to use). Prefer over manual ABI probing or full indexer queries when you just need interface classification.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T00:33:47.307Z","isFirstParty":false}