Contracts API

Is this address a verified contract

Whether an address holds bytecode, whether its source is published and verified, its compiler and licence, and whether it is a proxy pointing at an implementation.

GET/api/external/contract-analysis/contract-source/{chain}/{address}

What it returns

Verification status, source, ABI and proxy relationship for ANY address — a token, a router, a pool, a vault, or a plain wallet. verified is false, not null, whenever this deployment could establish there is no published source — that covers a genuine unverified contract AND a wallet (nothing was ever published for either); read addressKind to tell them apart. addressKind is null only when this deployment could not determine what kind of address it is (no chain-level code read answered for this chain); the rest of the answer is unaffected. On a chain where most contracts are minimal-proxy clones, verified: false is the common answer even for a real, in-use contract — isProxy and implementation are still populated in that case, independent of verification. isProxy is false, not true, for a 'delegated-wallet': an EIP-7702 delegation is a revocable, self-authorised delegation on an EOA, a materially different trust model from a contract proxying calls, even though implementation may still carry the address it currently delegates execution to wherever this deployment can see that. Every field is null when nothing could be established at all (the underlying data source could not be reached), which is different from a measured false.

Chains

  • BNB Chain BNB
  • Ethereum ETH
  • Stable STABLE
  • Base BASE
  • Robinhood Chain RHC

Request

Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.

curl -H "x-dex-data-key: $DEXDATA_API_KEY" \
  "https://api.dexdata.io/api/external/contract-analysis/contract-source/BNB/<address>"
Parameters
ParameterDescription
chain

path · string · required

The chain the address lives on. ETH, BNB, BASE, STABLE and RHC are served; SOL and ARC both return 400. CELO, ARB, OP and SCROLL return 400 here.
address

path · string · required

The address being asked about — it may or may not turn out to be a contract; the response says which.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of Is this address a verified contract
FieldType
verifiedboolean | null
contractNamestring | null
compilerVersionstring | null
compilerTypestring | null
optimizationUsedboolean | null
optimizationRunsnumber | null
evmVersionstring | null
licenseTypestring | null
abiany[] | null
sourceCodestring | null
sourceLengthnumber | null
isMultiFileFormatboolean | null
isProxyboolean | null
implementationstring | null
addressKindstring | null

Start building with DexData today

Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.

Get a free API key