Tokens API

Smart-money wallet activity

Which labelled KOL and whale wallets are trading right now across Solana, and what they are buying or selling — a market-wide feed, not scoped to one token.

GET/api/external/token-analysis/smart-money/{chain}

What it returns

Two INDEPENDENT cohorts of "smart money", always both returned: kol (trades made by wallets a source already tags as a known KOL or influencer) and whale (trades over a USD size threshold, independent of whether the wallet is name-tagged). A trade may qualify for both, one, or neither — nothing here establishes how often either happens, so the two are published as separate lists rather than merged into one. Solana only: the wired source has no chain parameter at all, by construction, not a coverage gap. tradeCount: 0 on either cohort is a real, measured answer — no qualifying trade in the page fetched — and is never confused with null, which means that cohort could not be determined (its own upstream lookup failed; the OTHER cohort can still answer normally). identity (kol field on a row) is only ever present on the kol cohort — a whale-cohort row's kol field is always null, because that feed does not carry the field at all, not because nobody checked. Rows are one page of recent activity, not an exhaustive log — there is no pagination.

Chains

  • Solana SOL

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/token-analysis/smart-money/SOL"
Parameters
ParameterDescription
chain

path · string · required

SOL only. The wired source for this question has no chain parameter at all, by construction — every other chain 400s.

Response fields

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

Response fields of Smart-money wallet activity
FieldTypeDescription
kolobjectTrades made by wallets a source already tags as a known KOL or influencer.
kol.tradeCountnumber | null
kol.walletCountnumber | null
kol.hasMoreboolean | null
kol.tradesobject[]Newest first. Empty when this cohort genuinely has nothing in the page fetched.
kol.trades[].txHashstring | null
kol.trades[].walletstring | null
kol.trades[].sidestring | null
kol.trades[].atnumber | null
kol.trades[].amountTokennumber | null
kol.trades[].priceUsdnumber | nullnull when the source's literal 0 "no price found" placeholder was returned for this row — the trade itself still happened and every other field is still published.
kol.trades[].volumeUsdnumber | null
kol.trades[].programstring | null
kol.trades[].poolsstring[]
kol.trades[].kolobject | null
kol.trades[].kol.namestring | null
kol.trades[].kol.twitterstring | null
kol.trades[].kol.avatarstring | null
whaleobjectTrades over a USD size threshold, independent of whether the wallet is name-tagged. This cohort's rows never carry a kol value other than null.
whale.tradeCountnumber | null
whale.walletCountnumber | null
whale.hasMoreboolean | null
whale.tradesobject[]Newest first. Empty when this cohort genuinely has nothing in the page fetched.
whale.trades[].txHashstring | null
whale.trades[].walletstring | null
whale.trades[].sidestring | null
whale.trades[].atnumber | null
whale.trades[].amountTokennumber | null
whale.trades[].priceUsdnumber | nullnull when the source's literal 0 "no price found" placeholder was returned for this row — the trade itself still happened and every other field is still published.
whale.trades[].volumeUsdnumber | null
whale.trades[].programstring | null
whale.trades[].poolsstring[]
whale.trades[].kolobject | null
whale.trades[].kol.namestring | null
whale.trades[].kol.twitterstring | null
whale.trades[].kol.avatarstring | 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