Safety

Is it safe to close Solana token accounts? Risks explained

Cover image for Is it safe to close Solana token accounts? Risks explained

Closing an empty Solana token account is safe and reversible: it returns 0.00203928 SOL and can be reopened later. Burning a balance is the permanent part.

By Updated 7 min read1418 words

Key takeaways

  • Closing an empty Solana token account is safe and reversible: the SPL Token program returns the 0.00203928 SOL rent deposit and the account can be recreated at the same address later.
  • The SPL Token program's CloseAccount instruction fails if the token account still holds a balance, so tokens cannot be lost by closing alone.
  • Burning tokens is the irreversible step in Solana wallet cleanup: a burn reduces the mint's supply and nobody can restore the balance.
  • A legitimate Solana rent recovery tool needs only your signature on CloseAccount instructions; it never needs token approvals, a seed phrase or an upfront payment.
  • The realistic danger in Solana wallet cleanup is a fake site that swaps the expected transaction for a malicious one, not the CloseAccount instruction itself.

The short answer#

Yes. Closing an empty Solana token account is safe and effectively reversible: the SPL Token program deletes the account, returns its 0.00203928 SOL rent deposit to your wallet, and the same account can be recreated at the same address whenever you need it. The one permanent action in wallet cleanup is burning a token balance so that a non-empty account can be closed. Know which of the two you are signing and the rest is routine.

What does closing a token account actually do?#

Closing a token account runs one instruction, CloseAccount, in the SPL Token program or in Token-2022. A token account is the account that records how much of one specific token your wallet holds. CloseAccount does three things inside a single transaction:

  1. It checks that the signer is the account's owner, or its close authority if one has been set.
  2. It checks that the token balance is zero. If it is not, the instruction fails and nothing changes.
  3. It deletes the account and transfers every lamport in it to the destination address named in the instruction, normally your own wallet.

No tokens are burned and no delegate or approval is created. Your main wallet account is not modified beyond receiving SOL. The rent being returned is the refundable storage deposit described in what Solana rent is; it was your SOL the whole time.

The zero-balance check has one exception: wrapped SOL. Closing a wSOL account returns the wrapped balance together with the rent, which is simply how unwrapping works.

Can you reopen a token account after closing it?#

Yes. A closed token account can be recreated at the same address, because an associated token account (ATA) is derived deterministically from your wallet address and the token's mint. In practice:

  • You close your empty account for some token and get 0.00203928 SOL back.
  • A month later you buy that token again on Jupiter, or a friend sends you some.
  • The swap route or the sender's wallet includes a create instruction, the same ATA address comes back into existence, and the deposit is paid again.

The only cost of closing an account you later need is a second deposit, which is again refundable, plus a base network fee of 5,000 lamports per signature. For that reason I do not bother closing accounts for tokens I trade every week. For the long tail of tokens I will never buy again, closing has no downside.

What is the difference between closing and burning?#

Closing removes an empty container; burning destroys what is inside it. A burn (Burn or BurnChecked in the SPL Token program) subtracts tokens from your balance and from the mint's total supply. There is no inverse instruction, no support desk and no rollback.

Close an empty accountBurn a balance, then close
InstructionsCloseAccountBurnChecked + CloseAccount
What is destroyedNothing of valueThe entire token balance
ReversibleYes, the account can be recreatedNo
SOL returned0.00203928 SOL (standard SPL account)The same deposit
Typical useAccounts left behind after sellingWorthless dust or scam tokens you cannot sell

Burning makes sense for balances with no market: dead tokens, scam tokens you do not want to interact with, fractions too small to route. If a balance has any value, sell it first. Sell Dust for SOL quotes every small balance through Jupiter, swaps the ones that have a route and closes each emptied account in the same transaction; it charges 1% of the SOL received plus 5% of the rent reclaimed. If you deliberately want to destroy a balance, the token burn tool costs 0.005 SOL per transaction, and the spl-token burn command does the same thing for the network fee alone.

Which token accounts cannot be closed?#

A few token accounts cannot be closed, and the reasons are useful to recognise because the failure is harmless: the transaction is rejected and nothing changes.

  • Frozen accounts with a balance. If the token's freeze authority has frozen your account, you cannot transfer or burn the balance, so the account cannot be emptied. Only the freeze authority can thaw it. This is a common scam-token pattern, covered in mint authority vs freeze authority.
  • Token-2022 accounts holding withheld transfer fees. Tokens with the transfer-fee extension accumulate withheld fees inside recipient accounts. Those have to be harvested to the mint before the account will close.
  • Accounts whose close authority is someone else. Rare in ordinary wallets, but when another address holds the close authority, only that address can close the account and receive the rent.
  • Accounts owned by programs. Positions in staking or DeFi protocols are held in program-owned accounts and are not yours to close directly.

Token-2022 adds more edge cases, such as permanent delegates and transfer hooks, which I cover in Token-2022 explained for traders.

What are the real risks when using a cleanup tool?#

