Solana Token Accounts

How to Find Token Accounts on Solana

Learn how to find Solana token accounts using your wallet address, RPC methods, explorers, or a wallet scanner, and identify empty accounts for review.

Updated
by Your Free SOL
Key takeaways
  • A Solana wallet can control many separate token accounts, so the assets visible in a wallet interface are not necessarily a complete account inventory.
  • Solana RPC provides getTokenAccountsByOwner for finding token accounts associated with a wallet owner.
  • Token accounts can belong to the original Token Program or Token-2022, so a complete scan may need to query both programs.
  • A zero token amount identifies an empty token balance, but it does not by itself prove that the account should or can be closed.
  • For cleanup, inspect the actual account state, token amount, lamport balance, authority, governing program, and relevant extensions before approving a close operation.
  • Read each account's actual on-chain lamport balance instead of estimating its SOL balance from a fixed historical rent amount.

A Solana wallet can accumulate many token accounts over time.

Some hold tokens you actively use. Others may have a zero token balance but remain open on-chain. Some may not even be obvious in your wallet's normal asset list.

If you want to understand your wallet—or find unused accounts that may contain reclaimable SOL—the first step is identifying the underlying token accounts rather than relying only on the tokens displayed by a wallet app.

You can do this with Solana RPC, explorers and developer tools, or an automated wallet scanner.

Why does a wallet have separate token accounts?

Your main Solana wallet account can hold native SOL, but fungible token balances are generally stored in separate accounts managed by Solana token programs.

A simplified wallet can look like this:

Wallet address
├── SOL
├── Token account for Token A
├── Token account for Token B
├── Token account for Token C
└── Token account for Token D

For common token workflows, an Associated Token Account (ATA) is used as the standard token account for a particular wallet owner, token mint, and token program.

This means your wallet address and your token-account addresses are not the same thing.

If you have interacted with many token mints, you can therefore have many separate token accounts.

For the underlying account model, see What Is a Solana Token Account?.

Why can't you just look at your wallet's token list?

A wallet interface is designed to present assets conveniently. It is not necessarily intended to expose every underlying token account.

Depending on the wallet and its filtering rules, it may:

  • hide zero-balance tokens;
  • filter spam or suspicious assets;
  • group assets by mint;
  • omit accounts from the main token list; or
  • simplify technical account information.

So a clean-looking wallet interface does not necessarily mean that no unused token accounts remain on-chain.

To find the underlying accounts, query Solana using your wallet address as the token-account owner.

Method 1: Use Solana RPC

For developers, one of the most direct methods is the Solana RPC method:

getTokenAccountsByOwner

It returns token accounts associated with a specified token-account owner, subject to the filter and configuration supplied in the request.

A request can filter accounts by token program ID.

For example, conceptually:

{
  "method": "getTokenAccountsByOwner",
  "params": [
    "YOUR_WALLET_ADDRESS",
    {
      "programId": "TOKEN_PROGRAM_ID"
    },
    {
      "encoding": "jsonParsed"
    }
  ]
}

Using jsonParsed makes common token-account fields easier to inspect without manually decoding the raw account data.

The RPC response provides on-chain account data. Token labels, valuations, risk classifications, and cleanup recommendations shown by an application are additional interpretations built on top of that data.

What information should you inspect?

Finding the account addresses is only the beginning.

For each token account, useful information can include:

FieldWhy it matters
Account addressIdentifies the token account itself
Governing programIdentifies whether the Solana account is owned at the program level by the Token Program or Token-2022
Token-account ownerIdentifies the authority recorded by the token account for controlling its tokens
MintIdentifies which token the account stores
Token amountShows whether tokens remain
DecimalsHelps interpret the displayed token amount
LamportsShows the actual SOL-denominated balance held by the account
Account stateHelps determine which operations are permitted
Close authorityMay determine who can authorize account closure
ExtensionsToken-2022 extensions can affect account structure and behavior

This distinction between the governing program and the token-account owner is important.

At the Solana account level, a token account is owned by the Token Program or Token-2022 Program. Inside the token-account data, an owner authority identifies who controls the tokens according to that token program's rules.

For cleanup purposes, do not reduce all of this information to a single rule such as:

token amount = 0
→ close account

A zero token amount is useful information, but closure eligibility and whether you actually want to close the account still need to be evaluated separately.

Method 2: Use a Solana explorer

A Solana block explorer can help you inspect a wallet address and the accounts or token holdings associated with it.

This approach is useful when you want to investigate individual accounts manually without writing code.

