Docs/Token data/Holders

Holders

GET/v1/token/{mint}/holdersPublic

Holder count and the largest token accounts, each with their share of supply.

Path parameters

FieldTypeDescription
mintrequiredstringToken mint address (base58).

Query parameters

FieldTypeDescription
networkoptionalmainnet | devnetNetwork to read. Devnet returns an empty payload (with a note) until its ingestor lands. default mainnet

Response fields

FieldTypeDescription
countnumber | nullHolding accounts. When countIsFloor is true this is a LOWER BOUND, not an exact figure.
countIsFloorbooleantrue = the bounded crawl hit its cap, so the real holder count is >= count (mega-caps like wSOL). false = exact.
top[].addressstringThe largest token ACCOUNT (not the owner wallet).
top[].ownerstring | nullThe wallet that owns the token account (null while a pre-existing cache entry awaits its refresh).
top[].uiAmountnumberTokens held.
top[].pctnumber | null% of total supply.
top[].isPoolVaultbooleantrue = a known AMM pool vault (dominant-pool vault or Raydium AMM v4 authority owner) — liquidity, not a whale.
updatedAtstring | nullWhen holders were last refreshed (ISO).
count comes from a bounded crawl (20k accounts). For widely-held tokens the crawl caps out and countIsFloor is true: the real count is >= count. Never read a countIsFloor:true count as exact.
top[].address is the token ACCOUNT; top[].owner is the wallet that owns it (the #1 account is typically an AMM pool vault, flagged with isPoolVault:true). Vault labels cover what we positively identified — the dominant pool's vaults and Raydium AMM v4 vaults; CLMM / other-venue vaults may go unflagged.