{"slug":"2s-io-api-crypto-contract-636fc1","title":"Decode an EVM smart contract","host":"2s.io","method":"GET","resource":"https://2s.io/api/crypto/contract","category":"market","description":"Decode an EVM smart contract. Pass chain (ethereum, base, polygon, arbitrum, optimism, bsc, avalanche) + address; returns whether the contract is source-verified (Sourcify), its name/compiler/language, whether it is a proxy and its implementation address, and human-readable function and event signat","price_listed":0.0045,"price_asked":0.0045,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":251,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"method":"GET","queryParams":{"address":"0xdAC17F958D2ee523a2206206994597C13D831ec7","chain":"ethereum","selector":"0xa9059cbb"},"type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"method":{"const":"GET"},"queryParams":{"properties":{"address":{"description":"0x contract address.","type":"string"},"chain":{"description":"EVM chain (ethereum, base, polygon, …).","type":"string"},"selector":{"description":"Optional 0x 4-byte function selector to decode.","type":"string"}},"required":["chain","address"]},"type":{"const":"http"}},"required":["type","method","queryParams"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.0045,"price_match":true,"latency_ms":251,"error":null}],"description_full":"Decode an EVM smart contract. Pass chain (ethereum, base, polygon, arbitrum, optimism, bsc, avalanche) + address; returns whether the contract is source-verified (Sourcify), its name/compiler/language, whether it is a proxy and its implementation address, and human-readable function and event signatures from the ABI. Optionally pass selector (a 0x 4-byte function selector) to decode what it calls — resolved from the contract's own ABI when verified, otherwise from the public 4byte directory. Pairs with crypto.tx (which gives a `to` address + calldata): turn an opaque contract + selector into \"what is this and what does it do.\" Free, keyless.","last_updated":"2026-09-19T16:00:03.801Z","schemes":["exact"]}