Sol Purge

Solana Rent Reduction: SIMD-0437 and Token Account Rent in 2026

October 8, 2026 • By SolPurge Team

Solana is cutting the deposit an account must lock for on-chain storage. The change is SIMD-0437. It lowers lamports_per_byte from 6,960 to 696 in five separate steps. Two of those steps are already active on mainnet. The rest do not have a fixed date.

This is a Solana rent reduction, not a new fee. The Solana Foundation's reduced-rent page describes rent as a refundable bond: the account holds a minimum balance sized to its data, and those lamports come back in full when the account is closed. The upgrade only changes the size of that bond.

What the Solana rent reduction actually changes

The minimum balance is:

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

The 128 bytes are fixed account overhead. data size is the account's own data. SIMD-0437 and the Foundation upgrade page both use this formula. A classic SPL token account stores 165 bytes, so the rent math uses 293 bytes. Chainstack's rent-reduction guide uses that same 165-byte size.

Nothing about rent exemption itself changes. A new account still has to deposit the minimum up front. Closing it still returns the lamports the account holds. The cut makes the deposit smaller for accounts created after each step.

Five steps from 6,960 to 696

Each step is its own feature gate. The rate at that step replaces the old rate. It is not a further cut on top of an already-reduced number. The schedule below is the one in SIMD-0437, the Foundation page, and Chainstack.

StepLamports per byteCut from 6,960Where it stands
16,3339%Mainnet, September 3, 2026
25,08027%Mainnet, September 11, 2026 (UTC)
32,57563%Expected with Agave 4.4, November 2026, no fixed date
41,32281%Expected with Agave 4.4, November 2026, no fixed date
569690%Expected with Agave 4.4, November 2026, no fixed date

Step 1 activated at the start of mainnet epoch 1028 on September 3, 2026, taking the rate from 6,960 to 6,333. The Foundation page and Chainstack both report that. Chainstack also records activation slot 444,096,000.

Step 2 activated on mainnet-beta at epoch 1033 on September 11, 2026, taking the rate to 5,080 lamports per byte. Solana Compass reported that Anza confirmed the activation at 21:09 UTC. Chainstack reports the same date and epoch, at slot 446,256,000. On October 8, 2026, a mainnet-beta call to getMinimumBalanceForRentExemption for 165 bytes of data returned 1,488,440 lamports, which is 293 × 5,080. That is the step-2 figure, so mainnet is on step 2 as of that date.

As of October 8, 2026, the Foundation rollout table still listed step 2 as "Live on Testnet," with mainnet only expected in mid-September 2026. That section had not been updated after the September 11 activation. Use Compass, Chainstack, or a live RPC call for the current mainnet rate.

Steps 3, 4, and 5 are not on a calendar. The Foundation page says they are expected with Agave 4.4 in November 2026. Compass quoted Anza on September 11, 2026: "There is no fixed schedule between gates. Step 3 will activate only after state growth safely checks out. SIMD-0438 standing by as the reverse gear if needed. Three gates remain." SIMD-0438 can set lamports_per_byte back to 6,960 if state growth becomes a problem. The Foundation page also points at SIMD-0392, which is what makes a later rent increase possible without breaking accounts that already exist.

The slow rollout is deliberate. The Foundation page summarizes research from Umberto Natale at the Solana Foundation: even after a 90% cut, a state-bloat attack would still need roughly $17 million of locked capital to fill current storage headroom; in the cohort he studied, 75.5% of account-creation events close inside the same transaction; and net state growth was about 0.3 GB per day. Core developers can pause between gates if the data says to wait.

Solana token account rent in 2026

As of October 8, 2026, after step 2, a new 165-byte token account needs 1,488,440 lamports (0.00148844 SOL). Before any cut, the same account needed 2,039,280 lamports (0.00203928 SOL). Both numbers are (128 + 165) × lamports per byte, and both appear in Chainstack's table. Do not treat 0.00148844 SOL as a permanent price. Steps 3 through 5 lower the deposit again.

The same formula gives these token-account minimums at each published rate. Only the step-2 row is what a new token account pays on mainnet as of October 8, 2026.

RateLamports per byte165-byte token account
Before SIMD-04376,9602,039,280 lamports (0.00203928 SOL)
Step 16,3331,855,569 lamports
Step 2 (current)5,0801,488,440 lamports (0.00148844 SOL)
Step 3, if it activates2,575754,475 lamports
Step 4, if it activates1,322387,346 lamports
Step 5, if it activates696203,928 lamports (0.000203928 SOL)

