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.

GET/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>"
Parameters
ParameterDescription
address

path · 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.

Response fields of An EVM wallet's footprint across every EVM chain it touched
FieldTypeDescription
addressstringThe wallet asked about, as asked.
activeChainCountintegerHow many EVM chains the wallet has any activity on.
mostActiveChainIdinteger | nullThe EVM chain id it is most active on; null when it has no activity.
walletAgeDaysinteger | nullDays since its first activity; null when it has none.
activeDaysintegerDays with any activity, over every chain.
firstActivityobject | nullIts first activity of any kind, sent or received; null when there is none.
firstActivity.chainIdintegerThe EVM chain id it happened on, e.g. 1 Ethereum, 8453 Base, 369 PulseChain.
firstActivity.blockNumberintegerThe block on that chain.
firstActivity.atintegerBlock time, unix seconds.
firstActivity.transactionHashstringThe transaction.
firstActivity.typestringThe movement: transaction, native-transfer, token-transfer, and so on.
firstActivity.directionstringin when the wallet received, out when it sent.
lastActivityobject | nullIts latest activity of any kind; null when there is none.
lastActivity.chainIdintegerThe EVM chain id it happened on, e.g. 1 Ethereum, 8453 Base, 369 PulseChain.
lastActivity.blockNumberintegerThe block on that chain.
lastActivity.atintegerBlock time, unix seconds.
lastActivity.transactionHashstringThe transaction.
lastActivity.typestringThe movement: transaction, native-transfer, token-transfer, and so on.
lastActivity.directionstringin when the wallet received, out when it sent.
firstSentobject | nullThe first transaction it sent itself; null when there is none.
firstSent.chainIdintegerThe EVM chain id it happened on, e.g. 1 Ethereum, 8453 Base, 369 PulseChain.
firstSent.blockNumberintegerThe block on that chain.
firstSent.atintegerBlock time, unix seconds.
firstSent.transactionHashstringThe transaction.
firstSent.typestringThe movement: transaction, native-transfer, token-transfer, and so on.
firstSent.directionstringin when the wallet received, out when it sent.
lastSentobject | nullThe latest transaction it sent itself; null when there is none.
lastSent.chainIdintegerThe EVM chain id it happened on, e.g. 1 Ethereum, 8453 Base, 369 PulseChain.
lastSent.blockNumberintegerThe block on that chain.
lastSent.atintegerBlock time, unix seconds.
lastSent.transactionHashstringThe transaction.
lastSent.typestringThe movement: transaction, native-transfer, token-transfer, and so on.
lastSent.directionstringin when the wallet received, out when it sent.
transactionsSentintegerTransactions it sent, over every chain.
transactionsInvolvedintegerTransactions it took part in, sent or received.
nativeTransfersobjectNative-coin transfers, summed over every chain.
nativeTransfers.sentinteger
nativeTransfers.receivedinteger
nativeTransfers.totalinteger
tokenTransfersobjectFungible-token transfers, summed over every chain.
tokenTransfers.sentinteger
tokenTransfers.receivedinteger
tokenTransfers.totalinteger
nftTransfersobjectNFT transfers, summed over every chain.
nftTransfers.sentinteger
nftTransfers.receivedinteger
nftTransfers.totalinteger
counterpartiesobjectDistinct addresses it sent to and received from.
counterparties.sentTointeger
counterparties.receivedFrominteger
tokensInteractedintegerDistinct tokens it has moved.
contractsCreatedintegerContracts it deployed.
swapVolumeUsdnumber | nullDEX swap volume, in USD, summed over every chain; null when not published.
gasSpentUsdnumber | nullGas paid, in USD, summed over every chain; null when not published.
avgGasPerTransactionUsdnumber | nullGas per sent transaction, in USD; null when it never sent one.
nativeSentUsdnumber | nullNative coin sent, in USD, summed over every chain; null when not published.
nativeReceivedUsdnumber | nullNative coin received, in USD, summed over every chain; null when not published.
nativeNetFlowUsdnumber | nullNative coin received minus sent, in USD, summed over every chain; null when not published.
largestNativeInUsdnumber | nullIts largest single native-coin receipt, in USD, summed over every chain; null when not published.
largestNativeOutUsdnumber | nullIts 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