SIMD-0437 Step 1: reclaim rent after the first cut logoSIMD-0437 Step 1: reclaim rent after the first cut
min_balance = (128 + data) * lamports_per_byte. Step 1 target 6333. Token instruction WithdrawExcessLamports. Mainnet rent sysvar still 6960.
devrels.xyz/a/293SIMD-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.
| Step | lamports_per_byte | Effective cut vs 6960 |
|---|---|---|
| Now | 6960 | 0% |
| 1 | 6333 | 9% |
| 2 | 5080 | 27% |
| 3 | 2575 | 63% |
| 4 | 1322 | 81% |
| 5 | 696 | 90% |
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.
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
151-slot blockhash window stays in slots. Wall clock shrinks. Confirmed and finalized still mean votes, not a 200ms slot.
Bonding-curve internet round, USDC in, SPL out. MCP: npx -y @star-factory/launch-cli mcp serve.
Create a mint with an interface PDA, mint compressed balances, send them, then compress or decompress when you need a normal ATA. Photon RPC required.
Get new articles in your inbox
Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.
