Key takeaways
- An empty SPL token account returns 0.00148844 SOL if it was opened after Solana lowered rent, or 0.00203928 SOL if it was opened before, whichever token it held.
- Recoverable SOL is roughly the number of empty token accounts times 0.0015 to 0.002, so 50 empty accounts hold between about 0.074 and 0.102 SOL.
- Token-2022 accounts return slightly more rent than SPL token accounts because extensions make them larger: a typical one holds about 0.00151 SOL, or 0.00207 SOL if opened before the change.
- Solana network fees barely reduce rent recovery: a transaction closing 8 token accounts pays a 5,000-lamport base fee against 11.9 to 16.3 million lamports returned.
- The SOLTidy Token Account Closer charges 5% of recovered rent, so a wallet recovering 0.1 SOL keeps 0.095 SOL after the fee.
The short answer
You recover 0.00148844 or 0.00203928 SOL for every empty standard SPL token account you close, depending on whether it was opened after or before Solana lowered the rent rate. The total is the number of empty accounts multiplied by that deposit: fifty accounts is between about 0.074 and 0.102 SOL, and five hundred is between 0.74 and 1.02 SOL. Network fees take a fraction of a percent, and a bulk tool's fee, where you use one, comes out of the recovered amount.
How much SOL is locked in one token account?
A new standard SPL token account holds 1,488,440 lamports, which is 0.00148844 SOL. That is the rent-exempt minimum for 165 bytes of account data under Solana's current formula, (128 + bytes) x 5,080 lamports. Before Solana lowered the rent rate the multiplier was 6,960, and an account keeps the lamports it was created with, so a token account opened back then still holds 2,039,280 lamports, 0.00203928 SOL, and returns all of it when closed. Within each group the amount is identical for every SPL token, because every SPL token account has the same layout. The background is in what Solana rent is.
Other account types you may be able to close hold different amounts:
| Account type | Size | Returned on close (opened recently) | Returned on close (opened before the change) |
|---|---|---|---|
| SPL token account | 165 bytes | 0.00148844 SOL | 0.00203928 SOL |
| Token-2022 associated token account (typical) | 170 bytes | 0.00151384 SOL | 0.00207408 SOL |
| Token-2022 account with more extensions | larger | more, scaling with size | more, scaling with size |
| Wrapped SOL account | 165 bytes | 0.00148844 SOL plus the wrapped balance | 0.00203928 SOL plus the wrapped balance |
| pump.fun / PumpSwap volume accumulator | 137 bytes | 0.0013462 SOL | 0.0018444 SOL |
| Metaplex NFT (burned, not just closed) | several accounts | usually 0.006 to 0.008 SOL | usually 0.008 to 0.01 SOL |
For any other size, the free Solana rent calculator returns the deposit from a byte count using the live network rate.
How do you estimate your total?
Multiply your empty token accounts by 0.00148844 SOL for a low estimate and by 0.00203928 SOL for a high one. Most wallets that have been active for a while land in between, because they hold a mix of older and newer accounts. Token-2022 accounts add a little on top.
| Empty token accounts | Rent locked if all new | Rent locked if all old | After a 5% tool fee | Value at $150/SOL, for illustration |
|---|---|---|---|---|
| 10 | 0.0149 SOL | 0.0204 SOL | 0.0141 to 0.0194 SOL | about $2 to $3 |
| 20 | 0.0298 SOL | 0.0408 SOL | 0.0283 to 0.0387 SOL | about $4 to $6 |
| 50 | 0.0744 SOL | 0.1020 SOL | 0.0707 to 0.0969 SOL | about $11 to $15 |
| 100 | 0.1488 SOL | 0.2039 SOL | 0.1414 to 0.1937 SOL | about $22 to $31 |
| 250 | 0.3721 SOL | 0.5098 SOL | 0.3535 to 0.4843 SOL | about $56 to $76 |
| 500 | 0.7442 SOL | 1.0196 SOL | 0.7070 to 0.9687 SOL | about $112 to $153 |
These rows are arithmetic, not survey data. I do not know what is in your wallet, and an average says little about any single one: in SOLTidy's own data on how much SOL is stuck in Solana wallets, a small, early sample of 67 wallets, the median wallet got back 0.00277 SOL while the largest got 0.3494 SOL. The dollar column will be out of date by the time you read it; the SOL to USD converter gives the current value.
How do you find out how many empty accounts you have?
The quickest way is a scan that reads every account, because wallet apps hide most empty accounts. Phantom and Solflare are built to show what you hold, so a zero-balance token usually drops out of the list while its account stays on chain. Three ways to get the true count:
- Use a block explorer. Open your address and look at the token accounts view, which lists every account, including zero-balance ones. Count the zeros.
- Use the command line.
spl-token accountslists the token accounts owned by your keypair, empty ones included. - Use a scanning tool. Connect your wallet to the SOLTidy Token Account Closer. It queries both the SPL Token program and Token-2022, and shows the number of closable accounts and the SOL inside them. The scan only reads; nothing is signed until you choose to claim.
As a rough guide to what to expect, the count follows how many distinct tokens you have ever touched, not how long you have held a wallet or how much you have traded by value. A wallet that bought two hundred different memecoins once each has about two hundred accounts. A wallet that traded only SOL and USDC at large size has one or two. Where the accounts come from, swap by swap and mint by mint, is the subject of the hidden cost of everyday Solana activity.
What do network fees take out of the recovered SOL?
Network fees take very little. The Solana base fee is 5,000 lamports per signature, and one close transaction needs one signature. A transaction that closes 8 accounts returns between 11,907,520 and 16,314,240 lamports and pays 5,000, which is about 0.03% to 0.04% of the amount recovered. A small priority fee changes that only slightly, because closing accounts uses very few compute units.
The number of transactions follows from Solana's 1,232-byte transaction size limit. The SOLTidy closer packs up to 12 accounts per transaction, so the count of wallet prompts is the number of accounts divided by 12, rounded up:
- 20 accounts: 2 transactions
- 50 accounts: 5 transactions
- 200 accounts: 17 transactions
What does a closing tool cost, and when is it not worth using?
The SOLTidy Token Account Closer charges 5% of the rent recovered, paid inside the same transaction that returns the SOL. On 50 older accounts that is about 0.0051 SOL out of 0.102; on 50 newer ones, about 0.0037 SOL out of 0.074. If a transaction recovers nothing, no fee is charged.
Whether that is worth it depends on the alternatives, and they are real:
- Wallet menus. Some wallets can close or burn a single token from its menu for the network fee only. With fewer than about five accounts, do that.
- The SPL Token CLI.
spl-token closeandspl-token gcare free. If you keep a keypair file and are comfortable in a terminal, the CLI is the cheapest path; the commands are in closing Solana token accounts with the CLI. - A bulk tool. Reasonable when you use a browser wallet or a hardware wallet, have dozens of accounts, and would rather sign five prompts than click through fifty menus.
I built SOLTidy because I was the third case many times over; the about page has the longer version. It is not the only way to get your rent back, and the protocol does the actual refunding either way.
Can you recover rent from accounts you are keeping?
Yes, the difference on older accounts. An account opened before Solana lowered rent holds more than the current minimum, and both token programs have a WithdrawExcessLamports instruction that sends the surplus to you while the account stays open. That is 0.00055084 SOL per SPL token account and about 0.00056 to 0.00059 SOL per Token-2022 account, so it works on tokens you still hold. The SOLTidy closer does this automatically for the accounts you keep, for the same 5% of the SOL withdrawn. It also closes pump.fun and PumpSwap volume accumulator accounts, which pump.fun opens for every trader. Each returns 0.0013462 SOL, though pump.fun opens a new one and charges the rent again the next time you trade there. An accumulator that still holds unclaimed cashback is skipped until the cashback is claimed, which the home Solana wallet cleanup does in the same scan.
What reduces the amount you can recover?
Anything that stops an account from being empty or closable reduces the total. The common cases:
- Dust balances. An account holding 0.0001 of some token is not empty, and
CloseAccountfails on it. If the dust has a market, Sell Dust for SOL swaps it through Jupiter and closes the account in the same transaction, for 5% of the SOL received plus 5% of the rent. If it has no market, burning it is the only way to free the rent, and burning is permanent. - Frozen accounts. A token whose freeze authority has frozen your account cannot be transferred or burned, so that deposit is stuck unless the account is thawed.
- Token-2022 withheld fees. Accounts for tokens with a transfer fee can hold withheld fees that must be harvested to the mint before the account can close.
- Accounts you still use. Closing the account for a token you buy every week gains nothing, because the next purchase pays the deposit again.
Whether any of this is risky is a separate question, answered in is it safe to close Solana token accounts. Briefly: closing empty accounts is reversible, and burning is not.
Is there more SOL locked elsewhere in the wallet?
Often, yes: empty token accounts are the most common place SOL gets stranded, but not the only one. Other places to look:
- NFTs you do not want. Burning a standard Metaplex NFT closes its token account, metadata account and master edition, and usually returns between 0.006 and 0.01 SOL, several times what a token account returns. The NFT Burner shows the exact amount per item and charges 5% of the reclaimed SOL. Compressed NFTs hold no rent and return nothing.
- Leftover wrapped SOL. A wSOL account returns its wrapped balance together with its rent when it is closed.
- Old stake accounts. A deactivated stake account holds its entire balance until you withdraw it; withdrawing old stake accounts shows how to find forgotten ones.
- Developer leftovers. Failed program deploys leave funded buffer accounts behind, and these can hold a lot of SOL because programs are large.
Bottom line
The amount of SOL you can recover from token accounts is the number of empty accounts multiplied by 0.00148844 or 0.00203928, depending on when each was opened, slightly more for Token-2022 accounts. Network fees remove a few hundredths of a percent, and a bulk tool's fee, 5% at SOLTidy, is the only other deduction. Count your accounts with a read-only wallet cleanup scan before deciding how to close them, and skip the accounts for tokens you still trade. For a handful of accounts use your wallet or the CLI; for dozens or hundreds, batching saves a lot of clicking.
Questions & answers
How much SOL do you get back for closing one token account?
It depends on when the account was opened. An account keeps the lamports it was created with, so a standard SPL token account opened before Solana lowered rent returns 0.00203928 SOL, and one opened after returns 0.00148844 SOL. It does not depend on the token, the wallet or the app that created it. Token-2022 accounts are a little larger and return slightly more, about 0.00151 or 0.00207 SOL by age.
How do I find out how many empty token accounts my wallet has?
Wallet apps usually hide zero-balance tokens, so the wallet's token list undercounts. A block explorer's token accounts view shows all of them, including empty ones. The SOLTidy Token Account Closer also lists every closable account and the SOL it holds as soon as you connect; the scan only reads, and nothing is signed until you press Claim.
Is it worth closing token accounts for such a small amount?
It depends on the count. One account is 0.0015 to 0.002 SOL and hardly worth a thought. Fifty accounts is 0.074 to 0.102 SOL and two hundred is 0.3 to 0.4 SOL, recovered in a few minutes with a handful of signatures. It is not worth closing accounts for tokens you will buy again next week, because reopening them costs a new deposit plus network fees.
Do I get the full rent back or does someone take a cut?
The Solana network returns the full deposit; the protocol takes nothing beyond the normal transaction fee of 5,000 lamports per signature. What you keep depends on how you close the accounts. Closing from your wallet or the spl-token command line costs only network fees. The SOLTidy Token Account Closer charges 5% of the rent recovered, deducted inside the same transaction.
Why is the amount I recovered different from my estimate?
Estimates assume every account is a closable 165-byte SPL token account of one age. Real wallets differ: accounts opened before Solana lowered rent hold more than new ones, Token-2022 accounts hold more, accounts with a remaining balance are skipped unless you sell or burn that balance, and frozen accounts cannot be emptied at all. The closer reads each account's actual lamport balance, so the figure shown before signing is the amount that arrives.
Does the SOL price affect how much rent I can recover?
No. Rent deposits are denominated in lamports and do not change with the price of SOL. An empty token account holds the same 0.00148844 or 0.00203928 SOL whether SOL trades high or low. Only the dollar value changes. At $150 per SOL, for illustration, one account is worth $0.22 to $0.31 and one hundred accounts $22 to $31.