# How to check token holders, then message them

> How to check token holders on Solana, Ethereum, Base and BNB Smart Chain, what the top rows really are, and how to message the wallets behind them.


Search treats how to check token holders as a block-explorer question, and half of it is: paste the mint or the contract address, open the Holders tab, read the rows. The other half is what to do with the rows, and that is where most answers stop. A holder list is a list of addresses, and an address is something you can write to or require a balance from. Cherry (cherry.fun) is a wallet-to-wallet messenger and community app for crypto: you sign in with a wallet, DM any address, and join token-gated, NFT-gated and paid group chats, with no phone number, email or KYC.

## Before you start

- The mint address (Solana) or the contract address (Ethereum, Base, BNB Smart Chain), taken from the project's own site or a listing page. Copying a contract address out of a chat message is how people end up reading the holder list of a pool or a copycat token.
- An explorer for that chain. Solscan or Solana Explorer for SPL and Token-2022 mints; Etherscan, BaseScan and BscScan for ERC-20 and BEP-20 contracts.
- A wallet you can sign with, if you want to act on what you find. Signing in to Cherry is a message signature, so nothing goes on-chain and there is no gas.

## Step 1: Read the Holders tab on a Solana explorer

Open the mint on Solscan and pick the Holders tab. Solana puts one layer between a person and a balance, and the tab shows both: each row carries the token account that holds the balance and the owner address that controls that account, along with its share of supply. The owner column is the useful one, because an owner address is a wallet a person signs with.

Token-2022 mints open the same page. One extension changes what you can see: a mint using confidential balances keeps transfer amounts and account balances private while the account addresses stay public, so for those accounts the list tells you who is there and not how much they hold.

You know you read the right token when the symbol, name and mint at the top of the page match the ones published by the project itself.

## Step 2: Read the same list on the EVM chains

Etherscan's token page carries a Holders tab, which its own documentation describes as all of the token's holders in order of their holding quantity or percentage. BaseScan and BscScan are built by the Etherscan team and follow the same layout, so an ERC-20 on Base and a BEP-20 on BNB Smart Chain read exactly like an ERC-20 on Ethereum.

The shape of a row is simpler here: no token account sits under the holder, so the address in the first column is the address you would message. You know you are on the right contract when the token tracker name and symbol match the project's published contract, not a lookalike with one character changed.

## Step 3: Separate the people from the contracts

The top of a holder list is mostly not people. Expect an exchange wallet holding thousands of customer balances in a single address, liquidity pool positions, a program-owned or contract-owned vault, and a locked team allocation. On a fresh memecoin the largest row is often the pool the token trades against.

Click through every address in the top ten before you quote a concentration number. Explorers label the exchange and contract addresses they know. On Solana, a row whose owner is a program is machinery. On the EVM chains, an address with code published against it is a contract. "The top ten hold 60%" means one thing when those ten are wallets and something else when six of them are a pool, a bridge and an exchange.

You know you have read the list properly when you can say, for each of the top ten rows, whether a person could answer a message sent there.

## Step 4: Accept what a holder list cannot tell you

Four limits, all structural:

- One person can hold the same token in ten wallets, and nothing on the list connects them. Rank is a property of an address, not of a human.
- Anyone holding through an exchange does not appear at all. Their balance sits inside the exchange wallet, which is why a token can have far more holders than rows worth reading.
- Balance is not conviction. The list shows a number today, with no entry price, no holding period and no intent.
- Counts disagree between sites because they measure different objects. A Solana explorer counts token accounts holding the mint, and one owner can hold the same mint in more than one account, so an account count runs ahead of the number of people.

A holder list stops there. Everything past it comes from talking to the addresses.

## Step 5: Message a wallet from the list

Copy an owner address, press "New chat" in the Cherry web app and paste it into the field labelled "Wallet, domain or group name". A name works in the same field: `alice.sol`, the same registry written `alice.sns`, or `alice.skr` on a Solana Seeker. The recipient does not need to be on Cherry yet, and the conversation waits until they sign in with that wallet.

How it arrives is your choice, and the difference matters when you write to a stranger:

| Send | Where it lands | Notification | Cost |
|---|---|---|---|
| Free first message | The recipient's Requests tab | None | Free |
| Notify | The recipient's Requests tab | Push notification | 0.01 SOL, the default as of September 2026 |

