Wallets API
An EVM wallet's footprint across every EVM chain it touched
Age, active chains, first and last activity, transaction and transfer counts, counterparties, swap volume, gas and native flows in USD, summed over every EVM chain.
/api/external/wallet-analysis/wallet-cross-chain-profile/{address}What it returns
An EVM wallet's whole on-chain footprint, summed over every EVM chain it has touched rather than one: how many chains and on which it is most active, its age and active days, its first and last activity and first and last sent transaction (each on the chain it happened), transaction, transfer and counterparty counts, tokens interacted with, contracts deployed, and swap volume, gas spent and native-coin flows in USD. For one chain's figures, use wallet-stats. A never-used address answers zero counts with every activity null and walletAgeDays null. A wallet with too much history to profile (the burn address) is a 422.
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/wallet-analysis/wallet-cross-chain-profile/<address>"
| Parameter | Description |
|---|---|
addresspath · string · required | An EVM wallet address: 0x followed by 40 hexadecimal characters, in any case. Read across every EVM chain it has touched, not one. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
address | string | The wallet asked about, as asked. |
activeChainCount | integer | How many EVM chains the wallet has any activity on. |
mostActiveChainId | integer | null | The EVM chain id it is most active on; null when it has no activity. |
walletAgeDays | integer | null | Days since its first activity; null when it has none. |
activeDays | integer | Days with any activity, over every chain. |
firstActivity | object | null | Its first activity of any kind, sent or received; null when there is none. |
firstActivity.chainId | integer | The EVM chain id it happened on, e.g. 1 Ethereum, 8453 Base, 369 PulseChain. |
firstActivity.blockNumber | integer | The block on that chain. |
firstActivity.at | integer | Block time, unix seconds. |
firstActivity.transactionHash | string | The transaction. |
firstActivity.type | string | The movement: transaction, native-transfer, token-transfer, and so on. |
firstActivity.direction | string | in when the wallet received, out when it sent. |
lastActivity | object | null | Its latest activity of any kind; null when there is none. |
lastActivity.chainId | integer | The EVM chain id it happened on, e.g. 1 Ethereum, 8453 Base, 369 PulseChain. |
lastActivity.blockNumber | integer | The block on that chain. |
lastActivity.at | integer | Block time, unix seconds. |
lastActivity.transactionHash | string | The transaction. |
lastActivity.type | string | The movement: transaction, native-transfer, token-transfer, and so on. |
lastActivity.direction | string | in when the wallet received, out when it sent. |
firstSent | object | null | The first transaction it sent itself; null when there is none. |
firstSent.chainId | integer | The EVM chain id it happened on, e.g. 1 Ethereum, 8453 Base, 369 PulseChain. |
firstSent.blockNumber | integer | The block on that chain. |
firstSent.at | integer | Block time, unix seconds. |
firstSent.transactionHash | string | The transaction. |
firstSent.type | string | The movement: transaction, native-transfer, token-transfer, and so on. |
firstSent.direction | string | in when the wallet received, out when it sent. |
lastSent | object | null | The latest transaction it sent itself; null when there is none. |
lastSent.chainId | integer | The EVM chain id it happened on, e.g. 1 Ethereum, 8453 Base, 369 PulseChain. |
lastSent.blockNumber | integer | The block on that chain. |
lastSent.at | integer | Block time, unix seconds. |
lastSent.transactionHash | string | The transaction. |
lastSent.type | string | The movement: transaction, native-transfer, token-transfer, and so on. |
lastSent.direction | string | in when the wallet received, out when it sent. |
transactionsSent | integer | Transactions it sent, over every chain. |
transactionsInvolved | integer | Transactions it took part in, sent or received. |
nativeTransfers | object | Native-coin transfers, summed over every chain. |
nativeTransfers.sent | integer | |
nativeTransfers.received | integer | |
nativeTransfers.total | integer | |
tokenTransfers | object | Fungible-token transfers, summed over every chain. |
tokenTransfers.sent | integer | |
tokenTransfers.received | integer | |
tokenTransfers.total | integer | |
nftTransfers | object | NFT transfers, summed over every chain. |
nftTransfers.sent | integer | |
nftTransfers.received | integer | |
nftTransfers.total | integer | |
counterparties | object | Distinct addresses it sent to and received from. |
counterparties.sentTo | integer | |
counterparties.receivedFrom | integer | |
tokensInteracted | integer | Distinct tokens it has moved. |
contractsCreated | integer | Contracts it deployed. |
swapVolumeUsd | number | null | DEX swap volume, in USD, summed over every chain; null when not published. |
gasSpentUsd | number | null | Gas paid, in USD, summed over every chain; null when not published. |
avgGasPerTransactionUsd | number | null | Gas per sent transaction, in USD; null when it never sent one. |
nativeSentUsd | number | null | Native coin sent, in USD, summed over every chain; null when not published. |
nativeReceivedUsd | number | null | Native coin received, in USD, summed over every chain; null when not published. |
nativeNetFlowUsd | number | null | Native coin received minus sent, in USD, summed over every chain; null when not published. |
largestNativeInUsd | number | null | Its largest single native-coin receipt, in USD, summed over every chain; null when not published. |
largestNativeOutUsd | number | null | Its largest single native-coin send, in USD, summed over every chain; null when not published. |
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