SOLSTACKBlog
← All guides

Burning & Account Cleanup

Rent on Solana: Why You Have SOL Stuck in Empty Accounts

A deep dive into Solana's rent-exemption model — why every token account locks up SOL, why "empty" accounts from old airdrops are quietly costing you money, and how to get that SOL back.

2026-09-15·6 min read·Verified against mainnet-beta

If you've used a Solana wallet for more than a few months, you're probably holding SOL you don't know about — locked inside token accounts for tokens you no longer hold, claimed from airdrops you forgot existed. This is rent, and understanding it is worth five minutes, because for most active wallets it adds up to real money sitting idle.

Rent isn't a fee. It's a deposit.

On Ethereum, "storage" is something you pay for once and never see again. Solana works differently: every account on-chain — a wallet, a token account, a mint, a program's data account — has to maintain a minimum SOL balance to stay alive. This is the rent-exemption threshold, and it scales with how much data the account stores.

The key word is exemption. Once an account holds enough SOL to be "rent-exempt," Solana never charges it anything ongoing. The old alternative — accounts slowly bleeding SOL over time until they got garbage-collected — was deprecated years ago specifically because it was hostile to users. What survived is simpler: pay the threshold once, up front, and it's yours again whenever the account is closed.

For a standard SPL token account, that threshold is about 0.00203928 SOL — roughly two-thousandths of a SOL. Tiny individually. Not tiny in aggregate.

Where all these accounts come from

You don't create token accounts on purpose very often. Almost all of them get created for you, as a side effect of something else:

  • Someone airdrops you a token. To receive it, you need an associated token account (ATA) for that mint — whoever sent it typically paid to create the account, but it now lives in your wallet regardless of whether you ever wanted the token.
  • You try a new dApp or swap. Interacting with an unfamiliar token for the first time silently creates its ATA in your wallet.
  • You mint an NFT. Compressed NFTs aside, most NFT mints are themselves token accounts with a supply of 1.

None of this is malicious — it's just how the token model works. But two years of casual Solana use can leave a wallet holding 40, 80, 150 token accounts, the overwhelming majority empty or holding a dust amount of a token that's now worthless. Every one of them is still holding its ~0.002 SOL rent deposit, doing nothing.

Doing the math

It doesn't look like much until you add it up:

Empty accounts SOL locked (~0.002 each)
10 ~0.02 SOL
50 ~0.10 SOL
150 ~0.30 SOL

At current SOL prices, 150 dust accounts is real, spendable money that's been sitting inert in your wallet, doing nothing except padding the "tokens" tab of your wallet UI with things you don't hold anymore.

Is it actually safe to close them?

Yes, for the case that matters — a token account with a zero balance. Closing it:

  • Returns the rent deposit to your wallet immediately
  • Does not touch the mint, or any other holder's balance
  • Does not affect a token's total supply
  • Is trivially reversible in effect: if you're ever sent that token again, a fresh account is created for it automatically

The only accounts worth thinking twice about are ones that still hold a nonzero balance of something you might want — closing those requires transferring or burning the balance first, which most tooling (including Solstack's) simply won't let you do by accident, since a nonzero-balance close is rejected at the protocol level.

How to actually reclaim it

Manually, this means scanning your wallet's token accounts, checking each balance, and issuing a closeAccount instruction for every empty one — tedious past a handful of accounts, and each close is its own instruction needing to fit within a transaction's account limits, so a wallet with 100+ empty accounts needs multiple batched transactions.

Rent Reclaim does this in one pass: it scans your connected wallet, lists every token account sitting at a zero balance, and lets you close all of them (or a selection) across as many signed batches as needed — recovering the full ~0.002 SOL per account back to your wallet. Read the step-by-step in the Rent Reclaim docs.