Discovery and markets API
What is this pasted address, hash or block number, and which chains know it?
Paste an EVM address, hash or block number: per chain (ETH, BASE, ARC, RHC) whether it exists, account or contract, verified name, native balance. Hashes: RHC only; block numbers: all four.
/api/external/discovery/identifier-lookup/{identifier}What it returns
Paste an EVM identifier and learn what it is and where it lives. An address (0x + 40 hex) is checked on Ethereum, Base, Arc and Robinhood Chain: per chain, whether the chain has seen it, whether it is a contract or an account, whether the contract is verified and its name, and its native balance in wei. A 32-byte hash (0x + 64 hex) is checked on Robinhood Chain only, where it is a transaction, a block, or unknown; on the other chains found is null (not checked), never false. A block number (decimal, up to 15 digits) is checked on all four: found is whether the chain has produced a block at that height, and null when it could not be told. foundOn lists the chains where found is true. Case-insensitive; the answer echoes the identifier in lower case, a block number without leading zeros.
Chains
This endpoint is not tied to a chain: it takes no chain in its request.
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/discovery/identifier-lookup/<identifier>"
| Parameter | Description |
|---|---|
identifierpath · string · required | A pasted EVM identifier: an address (0x followed by 40 hexadecimal characters), a transaction or block hash (0x followed by 64), or a block number (decimal, up to 15 digits). Case-insensitive. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
identifier | string | The identifier asked about, lower case; a block number without leading zeros. |
format | string | What the string is shaped as: an address, a 32-byte hash, or a block number. |
foundOn | string[] | The chains that know the identifier; empty when none of the checked chains does. |
chains | object[] | One row per chain, always ETH, BASE, ARC, RHC in that order. |
chains[].chain | string | Usable as chain on other endpoints. |
chains[].found | boolean | null | Whether the chain knows the identifier. Null when it was not checked there (a hash off RHC), or could not be told (a block number). |
chains[].kind | string | null | What the identifier is on this chain: an account (no code) or a contract for an address, a transaction or a block for a hash, a block for a block number. Null when not found or not checked. |
chains[].verified | boolean | null | Whether the contract's source is verified. Null unless kind is contract. |
chains[].contractName | string | null | The verified contract's name. Null unless kind is contract and a name is known. |
chains[].nativeBalance | string | null | Native coin balance in wei, as a decimal string ("0" is a real empty balance). Null when unknown or not an address. |
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