Solana Rent Exemption: How the Minimum Balance Works

October 8, 2026 • By SolPurge Team

A rent-exempt Solana account is not an account that dodged a recurring bill. It is an account that holds the minimum SOL its size requires. That minimum is a refundable deposit for storage. When the account is closed, the lamports come back in full to the destination.

The Solana Foundation's reduced-rent page puts it directly: "rent" is a misleading name. It is not a fee. Every account must hold a minimum balance sized to its data, and closing the account returns those lamports in full. This guide is the practical version of that rule, including what the 2026 rent cut changed.

How the minimum balance is calculated

The deposit depends on the account's data size and a network constant, lamports_per_byte:

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

The 128 bytes are overhead every account pays for. The data size is whatever that account stores. A classic SPL token account stores 165 bytes, so the formula uses 293 bytes. SIMD-0437 defines the constant. Chainstack's rent guide applies it to token accounts, mints, and stake accounts.

Before SIMD-0437, the constant was 6,960 lamports per byte. A 165-byte token account therefore needed 2,039,280 lamports, or 0.00203928 SOL.

As of October 8, 2026, mainnet is on step 2 of the cut, at 5,080 lamports per byte. The same token account now needs 1,488,440 lamports, or 0.00148844 SOL. That figure is (128 + 165) × 5,080. It is also what mainnet-beta returned on that date for a data length of 165, and what Chainstack records for solana rent 165 after step 2.

Do not memorize 0.00148844 SOL. Later steps are scheduled to lower the constant again, down to 696 lamports per byte, and they do not have a fixed date. The full step table, the September 2026 activation dates, and what to do with the SOL freed by the cut are in Solana rent reduction: SIMD-0437 and token account rent in 2026.

What "rent-exempt" means for an account you already have

Creating an account requires the current minimum at that moment. The lamports stay in the account. They are not spent each epoch.

If the network later lowers the minimum, the extra lamports just sit there. Solana does not refund them automatically. You either close the account, which returns the whole balance to the destination, or you withdraw only the excess and leave the account open. Withdrawing excess is a real instruction (WithdrawExcessLamports for token accounts and mints). It is a different action from closing.

Accounts created before September 3, 2026 still hold the pre-cut deposit. Close one and you get that full deposit back at the destination, not the new smaller minimum. Solana's close-account guide says the token balance must be zero before a normal token account can close. The close instruction then sends all of the account's lamports to a destination you choose. Wrapped SOL accounts are the exception: they are closed to recover the underlying SOL, and the excess-withdraw instruction does not support them.

An account opened after a step only locked the minimum in force at creation. Closing it returns that smaller amount.

How to check the minimum

Ask the cluster instead of pasting a constant into a script. The RPC method is getMinimumBalanceForRentExemption. Pass the account's data length. For a classic token account, that length is 165. The method adds the 128-byte overhead.

From the command line, Chainstack shows:

solana rent 165 --lamports --url YOUR_RPC_URL

After step 2, that command's rent-exempt minimum is 1,488,440 lamports. A local test validator can still report the old 6,960 rate, so check mainnet or devnet if you want the live figure. A short JavaScript example is in the SIMD-0437 post.

Two balances are easy to confuse:

BalanceWhat it tells you
At least the current minimumThe account meets today's rent-exempt requirement
Above the current minimumThe extra is reclaimable, but only if you withdraw it or close the account
The original deposit on an old accountStill returned in full to the destination when you close. SolPurge keeps a 6% fee. New accounts deposit less

Empty token accounts

An empty token account is often still rent-exempt. "Empty" means the token balance is zero. The SOL deposit is still inside the account. That is why closing unused token accounts returns SOL: you are unlocking a deposit, not collecting a reward.

SolPurge closes empty classic SPL token accounts and returns the lamports in them, minus its 6% fee. That includes the larger deposit on accounts opened before the rent cut.

SolPurge does not burn tokens. Apart from wrapped SOL accounts, which closing unwraps, SolPurge only closes token accounts with a zero balance. To remove any other token balance, burn or sell it elsewhere first, then close the empty account. It does not run WithdrawExcessLamports. Keeping the account open and skimming only the surplus is a separate step, and this app does not do it. SolPurge does not support Token-2022 yet.

If you only want the background on why those empty accounts exist, read why empty token accounts accumulate and how to reclaim SOL from closed token accounts. To put a number on one address, use the rent reclaim estimator. The wallet checker shows that address's token accounts and the SOL you would receive after fees from closable accounts (empty token accounts, and wrapped SOL that closing unwraps). The estimator and wallet checker are part of the tools, and the transparency page explains the fee kept when that deposit comes back.

What to do with the deposit

  • If the token balance is zero and you do not need the account, close it. The chain returns the full SOL deposit to the destination. SolPurge closes empty classic SPL token accounts and returns the lamports in them, minus its 6% fee.
  • Apart from wrapped SOL accounts, which closing unwraps, SolPurge only closes token accounts with a zero balance. To remove any other balance, burn or sell it elsewhere first. The surplus above today's minimum can be withdrawn with WithdrawExcessLamports, but that is not something SolPurge does.
  • If the account is wrapped SOL, closing it unwraps the SOL. WithdrawExcessLamports does not support it.
  • If you are creating accounts in a program, read the minimum from getMinimumBalanceForRentExemption at runtime. The step-2 number will be stale after the next gate.

The phased cut, the amounts at each step, and the network-wide reclaim figures are covered in the SIMD-0437 rent-reduction guide. For a shorter overview of why the deposit exists, see how Solana's rent system works. More wallet guides are on the blog.

Find & Claim Your Locked SOL

Unused accounts may be holding your SOL. Scan your wallet now and reclaim your funds easily.