How to Close Solana Token Accounts: Phantom, Solflare, Backpack
A step-by-step guide to closing empty Solana token accounts from any major wallet, what happens on-chain, and why a few accounts can't be closed.
To close token accounts on Solana, you send a CloseAccount instruction for each empty account. The Token Program deletes the account and moves its rent deposit to a wallet you choose, which is 0.00203928 SOL for most accounts opened before September 2026. You can do it one account at a time with developer tools, or close every empty account at once from Phantom, Solflare or Backpack with a batch tool like SOLclaimer.
Key takeaways
- Closing a token account sends its entire lamport balance to a destination you pick and removes the account from the chain.
- Only accounts with a token balance of exactly zero can be closed. Frozen accounts and some Token-2022 accounts can't be.
- Phantom, Solflare and Backpack all follow the same flow: connect, review the transaction, approve it in the wallet pop-up.
- Solana transactions are capped at 1,232 bytes, so a batch tool spreads hundreds of closes across several transactions.
- SOLclaimer charges 0.5% of the SOL you reclaim and asks you to sign nothing beyond the closes, the fee transfer and compute settings.
What happens when you close a token account on Solana
Your wallet doesn't hold tokens directly. Each token sits in its own token account, usually an Associated Token Account (ATA) tied to your wallet and that token's mint. When you buy or receive a new token, an ATA is usually created for it, and a rent deposit is locked inside.
Selling 100% of a token doesn't remove that account. It stays open with a zero balance, and the deposit stays locked. Active traders end up with dozens or hundreds of these empty ATAs.
Closing one is a single Token Program instruction, CloseAccount. Here's what it does:
- Checks that the account's token balance is exactly 0.
- Checks that the owner (or the account's close authority) signed the transaction.
- Moves every lamport in the account to the destination account named in the instruction.
- Removes the token account, so it no longer exists on-chain.
Nothing happens to tokens you still hold, because only empty accounts can be closed. If you get that token again later, your wallet simply opens a new ATA, which costs the current deposit of 0.00148844 SOL. For more on why the deposit exists at all, see our explainer on what Solana rent is.
Manual options vs a batch tool
You don't need any particular app to close an ATA. The instruction is public, and the SPL Token documentation covers closing accounts from the command line. The question is how much time you want to spend.
| Method | What you do | Good for | Drawbacks |
|---|---|---|---|
| SPL Token command-line tool | Install the Solana tools and close accounts from a terminal | Developers comfortable with a CLI | Technical setup; you handle signing yourself |
| Your own script | Build CloseAccount transactions with a Solana SDK |
Developers who want full control | Takes time; mistakes are yours to catch |
| Batch tool (SOLclaimer) | Connect your wallet, review, approve | Anyone with many empty accounts | 0.5% fee on what you reclaim |
If your wallet has its own clean-up feature, it works the same way under the hood: one CloseAccount per empty account. For a handful of accounts, any method is fine. For a few hundred, batching saves you a lot of clicking.
How to close token accounts on Solana with SOLclaimer
The flow is the same no matter which wallet you use. It takes about a minute.
Step 1: Scan your wallet first (optional)
Go to the claim tool and choose the option to scan any address without connecting. Paste your wallet address and run the scan. It's read-only and checks both the SPL Token program and Token-2022.
You'll see how many empty accounts were found, the total reclaimable SOL, the 0.5% fee and what you receive. Accounts that can't be closed are listed separately with the reason.
Step 2: Connect your wallet
Click the connect button and pick your wallet. Your wallet opens its normal connection pop-up. Approve it there. Connecting only shares your public address. Nobody asks for your seed phrase, and nobody legitimate ever will.
To claim, connect the same wallet you scanned. A scan of someone else's address shows the number but can't close anything.
Step 3: Review the accounts
Open the account list to see each empty account, labelled as SPL Token or Token-2022. Everything is selected by default. Untick any account you'd rather keep open, for example one you use with a specific app.
Step 4: Approve the transaction in your wallet
Click the claim button. Your wallet simulates the transaction and shows you the result before you sign. Here's what you should see, and nothing more:
- Compute Budget: a compute limit and a small priority fee.
- Token Program:
CloseAccountfor each selected account, with your own wallet as the destination. - System Program: one transfer of the 0.5% fee.
No token approvals, no delegations and no SetAuthority. The simulation should show SOL coming into your wallet, minus the fee and a tiny network fee.
Step 5: Check the result on Solscan
Once confirmed, the reclaimed SOL is already in your wallet. Every signature links to Solscan, so you can inspect each instruction and balance change for yourself.
Wallet notes for Phantom, Solflare and Backpack
All three are Wallet Standard wallets, so the steps above apply to each. Only the pop-up changes.
Phantom
Select Phantom when you connect, then approve the connection request in the Phantom pop-up. When you click claim, Phantom shows the simulated balance change. Check that SOL is coming in before you confirm.
Solflare
Pick Solflare from the wallet list and approve the request in the Solflare pop-up. If your Solflare account is backed by a hardware wallet, you'll also confirm each transaction on the device.
Backpack
Choose Backpack, approve the connection in the Backpack pop-up, and review the transaction the same way. As with any wallet, look at the balance change before you approve.
Other wallets
Any wallet that supports the Wallet Standard should appear in the list. On mobile, open the site inside your wallet app's built-in browser if it has one, so the connect request can reach the wallet.
Batching and the 1,232-byte transaction limit
A Solana transaction can be at most 1,232 bytes. Every CloseAccount instruction takes up space, because it lists the account being closed, the destination and the owner. Only so many fit in one transaction.
So a batch tool packs as many closes as fit and splits the rest into further transactions. SOLclaimer builds these batches in your browser. With a big wallet, your wallet may ask you to approve several transactions at once, and the app shows its progress batch by batch.
A few things to know about batches:
- Each transaction pays its own network fee: 5,000 lamports (0.000005 SOL) base, plus a tiny priority fee. Ten batches would cost 0.00005 SOL in base fees.
- Each batch carries its own fee transfer, so the 0.5% applies to exactly what that batch reclaims.
- If one batch fails, the others aren't affected. Scan again and retry the accounts that are left.
What you can't close, and why
Some accounts show up in a scan but can't be closed. The common reasons:
- The account isn't empty. Leftover "dust" or spam tokens mean the balance isn't zero. Those tokens have to be burned or sent away first. SOLclaimer only closes zero-balance accounts; it does not burn tokens.
- The issuer froze it. Tokens with a freeze authority can have accounts frozen, and a frozen account can't be closed.
- Token-2022 withheld fees. Some Token-2022 tokens charge transfer fees, and withheld fees must be harvested before the account can close.
- Token-2022 close authority. If the account's close authority isn't you, you can't close it.
SOLclaimer detects frozen accounts and the Token-2022 close authority case and leaves them out, so your transaction doesn't fail. Our post on why some token accounts can't be closed goes through each case in more detail.
Frequently asked questions
Does closing a token account delete my tokens?
No. Only accounts with a token balance of exactly zero can be closed, so there is nothing in them to lose. Accounts holding any amount of a token or an NFT are never included.
Can I reopen a token account after closing it?
Yes. If you buy or receive that token again, your wallet opens a new associated token account automatically. It costs the current rent deposit, 0.00148844 SOL as of late October 2026.
How much SOL do I get back for each closed account?
You get the account's full lamport balance. That's 0.00203928 SOL for almost every token account opened before September 2026 and 0.00148844 SOL for accounts opened since September 11, 2026, minus SOLclaimer's 0.5% fee.
Is it safe to connect my wallet to close accounts?
Connecting shares only your public address, and nothing moves until you approve a transaction. Read the simulation and the instruction list before signing; our guide on whether claiming SOL is safe covers the red flags of fake claim sites.
Why does my wallet ask me to approve more than one transaction?
A Solana transaction is limited to 1,232 bytes, so only a certain number of CloseAccount instructions fit in each one. Wallets with many empty accounts are split into several batches, and each batch is its own transaction.
Claim your SOL now
Every empty token account in your wallet is holding a deposit that belongs to you. Run a free scan, approve one request in your wallet, and claim your SOL back while keeping 99.5% of it.
Check how much SOL you can claim
Free 5-second scan of your wallet. Only 0.5% fee if you claim.
Claim your SOL