Khaled Jamal
← All articles
Solana2 November 20264 min read

How reclaiming rent SOL actually works

Why your Solana wallet has SOL locked in empty token accounts, how closing them gets it back, and what the SIMD-0437 rent cut changes.

By Khaled Jamal, software engineer and founder of Helm

Empty token accounts sending their locked SOL back to a wallet, with 1.0196 SOL returned from 500 accountsEmpty token accounts sending their locked SOL back to a wallet, with 1.0196 SOL returned from 500 accounts

In short

Every empty token account holds a refundable SOL deposit, and closing it returns all of it. Older accounts hold about 0.00204 SOL each. Solana's SIMD-0437 cut lowers that for new accounts but doesn't take anything from old ones. Work out your own total with the calculator below.

On this page
  1. 01What rent actually is
  2. 02Where your SOL gets stuck
  3. 03How closing an account works
  4. 04What about accounts with dust?
  5. 05What SIMD-0437 changes
  6. 06A new option: taking the excess without closing
  7. 07Will closing hurt anything?
  8. 08Staying safe

If you've traded on Solana for a while, you probably have SOL sitting in accounts you've forgotten about. It isn't lost, and you can get it back. I built the SOL Reclaimer in SolTools to do exactly that, so here's how it works underneath.

What rent actually is

Everything on Solana lives in an account, and accounts take up space on every validator. To pay for that, each account has to hold a minimum balance of SOL, called its rent-exempt minimum.

The word "rent" is misleading. It's closer to a refundable deposit. It isn't charged over time, and you get it back in full when the account closes.

The minimum depends on the account's size:

minimum = (128 + data size in bytes) × lamports per byte

The 128 is a fixed overhead for every account. One SOL is 1,000,000,000 lamports.

Where your SOL gets stuck

Every token you hold sits in its own token account, separate from your main wallet. A standard SPL token account is 165 bytes. At the long-standing rate of 6,960 lamports per byte, that's:

(128 + 165) × 6,960 = 2,039,280 lamports = 0.00203928 SOL

That's the small amount your wallet deducted each time you first received a token.

When you sell all of a token, the balance goes to zero, but the account usually stays open, and the deposit stays inside it. Trade a few hundred memecoins and it adds up: 500 empty accounts at that rate hold over a full SOL.

Calculator

How much SOL is sitting in your empty accounts?

Count them in any wallet tracker or scan with a reclaimer. This assumes standard 165-byte SPL token accounts.

When were most of them opened?

You'd get back

0.305842 SOL

Rent held
0.305892 SOL
Network fees, 10 tx
≈ 0.00005 SOL
Excess if kept open
0.082626 SOL

An estimate. Fees assume 15 closes per transaction at the base fee, without priority fees. Token-2022 accounts can be larger, and accounts holding dust have to be emptied first.

How closing an account works

The SPL Token program has a CloseAccount instruction. It does three things:

  1. Checks that the token balance is zero
  2. Sends the account's SOL to a destination you choose
  3. Removes the account

Only the account's owner, or a close authority if one has been set, can sign it. This is why a reclaimer tool doesn't need your keys. It builds the transaction, and your wallet signs it.

You pay normal network fees for the transaction, which are tiny next to what comes back. Several closes fit in one transaction, and the SOL Reclaimer batches up to 15 accounts at a time.

What about accounts with dust?

An account holding even a tiny amount of a token can't be closed. You have to empty it first, either by selling or by burning the tokens. Burning is permanent, so make sure it really is worthless before you do it.

What SIMD-0437 changes

This is where most guides are now out of date. SIMD-0437 is cutting Solana's rent rate by 90%, from 6,960 to 696 lamports per byte, in five steps. The first two went live on mainnet in September 2026, with the rest expected to follow.

For a 165-byte token account, the minimum changes like this:

Rate (lamports per byte) Minimum (lamports) In SOL
6,960 (original) 2,039,280 0.00203928
5,080 (step 2) 1,488,440 0.00148844
696 (final step) 203,928 0.000203928

Two things follow from this:

  • Old accounts keep their full deposit. The cut moves no SOL. An account opened at the old rate still holds about 0.00204 SOL, and closing it still returns all of it.
  • New accounts lock up less. So a wallet with many recent accounts has less to reclaim than the old figure suggests.

The schedule can change, so don't hardcode these numbers. Read the live value with the getMinimumBalanceForRentExemption RPC method.

A new option: taking the excess without closing

Because old accounts now hold more than the new minimum, there's a second route. The WithdrawExcessLamports instruction, available in both SPL Token and Token-2022, withdraws only what's above the current minimum. The account stays open, and its token balance isn't touched.

That's useful for tokens you're still holding. The exception is wrapped SOL accounts, which don't support this instruction and have to be closed instead.

Will closing hurt anything?

Generally not. If you later receive that token again, a new account is opened and the deposit is paid again, at the rate at that time. If you trade a token constantly, you may prefer to leave its account open.

Staying safe

This is a popular area for scams, because you're being asked to sign a transaction. Whichever tool you use:

  • Never share your seed phrase or private key. Closing accounts never needs them.
  • Read what your wallet shows before you sign. A close should bring SOL to you, and nothing else should leave.
  • Be careful with fees. Many reclaimers keep a cut of what you recover, so check what it is.
  • Use a tool you can verify. A drainer can look exactly like a reclaimer.

SolTools' reclaimer is free, with zero fees, and runs in your browser, so your keys never leave it. Try it at soltools.net/reclaim.

Rate figures are from the Chainstack and Raydium documentation on SIMD-0437, checked in November 2026.

Written by Khaled Jamal

Software engineer in Beirut, known online as Dequavious, and founder of Helm. I build SaaS platforms, AI agents, desktop apps and client sites end to end.

Keep reading

Three branded client dashboards stacked above one shared database, each kept apart by its own tenant boundaryThree branded client dashboards stacked above one shared database, each kept apart by its own tenant boundary
SaaS

2 November 2026 · 4 min read

Building a multi-tenant SaaS: a practical guide for founders

How to keep customers apart in one product, what multi-tenancy really demands beyond the database, and when extra infrastructure is worth it. Written by an engineer who runs a multi-tenant platform.

Read article →Decision tool
A Next.js code window with a server-side permission check highlighted, beside a checklist of questions to ask a developerA Next.js code window with a server-side permission check highlighted, beside a checklist of questions to ask a developer
Hiring

2 November 2026 · 3 min read

Hiring a Next.js developer: what to ask before you pay

The questions that separate someone who can ship and maintain a Next.js product from someone who can only make a nice demo, written by a developer who gets asked them.

Read article →Developer scorecard