get Token Largest Accounts
Returns the 20 largest token accounts of an SPL Token or Token-2022 mint, by balance.
getTokenLargestAccounts returns the token accounts of one mint that hold the largest balances, at most 20, largest first. Each balance is given as a raw integer string and as an amount adjusted for the mint's decimals.
Each row is a token account, not the wallet or program that owns it. The owner is stored in the token account itself (see Notes).
Parameters
params is a JSON array, with values in this order: mint, config.
Address of the mint, base-58 encoded. A wallet or token account address returns -32602.
Commitment configuration. When config is passed, it must contain commitment.
Show propertiesProperties
Bank state to read the accounts from. Without config, finalized is used. processed is answered at confirmed.
finalizedconfirmedprocessedResult
Up to 20 token accounts, largest balance first, wrapped with context.
Show propertiesProperties
Show propertiesProperties
Slot the balances were read at.
Show each itemEach item
Address of the token account, base-58 encoded. Not the address of the wallet or program that owns it.
Raw balance in the mint's smallest unit, as a string.
Number of decimal places the mint uses.
Balance divided by 10^decimals, as a float. On a mint without the Token-2022 interest-bearing or scaled UI amount extension, it is null when the mint has 20 or more decimals. See Notes for those extensions.
Balance divided by 10^decimals, as a decimal string without trailing zeros. Exact, except on Token-2022 interest-bearing and scaled UI amount mints, where it is computed with a float (see Notes).
Notes
- The example response holds 20 accounts. The example shows the first 3.
- At most 20 accounts are returned. There is no pagination and no parameter that changes the count.
- Available in every region on Blade Runner (2/s per key) and Nexus (30/s per key). Answers come from a dedicated token index, typically in a few milliseconds plus network time, so the call stays fast even for mints with millions of holders such as USDC or wSOL.
- Every returned account is checked against the node's state at
context.slotbefore the response is sent, so a closed account or a changed balance is never returned. - Accounts are sorted by
amount, largest first. Accounts with equal amounts are ordered by the raw 32 bytes of their address, highest first. This is not the alphabetical order of the base-58 strings. - Accounts with a zero balance appear only when fewer than 20 accounts hold a balance. They fill the remaining rows. Closed and uninitialized token accounts never appear; frozen accounts do. A mint with no token accounts returns an empty
valuearray. addressis the token account. Its owner, a wallet or a program, is a field of the token account:getMultipleAccountswithencoding: "jsonParsed"returns it asdata.parsed.info.owner, for all 20 addresses in one call.- Token-2022 mints with the interest-bearing extension:
uiAmountanduiAmountStringinclude the interest accrued up to the block time ofcontext.slot. With the scaled UI amount extension, they are the raw balance times the multiplier in effect at that block time, rounded down to a whole raw unit, then divided by 10^decimals. When a mint has both extensions, the interest-bearing calculation applies, andamount, which sets the order of the rows, is always the raw on-chain balance. commitmentdefaults tofinalizedwhenconfigis omitted.processedis answered atconfirmed: the accounts andcontext.slotare those of the latest confirmed slot.- A
configobject must containcommitment. Without it, as in{}or{ "minContextSlot": 1 }, the call returns a-32602error that names the missing field. Other keys next tocommitment, includingminContextSlot, are ignored. - Errors with code
-32602(HTTP200):Invalid param: WrongSizeorInvalid param: Invalidwhen the address is not a valid base-58 public key;Invalid param: could not find mintwhen no account exists at the address;Invalid param: Token mint could not be unpackedwhen the account is not a mint, which includes wallet and token account addresses;Invalid param: not a Token mintwhen the account has the layout of a mint but is not owned by the Token or Token-2022 program. - Free and Operator keys get HTTP
403withgetTokenLargestAccounts requires higher tier. Over the per-second rate, the response is the standard rate-limit429. See Errors. - HTTP
429with code-32005andNode is unhealthy: too many requests for this method were in progress at once, from your API key or from all keys together, and the request could not start within 5 seconds. Retry after a short pause. - HTTP
503with code-32005andgetTokenLargestAccounts is temporarily unavailable; retry shortly: the method cannot be answered at that moment, for example at the requested commitment. The condition is temporary.