Tokens API
Who are the largest holders of this token?
The largest holders of a token, largest first, with each balance, its USD value and what the wallet is when known (exchange hot or cold wallet, liquidity pool, non-circulating supply).
/api/external/token-analysis/top-holders/{chain}/{mint}What it returns
The largest holders of one token, largest first: the wallet, its balance in whole tokens, the balance's USD value, and a label naming what the wallet is when that is known (an exchange's Hot Wallet or Cold Wallet, a liquidity pool LP, Non-Circulating Supply, a staking contract), null otherwise. The list is a SNAPSHOT: asOf says when it was taken, and it is typically minutes to a few hours old, so a wallet that moved since then still shows its old balance. Burn addresses and liquidity pools are listed like any holder: read label before treating the top rows as people. On SOL, when no snapshot is available, the list is read live from the chain instead: asOf is then the time of the read, label and valueUsd are null, and at most 20 holders are listed whatever limit asks. On RHC, a token launched on one of the chain's launchpads that has no snapshot is read live the same way, from every transfer since its launch: asOf is the time of the read, label and valueUsd are null, and the pool contract holding the pooled supply is usually the top row. No share of supply is given here, because the snapshot counts supply in a way that changes with burned balances; for concentration read distribution.
Chains
- Solana SOL
- Ethereum ETH
- Stable STABLE
- Base BASE
- Robinhood Chain RHC
- Arc ARC
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/top-holders/SOL/<mint>"
| Parameter | Description |
|---|---|
limitquery · integer · optional | How many holders to return, largest first. Defaults to 10. |
chainpath · string · required | The chain the token lives on. SOL, ETH, BASE, RHC, STABLE and ARC are served; BNB returns 400. CELO, ARB, OP and SCROLL return 400 here. |
mintpath · string · required | The token mint address (Solana) or contract address (EVM). |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
asOf | string | null | When the snapshot was taken (ISO 8601), the time of the read when the list was read live from the chain, or null when that is not known. |
holders | object[] | Largest first. At most limit rows, fewer when fewer are known; never padded. Never empty: a token with no known holder list is a 404. |
holders[].rank | integer | 1 = largest. |
holders[].wallet | string | The holding address. |
holders[].label | string | null | What the wallet is, e.g. Cold Wallet, Hot Wallet, LP, Non-Circulating Supply; null when not known. |
holders[].amount | number | null | The balance in whole tokens (decimals applied). |
holders[].valueUsd | number | null | The balance's USD value at the snapshot; null when not known. |
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