SIMDs: Solana Improvement Documents and their status
Solana Improvement Documents (SIMDs) and how each one relates to Solana feature gates and governance votes.
Active on mainnet-beta
- SIMD-0033: Timely Vote Credits: Activated
- SIMD-0047: Syscall and Sysvar for last restart slot: Activated
- SIMD-0075: Precompile for verifying secp256r1 sig.: Activated
- SIMD-0079: Allow Commission Decrease at Any Time: Activated
- SIMD-0083: Relax Entry Constraints: Accepted
- SIMD-0084: Disable rent fees collection: Activated
- SIMD-0085: Additional Fee-Collector Constraints: Activated
- SIMD-0089: Programify Feature Gate Program: Activated
- SIMD-0093: Disable Bpf loader V2 program deployment: Activated
- SIMD-0096: Reward full priority fee to validator: Activated
- SIMD-0105: Maintain Dynamic Set of Reserved Account Keys: Activated
- SIMD-0118: Partitioned Epoch Rewards Distribution: Activated
- SIMD-0127: Get-Sysvar Syscall: Activated
- SIMD-0128: Migrate Address Lookup Table to Core BPF: Activated
- SIMD-0129: Alt_BN128 Syscalls - Simplified Error Code: Activated
- SIMD-0133: Syscall Get-Epoch-Stake: Activated
- SIMD-0137: EC Syscalls - Abort on Unsupported Curve/Ops: Activated
- SIMD-0138: Deprecate legacy vote instructions: Activated
- SIMD-0140: Migrate Config to Core BPF: Activated
- SIMD-0148: MoveStake and MoveLamports Instructions: Activated
- SIMD-0152: Precompiles: Activated
- SIMD-0153: ZK ElGamal Proof Program: Activated
- SIMD-0159: Relax Precompile Failure Constraint: Activated
- SIMD-0160: Static Instruction Limit: Activated
- SIMD-0162: Remove Accounts `is_executable` Flag Checks: Activated
- SIMD-0166: SBPF Dynamic stack frames: Activated
- SIMD-0170: Reserve minimal CUs for builtins: Activated
- SIMD-0173: SBPF instruction encoding improvements: Activated
- SIMD-0174: SBPF arithmetics improvements: Activated
- SIMD-0175: Disable Partitioned Rent Updates: Activated
- SIMD-0178: SBPF Static Syscalls: Activated
- SIMD-0180: Vote Account Address Keyed Leader Schedule: Activated
- SIMD-0182: Consume requested CUs for sBPF failures: Activated
- SIMD-0183: Skip Rent Rewrites: Activated
- SIMD-0185: Vote Account v4: Activated
- SIMD-0186: Loaded Transaction Data Size Specification: Activated
- SIMD-0189: SBPF stricter ELF headers: Activated
- SIMD-0191: Relax Transaction Loading Constraints: Activated
- SIMD-0194: Deprecate Rent Exemption Threshold: Activated
- SIMD-0196: Migrate Stake to Core BPF: Activated
- SIMD-0207: Raise Block Limits to 50M CUs: Activated
- SIMD-0215: Homomorphic Hashing of Account State: Activated
- SIMD-0220: Snapshots use Accounts Lattice Hash: Activated
- SIMD-0222: Fix alt-bn128 multiplication syscall length: Activated
- SIMD-0223: Removes Accounts Delta Hash: Activated
- SIMD-0232: Custom Commission Collector Account: Activated
- SIMD-0242: Static Nonce Account Only: Activated
- SIMD-0249: Delay Commission Updates: Activated
- SIMD-0256: Increase Block Limits to 60M CUs: Activated
- SIMD-0266: p-token: Efficient Token program: Activated
- SIMD-0267: Sets rent_epoch to a constant in the VM: Activated
- SIMD-0284: Alt-BN128 Little Endian compatibility: Activated
- SIMD-0286: Increase Block Limits to 100M CUs: Activated
- SIMD-0291: Commission Rate in Basis Points: Activated
- SIMD-0302: BN254 G2 Arithmetic Syscalls: Activated
- SIMD-0306: Increase writeable account limit to 20M CUs: Activated
- SIMD-0312: CreateAccountAllowPrefund: Activated
- SIMD-0313: Drop unchained merkle shreds: Activated
- SIMD-0321: VM Register 2 Instruction Data Pointer: Activated
- SIMD-0326: Alpenglow: Review
- SIMD-0332: Reduce ChaCha rounds for Turbine from 20 to 8: Activated
- SIMD-0334: Fix alt_bn128_pairing syscall length check: Activated
- SIMD-0337: Markers for Alpenglow Fast Leader Handover: Review
- SIMD-0339: Increase CPI Account Infos Limit: Activated
- SIMD-0340: Validate chained block id: Activated
- SIMD-0357: Alpenglow Validator Admission Ticket: Activated
- SIMD-0359: Poseidon Syscall - Enforce Input Length: Activated
- SIMD-0377: eBPF ISA compatibility: Activated
- SIMD-0384: Alpenglow migration: Review
- SIMD-0385: Transaction V1 Format: Activated
- SIMD-0387: BLS Pubkey management in vote account: Activated
- SIMD-0388: BLS12-381 Elliptic Curve Syscalls: Activated
- SIMD-0391: Stake Program Float to Fixed-Point: Activated
- SIMD-0392: Adapt Runtime for Rent Increases: Activated
- SIMD-0406: Maximum instruction accounts: Activated
- SIMD-0431: Loader V3: Minimum Extend Program Size: Activated
- SIMD-0444: Relax program data account check in migration: Activated
- SIMD-0458: Stop special-casing of Vote CU cost: Activated
- SIMD-0459: Syscall Parameter Address Restrictions: Activated
- SIMD-0490: Upgrade BPF Stake Program to v5.0.0: Activated
- SIMD-0525: Reduce Slot Times: Activated
Partly active on mainnet-beta
- SIMD-0317: Enforce 32 data + 32 coding shreds: Review
- SIMD-0437: Incrementally Reduce lamports_per_byte to 696: Idea
Waiting to activate on mainnet-beta
- SIMD-0123: Block Revenue Sharing: Review
- SIMD-0290: Relax Fee-Payer Constraint: Accepted
- SIMD-0433: Loader V3: Set Program Data to ELF Length: Review
- SIMD-0438: Safeguard for rent-exempt minimum increase: Idea
- SIMD-0449: Direct Account Pointers in Program Input: Review
- SIMD-0460: Virtual Address Space Adjustments: Review
- SIMD-0500: Disable deployment of SBPF-v0, -v1 and -v2: Idea
- SIMD-0504: Stricter shred validation: Review
- SIMD-0512: Sha512 Syscall: Idea
- SIMD-0529: Big Integer ModExp Syscall: Idea
- SIMD-0550: Double Disinflation Rate: Review
- SIMD-0565: secp256r1 (NIST P-256) Curve Syscalls: Draft
- SIMD-0582: Early detection of instruction trace overflow: Draft
- SIMD-0599: Remove Inactive Stakes from Rewards: Idea
- SIMD-0607: Remove Floating Point from Runtime: Draft
- SIMD-0648: Unbound LoaderV3 Instruction Data: Review
- SIMD-0683: Pass ABIv1 input metadata via registers r3–r5: Review
- SIMD-0684: Loader V3: Allow Prefunded ProgramData: Review
- SIMD-0685: Loader V3: Remove ExtendProgram
- SIMD-0688: Single Program Runtime Environment: Idea
- SIMD-0690: Hash validation in program upgrades: Review
No feature gate
- SIMD-0001: Solana Proposal Process: Living
- SIMD-0007: SIMD Access Policy: Living
- SIMD-0015: Partitioned Epoch Rewards Distribution: Withdrawn
- SIMD-0022: Multi Delegation Stake Account: Withdrawn
- SIMD-0046: Optimistic cluster restart automation: Implemented
- SIMD-0048: Native Program for verifying secp256r1 sig.: Withdrawn
- SIMD-0049: Syscall for remaining compute units: Withdrawn
- SIMD-0054: Sysvar for active stake: superseded
- SIMD-0064: Transaction Receipts: Stagnant
- SIMD-0077: Programify Feature Gate Program: superseded
- SIMD-0082: Relax Transaction Constraints: superseded
- SIMD-0088: Enable Core BPF Programs: Activated
- SIMD-0121: proposal guidance on estimating compute cost: superseded
- SIMD-0149: Migrate Snapshot Serialized Epoch Stakes: Activated
- SIMD-0161: SBPF versioning and feature gating: superseded
- SIMD-0163: Lift the CPI caller restriction: Withdrawn
- SIMD-0164: `ExtendProgramChecked` loader-v3 instruction: superseded
- SIMD-0177: Program Runtime ABI v2: superseded
- SIMD-0204: Slashable event verification: Review
- SIMD-0219: Stricter ABI and Runtime Constraints: Review
- SIMD-0268: Raise CPI Nesting Limit: Accepted
- SIMD-0296: Larger Transaction Size: Review
- SIMD-0297: Relax Invalid Nonced Transactions Constraint: Review
- SIMD-0298: Add `bank_hash` to block footer.: Idea
- SIMD-0307: Add Block Footer: Review
- SIMD-0333: Serialize Block ID in Bank into Snapshot: Review
- SIMD-0376: Relaxing Transaction Signature Verification: Review
- SIMD-0401: Stake program Pinocchio migration (`p-stake`)
- SIMD-0411: Double Disinflation Rate: superseded
- SIMD-0418: Enable Loader v2 to v3 Program Migrations: Review
- SIMD-0430: Relax Program Buffer Constraints: Review
- SIMD-0432: Loader V3: Reclaim Closed Program: Review
- SIMD-0436: Reduce lamports_per_byte to 3480: Idea
- SIMD-0464: Vote Account Initialize V2: Review
- SIMD-0495: Core BPF Upgrade Procedure: Idea
- SIMD-0499: Deactivate execution of loader-v1 and ABI-v0
- SIMD-0503: Static Sysvars
- SIMD-0506: Upgrade secp256k1 to k256 (Agave-specific): Review
- SIMD-0553: Base Inclusion and Resource-based Fee: Draft
- SIMD-0558: Leader Info Syscall: Draft
- SIMD-0567: CU-optimized ATA Program (`p-ATA`)
- SIMD-0568: Deprecate Precompiles
- SIMD-0571: Soft Deprecation of Durable Nonce Transactions
- SIMD-0579: Keccak-p1600 syscall
- SIMD-0596: Increase TxV1 Account Lock Limit to 96: Draft
- SIMD-0602: Disallow Nonce Account as Program ID
- SIMD-0608: DeactivateDelinquent for Closed Vote Accounts: Review
- SIMD-0609: Prohibit Vote Account Self-Withdrawals: Review
- SIMD-0610: Prohibit Nonce Account Self-Withdrawals: Review
- SIMD-0630: FLH Slot Time Compensation
- SIMD-0643: Move fee burn rounding from per slot to per transaction
- SIMD-0645: SVM JIT intrinsics sol_multi3
- SIMD-0646: Disable legacy and v0 transaction formats
- SIMD-0650: bn254 pairing output
- SIMD-0670: ABIv1 invoke signed V2 syscall: Review
- SIMD-0674: Validator Location Registration
- SIMD-0675: Geo-Aware Leader Schedule
- SIMD-0676: On-Chain Epoch Stakes
- SIMD-0701: Vote Account v5
- SIMD-0706: disable `sol_alloc_free_` again
- SIMD-0709: Process for SIMDs that add cryptographic syscalls
- SIMD-0714: SIMD