A typical process is:

  1. Copy your public Solana wallet address.
  2. Open a trusted Solana explorer.
  3. Search for the wallet address.
  4. Review its token holdings and account information.
  5. Open individual token-account details when more information is needed.
  6. Check the mint, token program, token amount, authorities, account state, and lamport balance.
  7. Verify the account details before deciding whether any cleanup action is appropriate.

Explorer interfaces vary, so the exact labels and tabs may differ.

Also remember that finding an account and determining that it can safely be closed are separate tasks.

Method 3: Use Solana CLI or developer tooling

If you work with Solana development tools, command-line utilities and SDKs can also query token-account information.

This can be useful when you want to:

  • inspect accounts programmatically;
  • compare many accounts;
  • automate wallet analysis;
  • verify RPC results; or
  • build your own account-management workflow.

The underlying goal remains the same: identify the token accounts associated with the wallet and inspect their actual on-chain state.

For most ordinary wallet users, however, raw RPC responses and command-line output can be unnecessarily technical.

Method 4: Use a wallet scanner

A wallet scanner can automate account discovery and present the results in a more understandable form.

If your goal is specifically to find supported eligible empty token accounts and recover the SOL held by them, Reclaim SOL scans the connected wallet's public on-chain data and presents detected accounts for review.

If you also want to review unwanted token balances, Wallet Cleanup provides a broader workflow that combines token review with eligible empty-account cleanup.

A typical review process is:

  1. Connect your Solana wallet.
  2. Let the tool scan the wallet's public on-chain token-account data.
  3. Review the accounts and assets it identifies.
  4. Check which accounts are empty or otherwise presented as cleanup candidates.
  5. Review the detected SOL balances and applicable fees.
  6. Select only the accounts or assets you intend to clean up.
  7. Inspect the prepared transaction in your wallet before approving it.

Connecting a wallet should not require sharing your seed phrase or private key.

Your Free SOL is non-custodial, and transactions require wallet approval.

You can review How It Works and Security before using the tools.

How do you identify an empty token account?

For an ordinary token account, one important signal is a token amount of zero.

Conceptually:

Token account A
Token amount: 42
→ Not empty

Token account B
Token amount: 0
→ Empty token balance

But an empty token balance does not mean the Solana account has disappeared.

The account can remain open on-chain and continue holding lamports.

These are separate values:

Token amount
→ balance of the token mint

Lamport balance
→ SOL-denominated balance held by the account itself

For cleanup purposes, read the token account's actual on-chain lamport balance rather than assuming that every empty account contains a fixed amount of SOL.

The rent-exempt minimum can depend on the account's data size and the network's current rent parameters, while Token-2022 extensions can also affect account size and behavior.

More importantly, an existing account's actual lamport balance does not have to equal a generic rent estimate.

So the relevant questions are:

Is the token amount zero?
        ↓
Does the token account still exist?
        ↓
How many lamports does it actually hold?
        ↓
Is the account eligible and intended for closure?

Read What Are Empty Token Accounts on Solana? for the full explanation.

How can you check the SOL held by a token account?

The account's lamport balance is part of its on-chain account data.

Remember:

1 SOL = 1,000,000,000 lamports

For example, if an account contains:

1,500,000 lamports

that equals:

0.0015 SOL

The important point is not the example value but that the amount should come from the actual account you found.

Do not estimate a token account's SOL balance from the number of accounts, token type, or a historical fixed rent value.

For cleanup, a scanner should read the lamport balance of each detected account and use that account-level data when showing the SOL associated with potential closure.

Do you need to scan both Token Program and Token-2022?

For a more complete token-account inventory, yes.

Solana has the original Token Program as well as Token-2022.

Token-2022 supports extensions that can add functionality and affect account structure and size.

That matters for two reasons:

  1. a scanner that queries only one token program can miss accounts governed by the other; and
  2. assumptions based on the standard classic token-account layout should not automatically be applied to extended Token-2022 accounts.

Can one token have more than one account?

Yes.

A wallet owner can have token accounts beyond the canonical Associated Token Account for a mint.

An ATA gives applications a standard, deterministic token-account address for a particular owner, mint, and token program, but other token accounts can also exist.

That is another reason to query the actual on-chain accounts rather than simply construct one expected ATA address per mint and assume the inventory is complete.

For wallet cleanup, the object you ultimately need to evaluate is the actual token account found on-chain.

How do you know whether a found account can be closed?

Finding an account is not the same as determining closure eligibility.

A scanner or manual review should separately answer questions such as:

Does the account exist?
        ↓
Which token program governs it?
        ↓
Does it still hold tokens?
        ↓
Is it a native Wrapped SOL account?
        ↓