The Foundation's September 2026 upgrade page uses a payments example to show the scale: one million token accounts at the old deposit, illustrated as $0.159 each, would have been $159,000. After all five steps, the same page illustrates $0.0159 each, or $15,900, "assuming similar economics." Those are dollar illustrations from that page, not a live SOL price. The page says the full 90% cut, and that $0.0159 illustration, will not land until the later steps do.

For how rent exemption works apart from this cut, see Understanding Rent-Exempt Accounts on Solana.

Solana rent cut: reclaim SOL only if you close or withdraw

The reduction does not move lamports. Chainstack states that an existing account keeps its balance, and that anything above the new minimum is excess the authority can withdraw. Solana will not refund that excess on its own.

That matters for accounts created before September 3, 2026. They still hold the old deposit. Closing one returns that full deposit to the destination, not the new smaller minimum. The Foundation page says the lamports are returned in full to whoever closes the account. Solana's close-account guide says closing deletes the token account and transfers all of its lamports, including the storage balance, to a destination you choose. The token balance has to be zero first. Wrapped SOL is the exception: those accounts are closed in order to get the underlying SOL back, and Chainstack notes that WithdrawExcessLamports does not support them.

If you want to keep the account open, excess has to be withdrawn:

  • A token account, mint, or multisig can use WithdrawExcessLamports, signed by the right authority. Chainstack documents this for both the Token program and Token-2022.
  • A stake account releases excess through a normal stake withdrawal.
  • A program-owned account, including a PDA, can only move excess if the owning program has an instruction that does it.

Chainstack calculates that a token account funded at the pre-cut rate has 550,840 lamports of excess at step 2 (2,039,280 minus 1,488,440). If step 5 later sets the rate to 696, that same account would sit 1,835,352 lamports above the final minimum. Waiting collects the later steps in one pass. Reclaiming after each step collects the excess as it appears. In the script Chainstack published, one reclaim transaction covered up to 20 accounts and paid a 5,000 lamport fee.

Solana Compass reported that step 2 put 612,000 SOL within reach of account holders, about $62.5 million in that September 12, 2026 article, and that up to 3.06 million SOL could be reclaimable across all five steps. Compass credits those totals to Solana Foundation data. They are network-wide estimates, not the balance of any single wallet.

If SIMD-0438 ever resets the rate to 6,960, Chainstack says accounts you already reclaimed stay valid as long as they do not grow, do not change owner, and do not drop lamports below the balance they had. New allocations would pay the higher rate.

Check the minimum at runtime

Hardcoding 0.00148844 SOL will be wrong after the next step, and it is already wrong on a cluster that has not activated step 2. Ask the cluster you are actually using.

getMinimumBalanceForRentExemption takes the account's data length and returns the lamports required for that size to be rent-exempt. The RPC reference documents the method. Pass 165 for a classic token account. Do not add the 128-byte overhead yourself. The runtime does that.

import { Connection, clusterApiUrl } from "@solana/web3.js";

const connection = new Connection(clusterApiUrl("mainnet-beta"), "confirmed");

// Data length only. A classic SPL token account is 165 bytes.
const lamports = await connection.getMinimumBalanceForRentExemption(165);

console.log(lamports);

On October 8, 2026, mainnet-beta returned 1488440 for that call. Chainstack's guide shows the same result from solana rent 165 --lamports after step 2. Chainstack also warns that solana-test-validator 4.3.0 still starts at 6,960 lamports per byte, even with --clone-feature-set, so a local validator can disagree with mainnet. Chainstack says devnet has steps 1 and 2 active, matching mainnet.

Read the number from the cluster at the time you need it. The table higher up is a snapshot of the published schedule, not a constant to paste into a program.

Where SolPurge fits

SolPurge closes empty classic SPL token accounts and returns the lamports in them, minus its 6% fee. For an empty account opened before the cut, those lamports are the old, larger deposit. They come back because the account is closed, not because anyone skimmed the surplus off a live account.

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 here. SolPurge also does not run WithdrawExcessLamports. Keeping an account open and withdrawing only the surplus is a separate step, and this app does not do it. It does not support Token-2022 yet. Chainstack's note that the protocol instruction works for Token-2022 describes the protocol, not SolPurge.

More on the deposit itself: rent-exempt accounts. Related reading on this site:

Sources

Find & Claim Your Locked SOL

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