← Articles
SIMD-0437 Step 1: reclaim rent after the first cut logo
solana

SIMD-0437 Step 1: reclaim rent after the first cut

· SEP 2, 2026 ·
Read
Share

min_balance = (128 + data) * lamports_per_byte. Step 1 target 6333. Token instruction WithdrawExcessLamports. Mainnet rent sysvar still 6960.

devrels.xyz/a/293

SIMD-0437 is Solana's incremental rent cut. The constant lamports_per_byte drops from 6960 to 696 across five feature gates. Step 1 is the first: 6333. Official pages: solana.com/upgrades/reduced-rent, SIMD-0437, and withdraw excess lamports.

Rent here is a refundable bond, not a fee. Close the account and the lamports come back. Cheaper rent means a lower deposit up front, and after a step activates, accounts that already paid the old minimum hold surplus you can pull out.

Status (checked)

The upgrade page still lists Reduced Rent as pending feature activation (expected with Agave 4.2). A mainnet read on 2 Sep 2026 showed SysvarRent.lamportsPerByte = 6960. The Step 1 feature account was empty. Do not write reclaim txs as if Step 1 is live. Re-read the sysvar (or getMinimumBalanceForRentExemption) before you drain.

The formula

From the SIMD: overhead is 128 bytes. min_balance = (128 + data_size) * lamports_per_byte.

Steplamports_per_byteEffective cut vs 6960
Now69600%
163339%
2508027%
3257563%
4132281%
569690%

Each step is its own feature gate. Core devs only advance if state growth looks safe. A sixth gate can reset the constant back to 6960 (with SIMD-0392 so a later raise does not brick existing accounts).

Feature pubkeys from the upgrade page: Step 1 4a6f7o7iTcA8hRDCrPLkSatnt5Ykxiu36wo5p1Tt12wC, Step 2 61BtM7BkDEE8Yq5fskEVAQT9mYA8qCejJWoLe5apqg81, Step 3 Ftxb3ZKq7aNqgxDBbP7EonvR2RszZk9ctjdsTX38kQaz, Step 4 GsUBNYNDPdMLHPD37TToHzrzcNcjpC9w5n1EcJk5iTaM, Step 5 mZdnRh9T2EbDNvqKjkCR3bvo5c816tJaojtE9Xs7iuY.

What Step 1 unlocks

After Step 1, a 165-byte SPL token account (165 + 128 = 293 bytes) needs 293 × 6333 = 1,855,569 lamports instead of 2,039,280. Surplus is 183,711 lamports per such account. That is the reclaim. New accounts are created against the new minimum via getMinimumBalanceForRentExemption.

SIMD impact: existing accounts keep working. You may lower their balance to the new minimum. You may not go below it.

Token reclaim: WithdrawExcessLamports

For Token Program accounts (token account, mint, or multisig), the documented path is instruction discriminator 38, WithdrawExcessLamports. It moves SOL above the current rent-exempt minimum to a destination. Token balances and mint supply stay put.

typescript
import { getWithdrawExcessLamportsInstruction } from "@solana-program/token";

const instruction = getWithdrawExcessLamportsInstruction({
  source,
  destination,
  authority,
});

await client.sendTransaction([instruction]);

Signer: token-account owner (or its multisig), mint authority, or the mint itself if there is no mint authority (CPI from the owning program, or the keypair if the mint is on-curve). Native wrapped SOL accounts return NativeNotSupported. The instruction will not drop the source below the rent-exempt minimum.

Kit helper: getWithdrawExcessLamportsInstruction from @solana-program/token. For a multisig authority, pass multiSigners.

Do not reclaim until the sysvar moves

If lamportsPerByte is still 6960, there is no surplus relative to the current minimum. A withdraw would move 0. Wait for Step 1, then call getMinimumBalanceForRentExemption for the account's data length and only then batch WithdrawExcessLamports.

Resources

Keep reading

Get new articles in your inbox

Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.

SIMD-0437 Step 1: reclaim rent after the first cut | devrels.xyz