An empty token account on Solana usually means a token account whose token amount is zero while the underlying on-chain account still exists.
This commonly happens after all tokens in the account have been transferred, sold through a transaction, swapped, or burned. Changing the token amount to zero does not automatically execute the Token Program's CloseAccount instruction.
An empty account can therefore look like this:
Token amount: 0
Token account: still exists
Lamports: still present
If the account satisfies the applicable close requirements and the required authority approves the instruction, CloseAccount can transfer the account's remaining lamports to a specified destination and close the token account.
- An empty token account normally means a token account with a zero token amount that still exists on-chain.
- Transferring, selling, swapping, or burning the remaining tokens does not automatically close the token account.
- A zero token amount does not mean the account contains zero lamports.
- Closing and burning are separate Token Program operations:
Burnreduces token balance and mint supply, whileCloseAccountcloses the token account and transfers its remaining lamports. - A zero token amount alone is not enough to determine whether an account is eligible or appropriate to close.
- Wrapped SOL token accounts and some Token-2022 configurations require additional care when applying ordinary token-account rules.
- An empty token account is not automatically unwanted; an account you expect to use again may still be useful.
What exactly is an empty token account?
A Solana token account is an on-chain account used by a Token Program to store a balance for one specific token mint together with account state such as its token authority information.
For example:
Token account
├── Mint: Token A
├── Token amount: 100
└── Lamports: account funding
If all 100 units leave the account, it can become:
Token account
├── Mint: Token A
├── Token amount: 0
└── Lamports: account funding
The token amount is zero, but the token account itself still exists.
That is the state generally described as an empty token account.
For the underlying account model, see What Is a Solana Token Account?.
Why doesn't the token account disappear when its balance reaches zero?
Because changing a token balance and closing a token account are separate operations.
Suppose an account contains:
Token amount: 500
A transfer of all 500 tokens changes the stored token amount:
500 → 0
That transfer does not by itself execute:
CloseAccount
A burn is also a different instruction. Solana's Token Program documents Burn or BurnChecked as operations that reduce the token account balance and reduce the mint's total supply by the same amount. They do not themselves close the token account.
This separation is one reason wallets that have interacted with many tokens can accumulate zero-balance token accounts over time.
How do token accounts become empty?
They usually begin as ordinary token accounts that were created for a real token interaction.
A common lifecycle is:
Token account created
↓
Tokens received
↓
Tokens transferred, sold, swapped, or burned
↓
Token amount reaches zero
↓
Token account remains until separately closed
For many common wallet workflows, the account is an Associated Token Account, or ATA.
An ATA is the deterministic default token account for a particular combination of wallet owner, token mint, and token program. It is still a normal token account governed by the applicable Token Program.
An account being empty does not necessarily mean it is obsolete. If you later use the same token again, an existing suitable token account may be useful again.
Why can an empty token account still hold lamports?
A token amount and an account's lamport balance represent different things.
Conceptually:
Token amount
→ units of the token mint recorded by the Token Program
Lamport balance
→ SOL-denominated funding held by the Solana account itself
An account can therefore simultaneously have:
Token amount: 0
Lamports: greater than 0
Solana accounts require enough lamports to satisfy the network's rent-exemption requirements for their allocated data size.
A standard 165-byte token account is commonly associated with a rent-exempt minimum of approximately:
2,039,280 lamports
≈ 0.00203928 SOL
However, this figure should not be treated as a universal refund amount.
Token-2022 extensions can increase account size, different accounts can have different funding levels, and the actual lamport balance should be read from the account itself.
Can the lamports in an empty token account be reclaimed?
If the account can validly be closed, yes.
Solana's Token Program CloseAccount instruction transfers the source token account's remaining lamports to a specified destination and closes the source account.
Conceptually:
Eligible token account
├── Token amount: 0
└── Lamports: account balance
↓ CloseAccount
Destination receives remaining lamports
+
source token account is closed
This is the mechanism behind reclaiming SOL from eligible empty token accounts.
It is therefore more accurate to describe the process as closing an eligible account and receiving its remaining lamports rather than receiving newly created or "free" SOL from the network.
Is every zero-balance token account closable?
No.
A zero token amount is an important condition for closing an ordinary non-native token account, but it is not a complete eligibility test.
The Token Program's close logic also depends on the account and the authority approving the instruction. Token-2022 can apply additional checks for certain extensions.
Relevant considerations can include:
- whether the account is governed by the original Token Program or Token-2022;
- the token amount and account state;
- the token account owner and any configured close authority;
- Token-2022 extensions that affect closing behavior;
- whether the account represents native wrapped SOL; and
- whether closing the account is actually what you intend to do.
Wrapped SOL is an important exception to the ordinary zero-token requirement. A native WSOL token account can be closed to unwrap the underlying SOL even when its recorded token amount is nonzero.
For a fuller explanation, see Can You Close a Solana Token Account?.
Is an empty token account the same as an empty wallet?
No.
A wallet address and the token accounts associated with it are different Solana accounts.
A typical wallet can be associated with many token accounts:
Wallet
├── SOL
├── USDC token account
├── Token A account
├── Token B account
└── Token C account
If Token B's account has a zero token amount, that describes only Token B's token account.
It does not mean the wallet itself is empty, closed, or deleted.
Closing one eligible token account also does not close the wallet or affect unrelated token accounts.
Why might my wallet app not show an empty token account?
Wallet interfaces are presentation layers over on-chain data.
A wallet application may choose not to display every zero-balance token account in its main asset list, or it may filter or organize assets according to its own interface rules.
That presentation behavior should not be confused with an on-chain account operation.
Whether a token account actually exists is determined by Solana account state, not by whether a particular wallet UI currently shows a token entry.
For cleanup decisions, inspect the underlying account rather than treating the visible token list as a complete inventory of token accounts.
For ways to inspect them, see How to Find Token Accounts on Solana.
Can an Associated Token Account be empty?
Yes.
An Associated Token Account is still a token account. Its token amount can reach zero while the ATA itself remains on-chain.
For example:
Wallet + USDC mint + Token Program
↓
USDC ATA
↓
Token amount reaches 0
↓
ATA remains until separately closed
If an eligible ATA is closed and the standard ATA is needed again later, it can be recreated at the deterministic associated-token address.
That is one reason an empty ATA should not automatically be treated as unwanted. If you expect to use that token again, keeping the account may avoid recreating and funding it later.
What about empty Token-2022 accounts?
Token-2022 also uses token accounts, so a Token-2022 account can have a zero token amount while remaining on-chain.
However, Token-2022 supports extensions that can change account size and add behavior beyond the original Token Program.
That means you should not assume:
classic 165-byte token account
=
every Token-2022 token account
In particular:
- the account may be larger;
- the rent-exempt requirement may therefore differ;
- some extensions can add additional checks around closing; and
- eligibility should be determined from the actual account configuration.
A scanner that supports Token-2022 should inspect the account and its extensions instead of applying one fixed rule to every token account.
Does burning the remaining tokens close the account?
No.
Burning and closing are separate Token Program operations.
Solana documents burning as reducing the token account balance and the mint's total supply:
Burn
→ token amount decreases
→ mint total supply decreases
Closing performs a different operation:
CloseAccount
→ remaining lamports transferred to destination
→ token account closed
If you burn the entire balance of an ordinary token account, the result can therefore be:
Token amount: 0
Token account: still exists
The account must be evaluated separately for closing.
This distinction is important when using a token burning tool or a broader wallet cleanup workflow.
Should you close every empty token account?
No.
"Empty" describes the current token amount. It does not mean an account is automatically unnecessary.
Before closing one, consider:
- whether you recognize the token and account;
- whether you expect to receive or use that token again;
- whether the account is actually eligible to close;
- which token program governs it;
- whether a Token-2022 extension changes its behavior;
- which authority must approve the close instruction;
- how many lamports the account actually holds; and
- whether the proposed transaction and applicable fees match your intent.
For an ATA you expect to use again, closing it may simply mean that the account has to be recreated and funded later.
The goal should be to close accounts you intentionally no longer need, not to maximize the number of accounts closed.
How do you find empty token accounts?
You can inspect token accounts through Solana RPC, explorers, SDK or CLI tools, or a wallet scanner.
A careful review process looks like this:
- Find the token accounts associated with your wallet. Inspect the underlying on-chain accounts rather than relying only on the wallet application's visible asset list.
- Read each account's token amount. For an ordinary token account, a zero amount identifies an empty token balance.
- Identify the governing token program. Distinguish the original Token Program from Token-2022.
- Inspect account state and authority. A zero token amount alone does not establish that you can or should close the account.
- Read the actual lamport balance. Do not assume every account contains the same refundable amount.
- Decide whether you still need the account. An empty account may be useful again later.
- Review the close transaction before signing. Confirm the source accounts, destination, instructions, and fees match your intent.
For the discovery methods in more detail, continue with How to Find Token Accounts on Solana.
How does Your Free SOL check eligible empty accounts?
If your goal is to find supported empty token accounts without manually inspecting them one by one, Reclaim SOL scans public on-chain account data for supported accounts that meet the tool's eligibility checks.
The interface lets you review the detected accounts and estimated refundable SOL before you choose whether to proceed.
If you also need to deal with unwanted token balances, Wallet Cleanup provides a broader workflow that can include token burning and eligible account closure as separate actions.
Your Free SOL is non-custodial: the transaction is presented to your wallet for approval. A legitimate account scan does not require your seed phrase or private key.
Before using the tools, you can also review How It Works, Security, FAQ, and Fees.
What happens when an empty token account is closed?
When a valid CloseAccount instruction succeeds, the token account's remaining lamports are transferred to the specified destination and the source token account is closed.
That operation affects the token account being closed. It does not close the wallet, remove the token mint, or modify unrelated token accounts.
If the closed account was an Associated Token Account and an application later needs that ATA again, the ATA can be recreated at its deterministic address.
For the full lifecycle, see What Happens When You Close a Solana Token Account?.
The simple answer
An empty Solana token account is generally a token account with a token amount of zero that still exists on-chain.
It can remain after tokens are transferred, sold, swapped, or burned because those actions change token balances but do not automatically execute CloseAccount.
While the account remains open, it can still hold lamports. If the account satisfies the applicable close requirements and the proper authority approves the instruction, CloseAccount can transfer those remaining lamports to a destination and close the token account.
But empty does not mean automatically unnecessary, automatically closable, or automatically safe to close. Check the governing token program, account state, authority, actual lamport balance, and whether you expect to use the account again before approving a close operation.