What is its state?
        ↓
Which authorities are configured?
        ↓
Do relevant extensions affect closure?
        ↓
Is closure valid and intended?

Only then should an account be treated as a potential close candidate.

For example, an ordinary non-native token account generally needs a zero token balance before it can be closed, while Wrapped SOL token accounts are a special case.

The next article, Can You Close a Solana Token Account?, covers closure eligibility in detail.

What if the token account still contains tokens?

Do not treat it as an ordinary empty-account closure candidate.

If the account contains tokens you want to keep, closing it is not the appropriate cleanup action.

If it contains unwanted tokens, first decide what you intentionally want to do with those assets.

Depending on the token and your intent, that might include:

  • keeping the tokens;
  • transferring them;
  • selling or swapping them through an appropriate application; or
  • deliberately burning them.

If you intentionally want to permanently destroy unwanted tokens, see the Burn workflow.

Burning a token and closing its account are separate operations. A burn can reduce the token amount to zero while leaving the token account itself open until it is separately closed.

How do you find accounts with reclaimable SOL?

A practical search for reclaimable SOL is narrower than simply finding every token account.

You are looking for accounts that:

  • exist on-chain;
  • are associated with your wallet;
  • are supported by the workflow you are using;
  • satisfy the applicable token-account closure requirements;
  • are no longer needed;
  • can be closed with the required authorization; and
  • contain lamports that will be transferred when validly closed.

The amount associated with a potential closure should come from the account's actual lamport balance, not from a fixed per-account estimate.

Conceptually:

Find token accounts
        ↓
Identify empty accounts
        ↓
Check program, state and authorities
        ↓
Read actual lamport balances
        ↓
Determine closure eligibility
        ↓
Review accounts you intend to close

If your goal is specifically to recover SOL from supported eligible empty token accounts, use Reclaim SOL.

For the underlying process, see How to Reclaim Solana Rent with YourFreeSOL.

Is scanning a wallet dangerous?

Reading public blockchain data does not require control of the wallet.

Your public wallet address and its on-chain accounts are already visible on Solana.

A scanner can therefore inspect public account information without your seed phrase or private key.

The sensitive step comes later if you choose to authorize a transaction.

When a cleanup transaction is prepared, inspect it in your wallet before signing.

For more information about the Your Free SOL workflow, see Security, FAQ, and Fees.

Explorer, RPC, or wallet scanner: which should you use?

It depends on what you are trying to accomplish.

MethodBest forMain tradeoff
ExplorerManual inspectionSlower for many accounts
Solana RPCDevelopers and precise programmatic queriesRequires technical implementation
CLI / SDKDevelopment and automationMore technical
Wallet scannerConvenient account discovery and cleanup reviewRequires evaluating the tool and transaction

These methods are not mutually exclusive.

For example, you can use a wallet scanner to identify an account and then independently inspect that account with an explorer before approving a transaction.

The important sequence is:

Find
  ↓
Inspect
  ↓
Determine eligibility
  ↓
Review transaction
  ↓
Approve only if intended

The simple answer

The most direct technical way to find token accounts associated with a Solana wallet is to query the blockchain for token accounts owned by that wallet, commonly using getTokenAccountsByOwner.

For a more complete inventory, account for both the original Token Program and Token-2022 rather than assuming every token account uses the same program.

Once the accounts are found, inspect their token amounts, actual lamport balances, governing programs, account states, authorities, and relevant extensions.

A token amount of zero can identify an empty token balance, but it does not by itself prove that the account should or can be closed.

Likewise, do not estimate how much SOL an account contains from a historical fixed rent value. Read the actual account balance from on-chain data.

The correct sequence is simple:

find the account, inspect its actual state, determine closure eligibility, and only then decide whether to close it.

If you want the next step—determining when closure is actually valid—continue with Can You Close a Solana Token Account?.

Sources

  1. 1.Solana Docs — Tokens
  2. 2.Solana RPC — getTokenAccountsByOwner
  3. 3.Solana Docs — Accounts
  4. 4.Your Free SOL — Wallet Cleanup

Related articles

explanation

What Is a Solana Token Account?

Learn what Solana token accounts are, how they differ from your wallet address, why empty accounts can remain, and when eligible accounts may return SOL when closed.

explanation

What Are Empty Token Accounts on Solana?

Learn what empty Solana token accounts are, why they remain on-chain after a token balance reaches zero, why they can still hold lamports, and when they may be closed.

guide

Can You Close a Solana Token Account?

Learn when a Solana token account can be closed, what happens to its remaining lamports, which exceptions apply, and why a zero token balance alone is not enough.