Mainly

Get token holders

The largest holders of a token, with balances and share of supply.

GET /tokens/{mint}/holders

Parameters

ParameterInTypeRequiredDescription
mintpathstringYesThe token's mint address.
limitquerynumberNo1–20, default 20.

Limitation: this endpoint returns the top 20 holders maximum — that's what Solana's underlying getTokenLargestAccounts provides. 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

FieldTypeDescription
items[].ownerstringThe wallet that owns the holding (already resolved from the token account).
items[].balanceobjectAmount held.
items[].percentOfSupplynumberShare of current total supply, in percent.

Ordering: largest first. Note that big holders are often exchange or protocol vaults, not individuals.

Errors

codeWhen
invalid_addressThe path parameter isn't valid base58.
not_foundThe 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.

On this page