The paid route delivers only after the transfer confirms on-chain; abandon the transaction and no message is created at all. [Message requests and paid DMs](https://cherry.fun/learn/features/message-requests-and-paid-dm/) covers both paths in full, and the [step-by-step version of a single DM](https://cherry.fun/learn/guides/message-a-wallet-address/) walks through the screens.

One warning before you paste a hundred addresses into a script: this is a messenger with anti-spam rules, and mass cold outreach fails quietly. Declining a request is silent, so a sender cannot tell a refusal from an unread message. Cold messages from a brand-new wallet are hidden from the recipient with no notification at all. Ten specific messages to ten holders you actually want to talk to will outperform a thousand copies of the same text.

## Step 6: Let the room do the checking

The other use of a holder list is to stop needing one. A public group on Cherry can require a balance: open "Access requirements" when you create the group in the web app, switch on "Token requirement", paste the mint into "Token mint address" and type a floor into "Minimum amount". Every wallet that joins is checked against the chain, and Cherry re-checks members in the background, so a wallet that sells below the floor is paywalled, keeping the room while the messages are withheld until the balance is back; the catch-up can take up to a few days. A room can carry up to five rules, matched with every rule or any one of them.

That inverts the work in Step 1. Instead of exporting addresses and hoping the owners read something, you get a room where membership is the proof of holding, and every member's profile has a message button. The same idea runs on other assets: the SNS Club is gated by holding a `.sol` name and had 1,454 members in September 2026.

[SNS Club on Cherry](https://chat.cherry.fun/@sns)

[Token-gated chat](https://cherry.fun/learn/features/token-gated-chat/) explains the rule types, and [creating a token-gated group chat](https://cherry.fun/learn/guides/create-a-token-gated-group-chat/) is the full walkthrough with the gating editor.

Open [chat.cherry.fun](https://chat.cherry.fun) with the list still open: message an owner address, or paste the mint into a room rule.

## Troubleshooting

**Two explorers disagree on the holder count.** Neither is broken. Check whether the number counts accounts or owners, and whether zero balances are filtered out, before you treat the difference as a signal.

**The list is all contracts.** For a young token most of the supply is in the pool and the launch program. Read the distribution again after the token has traded for a while, and use the owner column rather than the account column on Solana.

**Your message got no reply.** A free first message is silent by design, so the recipient may never have seen a notification for it. Check the address once more, and use the Notify option if the message is worth 0.01 SOL to you.

**The wallet has never signed in.** Nothing breaks. The message waits in that address's inbox for whenever its owner first signs in to Cherry with it.

## Related guides

- [How to reach token holders](https://cherry.fun/learn/guides/reach-token-holders/): the same problem from the token team's side, including broadcasts and airdrops.
- [How to message a wallet address](https://cherry.fun/learn/guides/message-a-wallet-address/): the single-DM version, screen by screen.
- [DM a wallet address](https://cherry.fun/learn/features/dm-a-wallet-address/): what wallet-to-wallet messaging is and how the inbox works.

## FAQ

### How do I check who holds a token?

Open the mint or contract address on a block explorer for that chain and read its Holders tab. A Solana explorer lists each token account with the owner address behind it, while Etherscan, BaseScan and BscScan list holder addresses ordered by how much they hold.

### How do I get token holders on Solana?

Paste the mint into a Solana explorer and open the Holders tab, which shows the token account, its owner address and its share of supply. The owner addresses are the part worth copying, because those are the wallets you can message or gate a room by.

### Are the top holders of a coin real people?

Often not. The top rows are usually an exchange wallet holding thousands of customer balances in one address, a liquidity pool, a program-owned vault or a locked team allocation. Click each of the top addresses and check what it is before you read anything into a concentration figure.

### Can I message a token holder from the holder list?

Yes. Copy the owner address, paste it into the Cherry search box and write one message. Sent free it lands in the recipient's Requests tab with no push notification; the Notify option costs 0.01 SOL, the default as of September 2026, and delivers with a notification once the payment confirms.

### Why do two sites show different holder counts for the same token?

Because they count different things. A Solana explorer counts token accounts that hold the mint, and one owner can hold the same mint in more than one account, so an account count runs ahead of the number of people.

## Sources

- [Solscan documentation: the token page and its Holders tab](https://docs.solscan.io/browsing-the-site/token-page)
- [Etherscan Information Center: understanding the token page](https://info.etherscan.com/understanding-token-page/)
- [BaseScan token tracker for ERC-20 tokens on Base](https://basescan.org/tokens)
- [Solana developer guide: confidential balances](https://solana.com/developers/guides/token-extensions/confidential-transfer)
- [SNS Club on Cherry](https://chat.cherry.fun/@sns)

