Get token holders
The largest holders of a token, with balances and share of supply.
GET /tokens/{mint}/holdersParameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
mint | path | string | Yes | The token's mint address. |
limit | query | number | No | 1–20, default 20. |
Limitation: this endpoint returns the top 20 holders maximum — that's what Solana's underlying
getTokenLargestAccountsprovides. Full holder enumeration is a heavy indexed query on our roadmap.
Example
curl "https://api.sarg.am/v1/solana/tokens/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/holders?limit=2" \
-H "Authorization: Bearer $MAINLY_API_KEY"{
"mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"supply": { "raw": "8942337421000000", "ui": 8942337421.0, "uiString": "8942337421" },
"items": [
{
"owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1",
"balance": { "raw": "1250000000000000", "decimals": 6, "ui": 1250000000.0, "uiString": "1250000000" },
"percentOfSupply": 13.98
},
{
"owner": "9wFFyRfZBsuAha4YcuxcXLKwMxJR43S7fPfQLusDBzvT",
"balance": { "raw": "830000000000000", "decimals": 6, "ui": 830000000.0, "uiString": "830000000" },
"percentOfSupply": 9.28
}
]
}Response fields
| Field | Type | Description |
|---|---|---|
items[].owner | string | The wallet that owns the holding (already resolved from the token account). |
items[].balance | object | Amount held. |
items[].percentOfSupply | number | Share of current total supply, in percent. |
Ordering: largest first. Note that big holders are often exchange or protocol vaults, not individuals.
Errors
code | When |
|---|---|
invalid_address | The path parameter isn't valid base58. |
not_found | The address exists but isn't a token mint. |
Under the hood
Replaces getTokenLargestAccounts + getTokenSupply, plus resolving each
token account back to its owner wallet — raw RPC returns token account
addresses, which are not the holders' wallets.