Wallets API

One wallet's whole trading record

Whether a wallet is any good over a long window: invested, realised and unrealised profit, tokens traded, wins, losses and win rate. SOL, ETH, BNB and BASE; one record per chain, never summed.

GET/api/external/wallet-analysis/trader-record/{chain}/{address}

Chains

  • Solana SOL
  • BNB Chain BNB
  • Ethereum ETH
  • Base BASE

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/trader-record/SOL/<address>"
Parameters
ParameterDescription
chain

path · string · required

SOL, ETH, BNB and BASE; every other chain returns 400, because no wired source keeps this record there. The record is per chain, not per wallet: the same address on two chains is two records, and they are not summed.
address

path · string · required

The wallet address.

Response fields

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

Response fields of One wallet's whole trading record
FieldTypeDescription
sincenumber | nullUnix SECONDS marking the start of the window these figures cover. The window is NOT the wallet's lifetime, which is why it is published rather than assumed: on SOL it came back as the same instant for every wallet measured, which is where that record starts, and a wallet that traded earlier is missing that history here. On ETH, BNB and BASE it is null because the window start is not stated at all, and on SOL it is null when the record came from the second SOL source, which states none either — null means UNKNOWN, never "since forever". Reading any of these figures as all-time is wrong.
realizedPnlUsdnumber | null
unrealizedPnlUsdnumber | null
totalPnlUsdnumber | null
totalInvestedUsdnumber | null
tokensTradednumber | null
winsnumber | nullTokens that ended in profit. SOL only; null on ETH, BNB and BASE, where only a win rate is reported and its denominator is not tokensTraded, so no count can be derived.
lossesnumber | nullTokens that ended in loss. SOL only, for the same reason as wins.
winRatePctnumber | null
averageBuyUsdnumber | nullMean USD size of one buy. null for a wallet with no buys at all, rather than 0.

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