Incrementally Reduce lamports_per_byte to 696
- Idea
- Draft
- Review
- Accept
- Implement
- Active
Decision brief
Why this proposal matters
Reduce lamports_per_byte incrementally from 6960 to 696 via five steps: 6333, 5080, 2575, 1322, and 696. This proposal supersedes SIMD-0436, providing a more granular reduction schedule. Requires SIMD-0392: Relaxation of post-execution min_balance check, to allow for subsequent rent increases if necessary. Requires SIMD-0194: deprecate rent exemption threshold, to avoid unnecessary floating point math when setting the rent params on feature activation.
Proposal at a glance
What changes
- Proceed to the next step only if a risk analysis, grounded in existing safeguards and empirical data, indicates that it is safe to do so. The analysis must account for the fact that risk increases superlinearly as the reduction increases with each step.
- Reduce lamports_per_byte incrementally from 6960 to 696 via five steps: 6333, 5080, 2575, 1322, and 696. This proposal supersedes SIMD-0436, providing a more granular reduction schedule. Requires SIMD-0392: Relaxation of post-execution min_balance check, to allow for subsequent rent increases if necessary.…
Stakeholder map
Who is affected
Builders & client teams Medium impact
Lower rent for app developers. Existing accounts and programs using the higher rent value will be unaffected, besides being allowed to reduce the balance to the new minimum.
Action requirement unknownValidators & operators Medium impact
Validators: a potential increase in state growth. In the case of excessive state growth, rent can be increased back to the legacy value (0392 allows this without significant disruption to existing accounts). SIMD-0389 does this automatically.
Action requirement unknownUsers & stakers Impact unknown
No proposal-specific evidence was found for this group.
Action requirement unknownGovernance & ecosystem Medium impact
Reduce lamports_per_byte incrementally from 6960 to 696 via five steps: 6333, 5080, 2575, 1322, and 696. This proposal supersedes SIMD-0436, providing a more granular reduction schedule.
Action requirement unknownExact source revision
Full proposal document
eac20f2994ddSummary
Reduce lamports_per_byte incrementally from 6960 to 696 via five steps:
6333, 5080, 2575, 1322, and 696. This proposal supersedes SIMD-0436,
providing a more granular reduction schedule.
Requires SIMD-0392: Relaxation of post-execution min_balance check, to allow for subsequent rent increases if necessary.
Requires SIMD-0194: deprecate rent exemption threshold, to avoid unnecessary floating point math when setting the rent params on feature activation.
Motivation
Minimum account balance depends on an arbitrary constant set years ago that has since increased significantly in real terms due to increases in the SOL price. This has made state allocation cost more expensive on mainnet beta than on competitors, with no compelling justification provided by real resource costs.
This reduction is split into multiple steps to allow for gradual observation of state growth and to allow for controversial steps to be debated separately. This proposal replaces the 2x reduction previously suggested in SIMD-0436 with a five-step schedule culminating in the final target of 696.
New Terminology
N/A
Detailed Design
This proposal defines five incremental reductions to the
lamports_per_byte constant. Each reduction is controlled by its own
feature gate. The values are absolute, starting from the current value
of 6960.
Reduction Schedule
The incremental percentage represents the portion of the total target
reduction (6264 lamports, from 6960 to 696) applied at each step. The
target lamports_per_byte values are derived by applying the cumulative
percentage reduction to the total reduction amount and truncating the
result to the nearest integer.
| Step | Target | Incr % | Cumul % | Eff Reduc |
|---|---|---|---|---|
| 1 | 6333 | 10% | 10% | 9% |
| 2 | 5080 | 20% | 30% | 27% |
| 3 | 2575 | 40% | 70% | 63% |
| 4 | 1322 | 20% | 90% | 81% |
| 5 | 696 | 10% | 100% | 90% |
Operational Details
Each reduction step is controlled by its own feature gate.
Risk-Based Advancement
Proceed to the next step only if a risk analysis, grounded in existing safeguards and empirical data, indicates that it is safe to do so. The analysis must account for the fact that risk increases superlinearly as the reduction increases with each step.
Implementation
On activation of each feature, the effective lamports_per_byte is
updated in the bank and rent sysvar
(SysvarRent111111111111111111111111111111111), followed by updating
DEFAULT_LAMPORTS_PER_BYTE in all relevant SDKs post-activation.
ACCOUNT_STORAGE_OVERHEAD = 128
effective_size = ACCOUNT_STORAGE_OVERHEAD + acc.data_size_bytes
min_balance = effective_size * lamports_per_byte
// Original: min_balance = 6960 * effective_size
// After Step 1: min_balance = 6333 * effective_size
// After Step 2: min_balance = 5080 * effective_size
// After Step 3: min_balance = 2575 * effective_size
// After Step 4: min_balance = 1322 * effective_size
// After Step 5: min_balance = 696 * effective_size
Alternatives Considered
N/A
Impact
- Lower rent for app developers. Existing accounts and programs using the higher rent value will be unaffected, besides being allowed to reduce the balance to the new minimum.
- Validators: a potential increase in state growth. In the case of excessive state growth, rent can be increased back to the legacy value (0392 allows this without significant disruption to existing accounts). SIMD-0389 does this automatically.
Security Considerations
N/A
Backwards Compatibility
Rent reduction is strictly a relaxation of existing constraints so all existing program logic will continue to work as before.
Evidence graph
Related proposals and rollout
One or more sources are unavailable.
Upstream review record
Upstream discussion & review
GitHub review is editorial context, not evidence of on-chain support, voting, or outcome.
PR #437 · merged SIMD-0437: Incremental Reduction of lamportsperbyte to 696 30 comments and reviews · Apr 20, 20266616745e724232c02611efb82a8f66542be7ad08
GitHub ↗per the discussion in the other thread(https://github.com/solana-foundation/solana-improvement-documents/pull/437discussionr2696265151), I replaced the explicit reduction criteria with general principles: 6616745e724232c02611efb82a8f66542be7ad08
GitHub ↗Thanks, bw-solana(https://github.com/bw-solana)! ⚠️ Status: Cannot merge yet - Missing approval from: Firedancer (ptaffet-jump(https://github.com/ptaffet-jump), topointon-jump(https://github.com/topointon-jump), 0x0ece(https://github.com/0x0ece), lidatong(https://github.com/lidatong), or ripatel-fd(https://github.com/ripatel-fd))
GitHub ↗Could we also enumerate the feature gate names here? Makes it easier to track 🙌
GitHub ↗✅ All approvals received! @igor56D, you can now merge this by commenting /merge. ✅ Status: Ready to merge
GitHub ↗/merge
GitHub ↗✅ Merge successful! igor56D(https://github.com/igor56D)'s PR has been merged.
GitHub ↗i just became aware of this simd and the corresponding feature gates... as we discussed in https://github.com/solana-foundation/solana-improvement-documents/pull/392 lowering rent requires us to change how Rent is used in the stake program (and possibly in the token programs) and cannot be done without this work
GitHub ↗Provenance
Evidence & technical details
Rollout or chain data, source revisions, freshness and integrity. 2
Provenance
Evidence & technical details
Rollout or chain data, source revisions, freshness and integrity.SIMD
Deployment Status
Feature Gate not yet created
Exact source revision
Sources & integrity
- Proposal document pinned_commit_blob
eac20f2994dd064482d96f178a4bbc0f4e358fd0 - simd-document document · stale · Oct 28, 2026
eac20f2994dd064482d96f178a4bbc0f4e358fd0
One or more sources are unavailable.
simd.watch community discussion · SIMD-0437
Powered by Giscus · Sign in with GitHub to comment
Community comments load when this section approaches the viewport.