The real risk is signing a transaction that is not what the site claims. Drainer sites imitate popular tools, rent recovery sites included, and present a transaction that transfers your tokens or SOL instead of closing accounts. CloseAccount itself gives nobody any power over your funds.

A legitimate rent recovery tool should meet all of these:

  • It builds the transaction in your browser and hands it to your wallet to sign. Your seed phrase or private key is never requested, for any reason.
  • It asks for no token approvals. Approve instructions have no place in a cleanup flow.
  • It asks for no upfront payment. Any fee should come out of the recovered SOL inside the same transaction.
  • Your wallet's simulation shows SOL arriving and nothing of value leaving.
  • The destination for the rent is your own wallet.

If a site you do not fully trust asks you to connect, use the habits in the Solana wallet security checklist, including a separate burner wallet for untested sites. If you suspect you approved something in the past, the free delegation revoke tool lists every token account with an active delegate, and it works read-only on any pasted address.

How does SOLTidy handle closing accounts?#

SOLTidy builds CloseAccount transactions locally and your wallet signs them; there is no custody, no escrow account and no approval step. The Token Account Closer has two modes. Simple mode selects only empty accounts, so no burn can occur. Manual mode lets you pick individual accounts, including non-empty ones, which adds a burn in front of the close for those accounts. Up to 8 closes are packed into each transaction, and the fee is 5% of the rent recovered, paid as a transfer inside the same transaction. If nothing is recovered, nothing is charged.

You can paste any wallet address to preview what is closable without connecting or signing anything. And you do not need a tool at all for a small job: some wallets offer a close option in a token's menu, and spl-token close on the command line is free apart from the network fee. A bulk tool earns its fee when there are dozens of accounts. I explain who is behind SOLTidy and why the tools run client-side on the about page.

What should you check before signing?#

Check four things in the wallet popup before you approve a close transaction:

  1. The balance change. The simulation should show SOL coming in, roughly 0.002 SOL per account closed, and no tokens you care about going out.
  2. The selection. If any selected account shows a balance, that balance will be burned. Deselect it unless that is what you intend.
  3. The domain. Type the address or use a bookmark rather than following a link from a reply or a direct message.
  4. The count. The number of accounts on screen should match what the summary says, and the expected total should be about 0.00204 SOL multiplied by that number.

If any of those looks wrong, reject the transaction. A rejected close costs nothing, and the accounts will still be there tomorrow.

Bottom line#

Closing empty Solana token accounts is safe: the SPL Token program refuses to close an account that still holds tokens, the rent deposit goes to the address you name, and the account can be recreated at the same address later. Burning is the only irreversible step in wallet cleanup, so treat every burn as final and sell anything with value first. The practical danger is a fake site presenting a different transaction, which is a wallet-hygiene problem and has nothing to do with CloseAccount itself. Read the simulation, confirm the domain, and the operation is routine.

Questions & answers

Can I lose tokens by closing a Solana token account?

Not by closing alone. The SPL Token program and Token-2022 both reject a CloseAccount instruction when the token account holds a non-zero balance, with wrapped SOL as the only exception because its balance is returned as SOL. Tokens are lost only if a burn instruction runs first. If a tool is closing accounts that showed a balance, it burned that balance, and you should have been asked to opt in.

Can I reopen a token account after closing it?

Yes. An associated token account lives at an address derived from your wallet and the token's mint, so creating it again produces the same address. The next time you buy or receive that token, the swap interface or the sender recreates the account automatically and the 0.00203928 SOL deposit is paid again. Nothing about your wallet, history or ability to hold the token changes.

Does closing token accounts affect my airdrop eligibility or transaction history?

Closing a token account does not delete history. Every past transaction remains on chain and visible in explorers. Airdrop snapshots normally look at balances or past activity, and an empty account has no balance to count. The one case to think about is a project that sends tokens only to existing token accounts; if you expect a specific airdrop for a token, leave that one account open.

Why does a rent recovery site ask me to sign several transactions?

A Solana transaction is limited to 1,232 bytes, so only a limited number of close instructions fit in one. A wallet with dozens of empty accounts needs several transactions, each approved separately. SOLTidy packs up to 8 closes per transaction. Several prompts are normal; what is not normal is a prompt your wallet cannot simulate or one that shows tokens or SOL leaving.

What is the difference between closing and burning on Solana?

Closing removes an empty token account and refunds its rent deposit; it destroys nothing of value and can be undone by recreating the account. Burning destroys tokens by subtracting them from your balance and from the mint's total supply, and it cannot be undone. Cleanup tools burn only so that a non-empty account can then be closed. Treat any burn as final and check what the balance is worth first.

Do I need to revoke anything after using a token account closer?

No, provided the tool only asked you to sign close transactions. CloseAccount does not create a delegate or any standing permission, and a closed account no longer exists to be approved for anything. If you want to confirm that no old approvals exist on your remaining accounts, a delegation scan shows every token account with an active delegate and lets you revoke it.