Solana Token Holder Snapshot
Free toolTo take a Solana token holder snapshot, paste the token mint address into the tool above and press Take snapshot. DexLab reads every token account for that mint, adds up the balances per wallet, drops empty accounts, and lists the holders largest first with each wallet's balance and share. You can filter by minimum balance, download the list as a CSV, or send it straight to the Multisender to airdrop to those holders. The tool is free, needs no wallet connection, and works for both classic SPL tokens and Token-2022 mints.
A snapshot is a point-in-time record. It is served from a 60 minute cache and covers up to 10,000 token accounts per mint, which are the two limits explained further down this page.
No snapshot yet
Paste a mint address above. The tool reads every wallet that holds the token right now and lists them largest first. Nothing is sent, and no wallet connection is needed.
What a token holder snapshot is
A holder snapshot is a list of every wallet that holds a given token at one moment, together with how much each wallet holds. On Solana the list is assembled from token accounts: each wallet that has received the token owns a token account for that mint, and the account stores the balance. A snapshot scans those accounts, groups them by owner, and records the sum.
The word snapshot matters. Balances move every second on a live token, so the list is only true for the instant it was taken. Any decision that depends on it, such as who qualifies for an airdrop or how many votes a wallet carries, should be pinned to that instant and announced in advance so nobody can game it by moving tokens afterwards.
This page gives you that list without an indexer, an RPC subscription, or a script. The same holder scan powers the Token holders recipient source in the DexLab Multisender; here it stands on its own so you can inspect and export the list before you send anything.
When to take a snapshot
Most teams need a holder list at four moments in a token’s life:
- Airdrops and rewards. A community airdrop, a loyalty reward, or a retroactive distribution all start from the question of who held the token on a given day. Take the snapshot, apply a minimum balance so dust wallets are left out, and hand the list to the Multisender.
- Governance. A vote weighted by balance needs a fixed voter list. Taking the snapshot at the announced block or time freezes the weights, so a wallet cannot borrow tokens for the vote and return them afterwards.
- Migrations. When a token moves to a new mint, for example from a classic SPL mint to a Token-2022 mint with transfer fees or metadata extensions, the old holder list is the exact list of wallets that should receive the new token, in proportion to what they held.
- Launch pools and listings. Before you seed a liquidity pool or apply for a listing, the holder count and the concentration of the top wallets are the numbers reviewers ask for. The top 10 and top 50 shares shown above are those numbers.
In every case the snapshot is a record you keep. Download the CSV at the moment you take it, because the live list will have changed by the time you come back.
How balances are read on Solana
Solana does not store a balance on the wallet itself. For each mint a wallet holds there is a separate token account, usually the associated token account derived from the wallet and the mint, that records the amount. A wallet can own extra token accounts for the same mint, which is why the tool sums every account per owner rather than counting accounts. Holders is the number of distinct owners with a positive balance.
Amounts on chain are integers in the smallest unit, called base units. The mint declares a number of decimals, and the human balance is the raw amount divided by ten to that power. A mint with nine decimals stores 1.5 tokens as 1,500,000,000. The tool reads the decimals from the mint account itself, so the balances in the table and in the CSV are converted with the same decimals the transfer instructions use, and the CSV carries both the human balance and the raw base units so a script does not need to know the decimals at all.
Token-2022 mints are handled the same way. The tool inspects which program owns the mint account, the classic SPL Token program or Token-2022, and shows it next to the summary. Extensions such as transfer fees or transfer hooks do not change a wallet’s balance, so they do not change the snapshot; they matter later, when you send, and the Multisender handles them with the transfer-checked instruction of the detected program.
Accounts with a zero balance are dropped before grouping, so a wallet that once held the token but sold everything is not listed as a holder.
What the CSV export contains
The Download CSV button produces a plain UTF-8 file with a header row and one row per holder, largest balance first, in the order the table shows after your minimum-balance filter. The columns are:
- rank: position in the list, starting at 1.
- owner: the wallet address that owns the token accounts, in base58. This is the address you airdrop to, not the token account address.
- balance: the human amount, converted with the mint’s decimals and written without an exponent or trailing zeros.
- raw_balance: the same amount in base units, as an integer.
- share_percent: the wallet’s share of the total held by every wallet in the snapshot, to four decimal places.
The export is never trimmed. The table on this page draws at most 1,000 rows, because a list of ten thousand linked wallets is a page that will not scroll on a phone, but the CSV holds every holder left after your filter.
The file name carries the first eight characters of the mint and the date. Because the export uses the same holder list the Multisender loads, a CSV from here can be trimmed in a spreadsheet, given an amount column, and uploaded to the Multisender as a recipient file.
Limits to keep in mind
Five limits shape what a snapshot from this tool can and cannot tell you:
- Point in time. The list is true for the moment the chain was read. Take the CSV then, and record the time shown under the summary.
- 60 minute cache. The DexLab API caches each mint’s holder list for 60 minutes. Pressing Take snapshot again inside that window returns the same list, which is why the tool never polls. If you need a fresher list, wait for the window to pass.
- Scan cap of 10,000 token accounts. The scan reads up to 10 pages of 1,000 accounts and stops. A mint with more accounts than that is marked as capped, and the tool says so above the table. Those pages are walked in the order the RPC hands them over, which is not an order of balance, so a capped list is a large sample of the holders rather than a ranking of the biggest ones. For a token with hundreds of thousands of holders, do not treat a capped result as a census or as a top-holder list.
- Whole numbers only up to a point. Balances travel from the API as JSON numbers, which are exact only below about nine quadrillion base units. A nine-decimal token passes that line at roughly nine million tokens, and a balance above it is rounded in its last few digits. The rounding is far below anything a distribution would notice, but it is why raw_balance should be read as an accurate amount rather than a byte-for-byte copy of the chain.
- No pool or program filter. The API does not label which owners are liquidity pools, vaults, or other programs, and this tool does not guess. Large pool and exchange wallets usually sit at the top of the list; remove them by address in the CSV if your airdrop should exclude them.
None of these limits involve your wallet. Reading holders is a public query; nothing is signed and nothing is sent until you choose to airdrop.
How to airdrop to the list with Multisender
The Airdrop to these holders button opens the DexLab Multisender with the same mint selected and the Token holders recipient source already chosen. There you connect the wallet that will send, choose an amount per holder or a total to split in proportion to balances, and press Load holders. The minimum balance you typed here travels with the link and arrives in the Multisender’s own minimum balance field, where you can raise it, lower it, or clear it before you load. The Multisender fills the recipient list, leaves your own wallet out, and runs a pre-flight check that counts how many recipients still need a token account and estimates the network cost.
On Solana mainnet the Multisender service fee is simple. The first 20 recipients are free, each recipient after that costs 0.001 SOL, and a single batch never pays more than 0.3 SOL. Network fees and the rent for any new token accounts are paid to Solana on top, by the sending wallet. Devnet sends are free entirely, so you can rehearse a distribution before spending anything.
To send a different token than the one you snapshotted, for example a reward token to the holders of your main token, download the CSV here, keep the owner column, add an amount column, and upload the file to the Multisender instead.
How to take a token holder snapshot
Paste the token mint address
Find the mint address on the token’s explorer page or in your Minting Lab token list, paste it into the field at the top of this page, and press Take snapshot. No wallet connection is needed.
Read the summary
The summary shows the number of distinct holders, how much of the snapshot the top 10 and top 50 wallets hold, the on-chain supply, the token program, and the time the snapshot was taken. A capped notice appears when the mint has more token accounts than the scan reads.
Filter by minimum balance
Type a human amount, such as 100, to hide wallets below it. The count, the table, the CSV, and the airdrop hand-off all follow the filter, so dust wallets stay out of everything downstream.
Download the CSV
Press Download CSV to save the filtered list with rank, owner, balance, raw balance, and share columns. Keep it with the snapshot time as your record of who held the token.
Airdrop to the holders
Press Airdrop to these holders to open the Multisender with this mint preselected in holder mode. The first 20 recipients are free, each recipient after that costs 0.001 SOL, and a single batch never pays more than 0.3 SOL.
Holder snapshot FAQ
- Is the token holder snapshot free?
- Yes. Taking a snapshot, filtering it, and downloading the CSV cost nothing and need no wallet connection. A fee applies only if you go on to airdrop through the Multisender on mainnet, and that schedule is stated on the button.
- How current is the holder list?
- The list is read from the chain and then cached for 60 minutes per mint. Within that window every snapshot of the same mint returns the same list. The time shown under the summary is when this list was loaded in your browser; the chain read may be up to 60 minutes older.
- Does it include Token-2022 holders?
- Yes. The tool detects whether the mint belongs to the classic SPL Token program or to Token-2022, reads the decimals from the mint account, and scans the token accounts under the right program. The program is shown next to the summary.
- Why does the snapshot say it is capped?
- The scan reads up to 10 pages of 1,000 token accounts, 10,000 in total, and stops there. A mint with more accounts than that is reported as capped, and the list holds the wallets the scan reached. Those pages arrive in the order the RPC returns them rather than by balance, so a capped list is a sample of the holders, not the top holders and not a complete census.
- Are liquidity pools and exchange wallets excluded?
- No. The API does not label pools, vaults, or program-owned wallets, and the tool does not guess which addresses they are. They usually appear near the top of the list; if your airdrop should skip them, remove those rows from the CSV by address, or send from a list you edited.
- What is the difference between holders and token accounts?
- A token account is the on-chain record that stores a balance for one wallet and one mint; a wallet can own more than one for the same mint. The tool sums every account per owner and counts each owner once, so Holders is the number of distinct wallets with a positive balance.
- Can I airdrop a different token to these holders?
- Yes. Download the CSV, keep the owner column, add the amount for each row, and upload the file to the Multisender with the reward token selected. The Airdrop to these holders button is the shortcut for sending the same token; the CSV route works for any token.How to airdrop SPL tokens to multiple wallets
- How much does it cost to airdrop to the list?
- The first 20 recipients are free, each recipient after that costs 0.001 SOL, and a single batch never pays more than 0.3 SOL. That is the DexLab service fee on mainnet; the sending wallet also pays the Solana network fee per transaction and the rent for any recipient token account that does not exist yet. Devnet is free.Open the Multisender