Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Appendix C — Mainnet feature manifest

The Solana Improvement Documents repository defines the proposal process and source documents. Governance activity is available through the Solana validator-governance site. This appendix lists every feature account active in the Mainnet configuration at reference epoch E; features not active by E are outside this specification.

Informative table. Complete active Mainnet feature manifest at E = 1072.

Feature addressProtocol selectorActivation epochBrief effectRelevant SIMDClassification
16FMCmgLzCNNz6eTwGanbyN2ZxvTBSLuQ6DZhgeMshgstop_truncating_strings_in_syscalls556Stop truncating strings in syscalls.—Consensus/state
21AWDosvp3pBamFW91KB35pNoaoZVTM7ess8nr2nt53Bmerge_nonce_error_into_system_error351Merge NonceError into SystemError.—Consensus/state
25vqsfjk7Nv1prsQJmA4Xu1bN61s8LXCBGUPp8Rfy1UFincremental_snapshot_only_incremental_hash_calculation564Only hash accounts in incremental snapshot during incremental snapshot creation.—Client implementation
265hPS8k8xJ37ot82KEgjRunsUp5w4n4Q4VwwiN9i9psoptimize_epoch_boundary_updates254Optimize epoch boundary updates.—Client implementation
28s7i3htzhahXQKqmS2ExzbEoUypg9krwvtK2M9UWXh9update_rewards_from_cached_accounts477Update rewards from cached accounts.—Client implementation
2B2SBNbUcr438LtGXNcJNBP2GBSxjx81F945SdSkUSfCdisable_partitioned_rent_collection808Disable partitioned rent collection.SIMD-0175Consensus/state
2Fr57nzzkLYXW695UdDxDeR5fhnZWSttZeZYemrnpGFVmigrate_config_program_to_core_bpf753Migrate Config program to Core BPF.SIMD-0140Consensus/state
2GCrNXbzmt4xrwdcKS2RdsLzsgu4V5zHAemW57pcHT6aremove_simple_vote_from_cost_model981Removes the static SimpleVote transaction-cost classification.—Consensus/state
2HmTkCj9tXuPE4ueHzdD7jPeMf9JGCoZh5AsyoATiWEeremove_bpf_loader_incorrect_program_id549Stop incorrectly throwing IncorrectProgramId in bpf_loader.—Consensus/state
2R72wpcQ7qV7aTJWUumdn8u5wmmTyXbK7qzEy7YSAgyYinclude_account_index_in_rent_error357Include account index in rent tx error.—Consensus/state
2cGj3HJYPhBrtQizd7YbBxEsifFs5qhzabyFjUAp6dBatimestamp_bounding129Applies the timestamp bounding protocol change.—Resolved historical selector
2h63t332mGCCsWK2nqqqHhN4U9ayyqhLVFvczznHDoTZupdate_syscall_base_costs321Update syscall base costs.—Consensus/state
2jXx2yDmGysmBKfKYNgLj2DQyAQv6mMk2BPh4eSbyB4Hdisable_fee_calculator342Deprecate fee calculator.—Consensus/state
2ry7ygxiYURULZCrypHhveanvP5tzZ4toRwVp89oCNSjapply_cost_tracker_during_replay763Apply cost tracker to blocks during replay.—Consensus/state
36PRUK2Dz6HWYdG9SpjeAsF5F3KxnFCakA2BZMbtMhSbfixed_memcpy_nonoverlapping_check319Use correct check for nonoverlapping regions in memcpy syscall.—Consensus/state
3BX6SBeEBibHaVQXywdkcgyUk6evfYZkHdztXiDtEpFSwarp_timestamp_with_a_vengeance316Warp timestamp again, adjust bounding to 150% slow.—Consensus/state
3E3jV7v9VcdJL8iYZUMax9DiDno8j7EWUVbhm9RtShj2demote_program_write_locks233Demote program write locks to readonly, except when upgradeable loader present.—Consensus/state
3Jq7mE2chDpf6oeEDsuGK7orTYEgyQjCPvaRppTNdVGKuse_loaded_executables154Uses loaded executables.—Resolved historical selector
3KZZ6Ks1885aGBQ45fwRcPXVBCtzUvxhUTkwKMR41Tcaversioned_tx_message_enabled358Enable versioned transaction message processing.—Wire/interoperability
3NKRSwpySNwD3TvP5pHnRmkAQRsdkXWRr1WaQh8p4PWXreject_callx_r10646Reject SBF CALLX instructions that target r10.—Consensus/state
3QEUpjhgPEt92nz3Mqf6pABkHPGCQwSvKtyGMq4SuQyLadd_missing_program_error_mappings235Adds missing program error mappings.—Resolved historical selector
3XgNukcZWf9o3HdA3fpJbm94XFc4qpvTXc8h1wxYwiPidisable_bpf_deprecated_load_instructions322Disable ldabs* and ldind* SBF instructions.—Consensus/state
3aJdcZqxoLpSBxgeYGjPwaYS1zzcByxUDqJkbzWAH1Zbrecord_instruction_in_transaction_context_push328Move the CPI stack overflow check to the end of push.—Consensus/state
3ccR6QpxGYsAbWyfevEtBNGfWV4xBffxRj2tD6A9i39Fcheck_init_vote_data159Check initialized Vote data.—Consensus/state
3gtZPqvPpsbXZVCx6hceMfWxtsmrjMzmg8C7PLKSxS2dfilter_votes_outside_slot_hashes365Filter vote slots older than the slot hashes history.—Consensus/state
3h1BQWPDS5veRsq6mDBWruEpgPxRJkfwGexg5iiQ9mYgconsistent_recent_blockhashes_sysvar95Applies the consistent recent blockhashes sysvar protocol change.—Resolved historical selector
3opE3EzAKnUftUDURkzMgwpNgimBAypW1mNDYH4x4Zg7reward_full_priority_fee741Reward full priority fee to validators.SIMD-0096Consensus/state
3u3Er5Vc2jVcwz4xr2GJeSAXT3fAj6ADHZ4BJMZiScFdnonce_must_be_advanceable320Durable nonces must be advanceable.—Consensus/state
3uFHb9oKdGfgZGJK9EHaAXN4USvnQtAFC13Fh5gGFS5Bupdate_hashes_per_tick539Update desired hashes per tick on epoch boundary.—Consensus/state
3uRVPBpyEJRo1emLCrq38eLRFGcu6uKSpUXqGvU8T7SZcheck_syscall_outputs_do_not_overlap403Check syscall outputs do not overlap.—Consensus/state
3zydSLUwuqqsV3wL5wBsaVgyvMox3XTHx7zLEuQf1U2Ztimestamp_correction129Applies the timestamp correction protocol change.—Resolved historical selector
437r62HoAdUb63amq3D7ENnBLDhHT2xY8eFkLJYVKK4xstake_deactivate_delinquent_instruction460Enable the deactivate delinquent stake instruction.—Consensus/state
4ApgRX3ud6p7LNMJmsuaAcZY5HWctGPr5obAsjB3A54dprevent_calling_precompiles_as_programs332Prevent calling precompiles as programs.—Consensus/state
4Di3y24QFLt5QEUPZtbnjyfQKfm6ZMTfa6Dw1psfoMKUdrop_redundant_turbine_path461Drop redundant turbine path.—Wire/interoperability
4EJQtF2pkRyawwcTVfQutzq4Sa5hRhibF6QAK1QXhtEXenable_durable_nonce320Enable durable nonce.—Consensus/state
4RWNif6C2WCNiKVW7otP4G7dkmkHGyKQWRpuZ1pxKU5mpico_inflation133Pico inflation.—Consensus/state
4UDcAfQ6EcA6bdcadkeHpkarkhZGJ7Bpq7wTAiRMjkoidisable_builtin_loader_ownership_chains480Disable builtin loader ownership chains.—Consensus/state
4VvpgRD6UsHvkXwpuQhtR5NG1G4esMaExeWuSEpsYRUaturbine_peers_shuffle294Applies the turbine peers shuffle protocol change.—Resolved historical selector
4WeHX6QoXCCwqbSFgi6dxnB6QsPo6YApaNTH7P4MLQ99relax_intrabatch_account_locks953Allow batched transactions to read/write and write/write the same accounts.SIMD-0083Consensus/state
4d5AKtxoh93Dwm1vHXUU3iRATuMndx1c431KgT2td52radd_compute_budget_program271Add compute_budget_program.—Consensus/state
4eohviozzEeivk1y9UbrnekbAFMDQyJz5JjA9Y6gyvkymigrate_feature_gate_program_to_core_bpf752Migrate Feature Gate program to Core BPF (programify).SIMD-0089Consensus/state
4kpdyrcj5jS47CZb2oJGfVxjYbsMm2Kx97gFyZrxxwXzno_overflow_rent_distribution119No overflow rent distribution.—Consensus/state
4yuaYAj2jGMGTh1sSmi4G2eFscsDq8qjugJXZoBN6YEadisable_bpf_unresolved_symbols_at_runtime322Disable reporting of unresolved SBF symbols at runtime.—Consensus/state
54KAoNiUERNoWWUhTWWwXgym94gzoXFVnHyQwPA18V9Alibsecp256k1_fail_on_bad_count2465Fail libsecp256k1_verify if count appears wrong.—Consensus/state
59dM4SV6dPEKXPfkrkhFkRdn4K6xwKxdNAPMyXG7J1wTper_byte_logging_cost154Applies the per byte logging cost protocol change.—Resolved historical selector
5GpmAKxaGsWWbPp4bNXFLJxZVvG92ctxf7jQnzTQjF3nepoch_accounts_hash529Enable epoch accounts hash calculation.—Client implementation
5JsG4NWH8Jbrqdd8uL6BNwnyZK3dQSoieRXG5vmofj9yenable_vote_address_leader_schedule841Enable vote address leader schedule.SIMD-0180Consensus/state
5KLGJSASDVxKPjLCDWNtnABLpZjsQSrYZ8HKwcEdAMC8drop_unchained_merkle_shreds821Drops unchained Merkle shreds.SIMD-0313Wire/interoperability
5Lu3JnWSFwRYpXzwDMkanWSk6XqSuF2i5fpnVhzB5CTcturbine_retransmit_peers_patch146Applies the turbine retransmit peers patch protocol change.—Resolved historical selector
5N4NikcJLEiZNqwndhNyvZw15LvFXp1oF7AJQTNTZY5kreject_section_virtual_address_file_offset_mismatch266Rejects section virtual address file offset mismatch.—Resolved historical selector
5Pecy6ie6XGm22pc9d4P9W5c31BugcFBuy6hsP2zkETvchecked_arithmetic_in_fee_validation543Checked arithmetic in fee validation.—Consensus/state
5RzEHTnf6D7JPZCvwEzjM19kzBsyjSU3HoMfXaQmVgnZpull_request_ping_pong_check130Applies the pull request ping pong check protocol change.—Resolved historical selector
5S9JDUb4vKY1CUxLf5oc96ZxjGrephj1jcPeTi62sYmPenable150Legacy full-inflation enable selector.—Consensus/state
5WLtuUJA5VVA1Cc28qULPfGs8anhoBev8uNqaaXeasnfmax_cpi_instruction_size_ipv6_mtu141Applies the max CPI instruction size IPv6 mtu protocol change.—Resolved historical selector
5XnbR5Es9YXEARRuP6mdvoxiW3hx5atNNeBmwVd8P3QDcheck_program_owner173Checks program owner.—Resolved historical selector
5ZCcFAzJ1zsFKe1KSZa9K92jhx7gkcKj97ci2DBo1vwjsimplify_writable_program_account_check558Simplify checks performed for writable upgradeable program accounts.—Consensus/state
5cC3foj77CWun58pC51ebHFUWavHWKarWyR5UUik7dnCenable_sbpf_v3_deployment_and_execution993Enable deployment and execution of SBPFv3 programs.SIMD-0178, SIMD-0189, SIMD-0377Consensus/state
5ekBxc8itEnPv4NzGJtr8BVVQLNMQuLMNQQj7pHoLNZ9tx_wide_compute_cap313Transaction wide compute cap.—Consensus/state
5oMCU3JPaFLr8Zr4ct7yFA7jdk6Mw1RmB8K4u9ZbS42zraise_block_limits_to_50m770Raise block limit to 50M.SIMD-0207Consensus/state
5wAGiy15X1Jb2hkHnPDCM8oB9V42VNA9ftNVFK84dEgvset_exempt_rent_epoch_max570Set rent epoch to Epoch::MAX for rent-exempt accounts.—Consensus/state
5x3825XS7M2A3Ekbn5VGGkvFoAg5qrRWkTrY4bARP1GLenable_bpf_loader_set_authority_checked_ix582Enable bpf upgradeable loader SetAuthorityChecked instruction.—Consensus/state
5xXZc66h4UdB6Yq7FzdBxBiRAFMMScMLwHxk2QZDaNZLprovide_instruction_data_offset_in_vm_r2950Provide the VM instruction-data pointer in r2.SIMD-0321Consensus/state
64ixypL1HPu8WtJhNSMb9mSgfFaJvsANuRkTbHyuLfnxstatic_instruction_limit936static instruction limit.SIMD-0160Consensus/state
6M4oQ6eXneVhtLoiAr4yRYQY43eVLjrKbiDZDJc892ykmigrate_stake_program_to_core_bpf823Migrate Stake program to Core BPF.SIMD-0196Consensus/state
6Qob9Z4RwGdf599FDVCqsjuKjR8ZFR3oVs2ByRLWBsuaenforce_aligned_host_addrs217Enforces aligned host addrs.—Resolved historical selector
6RvdSWHh8oh72Dp7wMTS2DBkf3fRPtChfNrAo3cZZoXJsecp256k1_recover_syscall_enabled243Secp256k1_recover syscall.—Consensus/state
6Uf8S75PVh91MYgPQSHnjRAPQq6an5BDv9vomrCwDqLedeprecate_unused_legacy_vote_plumbing656Deprecate unused legacy vote tx plumbing.SIMD-0138Consensus/state
6YsBCejwK96GZCkJ6mkZ4b68oP63z2PLoQmWjC7ggTqZconsume_blockstore_duplicate_proofs602Consume duplicate proofs from blockstore in consensus.—Consensus/state
6aHuNsUmwSzCEMjrBzBCYaxHAyAcQBjVES92JigHBDuClimit_instruction_accounts1000Maximum instruction accounts.SIMD-0406Consensus/state
6ap2eGy7wx5JmsWUmQ5sHwEWrFSDUxSti2k5Hbfv5BZGrewrite_stake129Applies the rewrite stake protocol change.—Resolved historical selector
6iyggb5MTcsvdcugX7bEKbHV8c6jdLbpHwkncrgLMhfofix_recent_blockhashes474Stop adding hashes for skipped slots to recent blockhashes.—Consensus/state
6oMCUgfY6BzZ6jwB681J6ju5Bh6CjVXbd7NeWYqiXBSuraise_block_limits_to_60m822Raise block limit to 60M.SIMD-0256Consensus/state
6oNzd5Z3M2L1xo4Q5hoox7CR2DuW7m1ETLWH5jHJthwarequire_stake_for_gossip216Requires stake for gossip.—Resolved historical selector
6ppMXNYLhVd7GcsZ5uV11wQEW7spppiMVfqQv5SXhDpXed25519_program_enabled273Enable builtin ed25519 signature verify program.—Consensus/state
6sPDzwyARRExKH52LECxcGoqziH8G7SZofwuxi8Ja331create_account_allow_prefund979Enable CreateAccountAllowPrefund system program instruction.SIMD-0312Consensus/state
6tRxEYKuy2L5nnv5bgn7iT28MxUbYxp5h7F3Ncf1exrTvote_authorize_with_seed344An instruction you can use to change a vote accounts authority when the current authority is a derived key.—Consensus/state
6uaHcKPGUy4J7emLBgUTeufhJdiwhngW6a1R9B7c2ob9sol_log_data_syscall_enabled273Enable sol_log_data syscall.—Consensus/state
7411E6gFQLDhQkdRjmpXwM1hzHMMoYQUjHicmvGPC1Nfsysvar_via_syscall193Applies the sysvar via syscall protocol change.—Resolved historical selector
74CoWuBmt3rUVUrCb2JiSTvh6nXyBWUsK4SaMj3CtE3Tmove_serialized_len_ptr_in_cpi469Cpi ignore serialized_len_ptr.—Consensus/state
75m6ysz33AfLA5DDEzWM1obBrnPQRSsdVQ2nRmc8Vuu1do_support_realloc310Support account data reallocation.—Consensus/state
76dHtohc2s5dR3ahJyBxs7eJJVipFkaPdih9CLgTTb4Bdelay_commission_updates991Delay Commission Updates.SIMD-0249Consensus/state
79HWsX9rpnnJBPcdNURVqygpMAfxdrAirzAGAVmf92imdisable_deploy_of_alloc_free_syscall484Disable new deployments of deprecated sol_alloc_free_ syscall.—Consensus/state
7GUcYgq4tVtaqNCKT3dho9r4665Qp5TxCZ27Qgjx3829executables_incur_cpi_data_cost323Executables incur CPI data costs.—Consensus/state
7K5HFrS1WAq6ND7RQbShXZXbtAookyTfaDQPTJNuZpzereturn_none_for_zero_lamport_accounts354Return none for zero lamport accounts.—Resolved historical selector
7Tr5C1tdcCeBVD8jxtHYnvjL1DGdFboYBHCJkEFdenBbfix_write_privs235Fixes write privs.—Resolved historical selector
7Ua8mFtahVfA3WCY9LoXDAJJdvJRJHckvSSr1dD8FTWckeccak256_syscall_enabled201Enables Keccak-256 syscall.—Resolved historical selector
7VVhpg5oAjAmnmz1zCcSHb2Z9ecZB2FQqpnEwReka9Zmrequire_static_nonce_account890Static Nonce Account Only.SIMD-0242Consensus/state
7Vced912WrRnfjaiKRiNBcbuFw7RrnLv3E3z95Y4GTNcenable_early_verification_of_account_modifications514Enable early verification of account modifications.—Consensus/state
7WeS1vfPRgeeoXArLh7879YcB9mgE9ktjPDtajXeWfXndisable_bpf_loader_instructions601Disable bpf loader management instructions.SIMD-0093Consensus/state
7XRJcS5Ud5vxGB54JbK9N2vBZVwnwdBNeJW1ibRgD9gxenable150Enables full inflation after the Certus One community vote.—Consensus/state
7axKe5BTYBDD87ftzWbk5DfzWMGyRvqmWTduuo22Yaqyvote_state_add_vote_latency585Replace Lockout with LandedVote (including vote latency) in vote state.—Consensus/state
7bTK6Jis8Xpfrs8ZoUfiMDPazTcdPcTWheZFJTA5Z6X4move_stake_and_move_lamports_ixs727Enable MoveStake and MoveLamports stake program instructions.SIMD-0148Consensus/state
7g9EUwj4j7CS21Yx1wvgWLjSZeh5aPq8x9kpoPwXM8n8limit_secp256k1_recovery_id330Limit secp256k1 recovery id.—Consensus/state
7rcw5UtqgDTBBv2EcynNfYckgdAaH1MAsCjKgXMkN7Ricurve25519_syscall_enabled637Enable curve25519 syscalls.—Consensus/state
7txXZZD6Um59YoLMF7XUNimbMjsqsWhc7g2EniiTrmp1reject_non_rent_exempt_vote_withdraws271Fail vote withdraw instructions which leave the account non-rent-exempt.—Consensus/state
7uZBkJXJ1HkuP6R3MJfZs7mLwymBcDbKdqbF51ZWLierenable_chained_merkle_shreds710Enable chained Merkle shreds.—Wire/interoperability
812kqX67odAp5NFwM8D2N24cku7WTm9CHUTFUXaDkWPnprevent_crediting_accounts_that_end_rent_paying373Prevent crediting rent paying accounts.—Consensus/state
8199Q2gMD2kwgfopK5qqVWuDbegLgpuFUFHCcUJQDN8berror_on_syscall_bpf_function_hash_collisions650Error on bpf function hash collisions.—Consensus/state
86HpNqzutEZwLcPxS6EHDcMNYWk6ikhteg9un7Y2PBKEcompact_vote_state_updates491Compact vote state updates to lower block size.—Consensus/state
86LJYRuq2zgtHuL3FccR6hqFJQMQkFoun4knAxcPiF1Pdemote_sysvar_write_locks195Applies the demote sysvar write locks protocol change.—Resolved historical selector
8C8MCtsab5SsfammbzvYz65HHauuUYdbY2DZ4sznH6h5update_hashes_per_tick3591Update desired hashes per tick to 4.4M.—Consensus/state
8FdwgyHFEjhAdjWfV2vfqk7wA1g9X3fQpKH7SBpEv3kCrequire_static_program_ids_in_transaction355Require static program ids in versioned transactions.—Consensus/state
8HYXgkoKGreAMA3MfJkdjbKNVbfZRQP3jqFpa7iqN4v7check_seed_length235Checks seed length.—Resolved historical selector
8U4skmMVnF6k2kMvrWbQuRUT3qQSiTYpSjqmhmgfthZuadd_new_reserved_account_keys743Maintain Dynamic Set of Reserved Account Keys.SIMD-0105Consensus/state
8We4E7DPwF2WfAN8tRTtWQNhi98B99Qpuj7JoZ3Aikggupdate_hashes_per_tick4592Update desired hashes per tick to 7.6M.—Consensus/state
8ZqTSYHgzyaYCcXJPMViRy6afCFSgNvYooPDeVdyj5GCcheck_duplicates_by_hash178Checks duplicates by hash.—Resolved historical selector
8Zs9W7D9MpSEtUWSQdGniZk2cNmV22y6FLJwCx53asmeenable_bpf_loader_extend_program_ix532Enable bpf upgradeable loader ExtendProgram instruction.—Consensus/state
8kEuAshXLsgkUEdcFVLqrjCGGHVWFW99ZZpxvAzzMtBpdedupe_config_program_signers256Dedupe config program signers.—Consensus/state
8pgXCMNXC8qyEFypuwpXyRxLXZdpM4Qo72gJ6k87A6wLnative_programs_consume_cu557Native program should consume compute units.—Consensus/state
8sKQrMQoUHtQSUP83SPG4ta2JDjSAiWs7t5aJ9uEd6Touse_default_units_in_fee_calculation478Use default units per instruction in fee calculation.—Consensus/state
98std1NSHqXi9WYvFShfVepRdCoq1qvsp8fsR2XZtG8gadd_set_compute_unit_price_ix329Add compute budget ix for setting a compute unit price.—Consensus/state
9gxu85LYRAcZL38We8MYJ4A9AwgBBPtVBAqebMcT1241cap_accounts_data_allocations_per_transaction520Cap accounts data allocations per transaction.—Consensus/state
9k5ijzTbYPtjzu8wj2ErH9v45xecHzQ1x4PMYMMxFgdMcap_bpf_program_instruction_accounts475Enforce max number of accounts per bpf program instruction.—Consensus/state
9kdtFSrXHQg3hKkbXkQ6trJ3Ja1xpJ22CTFSNAciEwmLreject_empty_instruction_without_program318Fail instructions which have native_loader as program_id directly.—Consensus/state
9r69RnnxABmpcPFfj1yhg4n9YFR2MNaLdKJCC6v3Spebsimple_capitalization134Applies the simple capitalization protocol change.—Resolved historical selector
9ypxGLzkMxi89eDerRKXWDXe44UY2z4hBig4mDhNq5Dpmove_precompile_verification_to_svm760Move precompile verification into SVM.SIMD-0159Consensus/state
A16q37opZdQMCbe5qJ6xpBB9usykfv8jZaMkxvZQi4GJenable_alt_bn128_syscall638Add alt_bn128 syscalls.—Consensus/state
A8xyMHZovGXFkorFqEmVH2PKGLiBip5JD7jt4zsUWo4Hremove_congestion_multiplier_from_fee_calculation548Remove congestion multiplier from transaction fee calculation.—Consensus/state
ALBk3EWdeAg2WAGf6GPDUf1nynyNqCdEVmgouG7rpuCjreject_vote_account_close_unless_zero_credit_epoch395Fail vote account withdraw to 0 unless account earned 0 credits in last completed epoch.—Consensus/state
AVZS3ZsN4gi6Rkx2QUibYuSJG3S6QHib7xCYhG6vGJxUvote_withdraw_authority_may_change_authorized_voter321Vote account withdraw authority may change the authorized voter.—Consensus/state
AnAP9zPV4KL7czAPQbFhpDKV2tx7g4UGNbK9wvXwjaRobls_pubkey_management_in_vote_account999BLS Pubkey Management in Vote Account.SIMD-0387Consensus/state
B5PSjDEJvKJEUQSL7q94N7XCEoWJCYum8XfUg7yuugUUmatching_buffer_upgrade_authorities150Applies the matching buffer upgrade authorities protocol change.—Resolved historical selector
B7H2caeia4ZFcpE3QcgMqbiWiBtWrdBRBSJ1DY6Ktxbqdeplete_cu_meter_on_vm_failure759Deplete compute meter for vm errors.SIMD-0182Consensus/state
B9cdB55u4jQsDNsdTK525yE9dmSc5Ga7YBaBrDFvEhM9disable_cpi_setting_executable_and_rent_epoch523Disable setting is_executable and_rent_epoch in CPI.—Consensus/state
BHuZqHAj7JdZc68wVgZZcy51jZykvgrx4zptR44RyChesol_log_compute_units_syscall129Applies the sol log compute units syscall protocol change.—Resolved historical selector
BKCPBQQBZqggVnFso5nQ8rQ4RwwogYwjuUt9biBjxwNFrent_for_sysvars243Collect rent from accounts owned by sysvars.—Consensus/state
BL99GYhdjjcv6ys22C9wPgn2aTVERDbPHHo4NbS3hgp7spl_token_v2_self_transfer_fix154Spl-token self-transfer fix.—Consensus/state
BTWmtJC8U5ZLMbBUUA1k6As62sYjPEjAiNAT55xYGdJUrevise_turbine_epoch_stakes567Revise turbine epoch stakes.—Wire/interoperability
BUS12ciZ5gCoFafUHWW8qaFMMtwFQGVxjsDheWLdqBE2credits_auto_rewind464Auto rewind stake’s credits_observed if (accidental) vote recreation is detected.—Consensus/state
BcWknVcgvonN8sL4HE4XFuEVgfcee5MwxWPAgP6ZV89Xvote_stake_checked_instructions214Vote/state program checked instructions.—Consensus/state
Bfqm7fGk5MBptqa2WHXWFLH7uJvq8hkJcAQPipy2bAMkwarp_testnet_timestamp141Applies the warp testnet timestamp protocol change.—Resolved historical selector
BiCU7M5w8ZCMykVSyhZ7Q3m2SWoR2qrEQ86ERcDX77MEnonce_must_be_writable317Nonce must be writable.—Consensus/state
BiNjYd8jCYDgAwMqP91uwZs6skWpuHtKrZbckuKESs8Nprevent_upgrade_and_invoke145Prevents upgrade and invoke.—Resolved historical selector
Bj2jmUsM2iRhfdLLDSTkhM5UQRQvQHm57HSmPibPtEyuclean_up_delegation_errors490Return InsufficientDelegation instead of InsufficientFunds or InsufficientStake where applicable.—Consensus/state
BkFDxiJQWZXGTZaJQxH7wVEHkAmwCgSEVkrvswFfRJPDrequire_rent_exempt_accounts309Require all new transaction accounts with data to be rent-exempt.—Consensus/state
BkPcYCrwHXBoTsv9vMhiRF9gteZmDj3Uwisz9CDjoMKpupdate_data_on_realloc193Updates data on realloc.—Resolved historical selector
BrTR9hzw4WBGFP65AJMbpAo64DcA3U6jdPSga9fMV5cSsystem_transfer_zero_check216Perform all checks for transfers of 0 lamports.—Consensus/state
BsKLKAn1WM4HVhPRDsjosmqSg2J8Tq5xP2s2daDS6Ni4update_hashes_per_tick5595Update desired hashes per tick to 9.2M.—Consensus/state
BtVN7YjDzNE6Dk7kTT7YTDgMNUZTNgiSJgsdzAeTg2jFremove_rounding_in_fee_calculation734Removing unwanted rounding in fee calculation.—Consensus/state
BzBBveUDymEYoYzcMWNQCx3cd4jQs7puaVFHLtsbB6fmvote150Records the community vote authorizing full inflation.—Consensus/state
C5fh68nJ7uyKAuYZg2x9sEQ5YrVf3dkW6oojNBSc3Jvosend_to_tpu_vote_port234Send votes to the tpu vote port.—Wire/interoperability
C97eKZygrkU4JxJsZdjgbUY7iQR7rKTr4NyDWo2E5pRmmigrate_address_lookup_table_program_to_core_bpf762Migrate Address Lookup Table program to Core BPF.SIMD-0128Consensus/state
C9oAhLxDBm3ssWtJx1yBGzPY55r2rArHmN1pbQn6HogHreserve_minimal_cus_for_builtin_instructions758Reserve minimal CUs for builtin instructions.SIMD-0170Consensus/state
CBkDroRDqm8HwHe6ak9cguPjUomrASEkfmxEaZ5CNNxzmax_tx_account_locks325Enforce max number of locked accounts per transaction.—Consensus/state
CCu4boMmfLuqcmfTLPHQiUo22ZdUsXjgzPAURYaWt1Bwrequestable_heap_size313Requestable heap frame size.—Consensus/state
CE2et8pqgyQMP2mQRg3CgvX8nJBKUArMu3wfiQiQKY1yround_up_heap_size545Round up heap size when calculating heap cost.—Consensus/state
CFK1hRCNy8JJuAAY8Pb2GjLFNdCThS2qwZNe3izzBMgnadd_get_processed_sibling_instruction_syscall311Add add_get_processed_sibling_instruction_syscall.—Consensus/state
CGB2jM8pwZkeeiXQ66kBMyBR6Np61mggL7XUsmLjVcrwskip_rent_rewrites755Skip rent rewrites.SIMD-0183Consensus/state
CHaChatUnR3s6cPyPMMGNJa3VdQQ8PNH2JqdD4LpCKnBswitch_to_chacha8_turbine946Reduce ChaCha rounds for Turbine from 20 to 8.SIMD-0332Wire/interoperability
CJzY83ggJHqPGDq8VisV3U91jDJLuEaALZooBrXtnnLUdisable_rent_fees_collection756Disable rent fees collection.SIMD-0084Consensus/state
CLCoTADvV64PSrnR6QXty6Fwrt9Xc6EdxSJE4wLRePjqget_sysvar_syscall_enabled745Enable syscall for fetching Sysvar bytes.SIMD-0127Consensus/state
Cdkc8PPTeTNUPoZEfCY5AyetUrEdkZtNPMgz58nqyaHDswitch_to_new_elf_parser634Switch to new ELF parser.—Consensus/state
CpkdQmspsaZZ8FVAouQTtTWZkc8eeQ7V3uj7dWz543rZon_load_preserve_rent_epoch_for_rent_exempt_accounts473On bank load account, do not try to fix up rent_epoch.—Client implementation
CqvdhqAYMc6Eq6tjW3H42Qg39TK2SCsL8ydMsC363PRpstart_verify_shift32_imm266Applies the start verify shift32 imm protocol change.—Resolved historical selector
CveezY6FDLVBToHDcvJRmtMouqzsmj4UXYh5ths5G5Uvvote_state_update_credit_per_dequeue491Calculate vote credits for VoteStateUpdate per vote dequeue to match credit awards for Vote instruction.—Consensus/state
D2aip4BBr8NPWtU9vLrwrBvbuaQ8w1zV38zFLxx4pfBVrequire_rent_exempt_split_destination588Require stake split destination account to be rent exempt.—Consensus/state
D31EFnLgdiysi84Woo3of4JMu7VmasUS3Z7j9HYXCeLYenable_turbine_fanout_experiments572Enable turbine fanout experiments.—Wire/interoperability
D4jsDcXaqdW8tDAWn8H4R25Cdns2YwLneujSL1zvjW6Rrequire_custodian_for_locked_stake_authorize166Require custodian to authorize withdrawer change for locked stake.—Consensus/state
D7KfP7bZxpkYtD4Pc38t9htgs1k5k47Yhxe4rp6WDVi8sha256_syscall_enabled129Enables SHA-256 syscall.—Resolved historical selector
DFBnrgThdzH4W6wZ12uGPoWcMnvfZj11EHnxHcVxLPhDbpf_loader2_program95Applies the BPF loader2 program protocol change.—Resolved historical selector
DTVTkmw3JSofd8CJVJte8PXEbxNQ2yZijvVr3pe2APPjdisable_rehash_for_rent_epoch473On accounts hash calculation, do not try to rehash accounts.—Client implementation
Dc7djyhP9aLfdq2zktpvskeAjpG56msCU1yexpxXiWZbstake_program_v4193Applies the stake program v4 protocol change.—Resolved historical selector
DdLwVYuvDz26JohmgSbA7mjpJFgX5zP2dkp8qsF2C33Vcap_transaction_accounts_data_size533Cap transaction accounts data size up to a limit.—Consensus/state
DeMpxgMq51j3rZfNK2hQKZyXknQvqevPSFPJFNTbXxsSreject_all_elf_rw266Rejects all ELF rw.—Resolved historical selector
DeS7sR48ZcFTUmt5FFEVDr1v1bh73aAbZiZq3SYr8Eh8formalize_loaded_transaction_data_size884Loaded transaction data size specification.SIMD-0186Consensus/state
DhsYfRjxfnh2g7HKJYSzT79r74Afa1wbHkAgHndrA1oylibsecp256k1_0_5_upgrade_enabled256Upgrade libsecp256k1 to v0.5.0.—Consensus/state
DpJREPyuMZ5nDfU6H3WTqSqUFSXAfw8u7xqmWtEwJDcPquick_bail_on_panic325Quick bail on panic.—Client implementation
DqniU3MfvdpU3yhmNF1RKeaM5TZQELZuyFGosASRVUoyreject_deployment_of_unresolved_syscalls266Rejects deployment of unresolved syscalls.—Resolved historical selector
Ds87KVeqhbv7Jw8W6avsS1mqz3Mw5J3pRTpPoDQ2QdiJadd_shred_type_to_shred_seed318Add shred-type to shred seed.—Wire/interoperability
DwScAzPUjuv65TMbDnFY7AgwmotzWy3xpEJMXM3hZFaBreturn_data_syscall_enabled273Enable sol_{set,get}_return_data syscall.—Consensus/state
E3PHP7w8kB7np3CTQ1qQ2tW3KCtjRSXBQgW9vM2mWv2Ysecp256k1_program_enabled95Secp256k1 program.—Consensus/state
E5JiFDQCwyC6QfT9REFyMpfK2mHcmv1GUDySU1Ue7TYvspl_token_v2_multisig_fix95Spl-token multisig fix.—Consensus/state
E8MkiWZNNPGU6n55jkGzyj8ghUmjCHRmDFdYYFYHxWhQleave_nonce_on_success308Leave nonce as is on success.—Consensus/state
EBeznQDjcPG8491sFsKZYBi5S5jTVXMpAKNDJMQPS2kqreduce_required_deploy_balance238Reduce required payer balance for program deploys.—Consensus/state
ED5D5a2hQaECHaMmKpnU48GdsfafdCjkb3pgAw5RKbb2abort_on_all_cpi_failures141Applies the abort on all CPI failures protocol change.—Resolved historical selector
EDGMC5kxFxGk4ixsNkGt8bW7QL5hDMXnbwaZvYMwNfzFsyscall_parameter_address_restrictions995Syscall Parameter Address Restrictions.SIMD-0459Consensus/state
EHFwHg2vhwUb7ifm7BuY9RMbsyt1rS1rUii7yeDJtGnNstop_verify_mul64_imm_nonzero266Stops verify mul64 imm nonzero.—Resolved historical selector
EJJewYSddEEtSZHiqugnvhQHiWyZKjkFDQASd7oKSagnenable_alt_bn128_compression_syscall641Add alt_bn128 compression syscalls.—Consensus/state
EMX9Q7TVFAmQ9V1CggAkhMzhXSg8ECp7fHrWQX2G1chfevict_invalid_stakes_cache_entries271Evict invalid stakes cache entries on epoch boundaries.—Consensus/state
EMsMNadQNhCYDyGpYH5Tx6dGHxiUqKHk782PU5XaWfmitry_find_program_address_syscall_enabled145Enables try find program address syscall.—Resolved historical selector
ENQi37wsVhTvFz2gUiZAAbqFEWGN2jwFsqdEDTE8A4MUmemory_ops_syscalls209Applies the memory ops syscalls protocol change.—Resolved historical selector
EQMtCuSAkMVF9ZdhGuABtgvyXJLtSRF5AQKv1RNsrhj7close_upgradeable_program_accounts235Applies the close upgradeable program accounts protocol change.—Resolved historical selector
EQUMpNFr7Nacb1sva56xn1aLfBxppEoSBH8RRVdkcD1xdisable_account_loader_special_case728Disable account loader special case.—Consensus/state
EVW9B5xD9FFK7vw1SBARwMA4s5eRo5eKJdKpsBikzKBzverify_tx_signatures_len238Prohibit extra transaction signatures.—Consensus/state
EWme9uFqfy1ikK1jhJs8fM5hxWnK336QJpbscNtizkTUupdate_hashes_per_tick2587Update desired hashes per tick to 2.8M.—Consensus/state
EYVpEP7uzH1CoXzbD6PubGhYmnxRXPeq3PPsm1ba3gpostop_sibling_instruction_search_at_parent547Stop the search in get_processed_sibling_instruction when the parent instruction is reached.—Consensus/state
EdM9xggY5y7AhNMskRG8NgGMnaP4JFNsWi8ZZtyT1af5max_invoke_depth_497Applies the max invoke depth 4 protocol change.—Resolved historical selector
EfhYd3SafzGT472tYQDUc4dPd2xdEfKs5fwkowUgVt4Wremove_deprecated_request_unit_ix540Remove support for RequestUnitsDeprecated instruction.—Consensus/state
Eg7tXEwMZzS98xaZ1YHUbdRHsaYZiCsSaR6sKgxreoajcommission_rate_in_basis_points1003Commission Rate in Basis Points.SIMD-0291Consensus/state
Ego6nTu7WsBcZBvVqJQKp6Yku2N3mrfG8oYCfaLZkAeKstake_program_v3141Applies the stake program v3 protocol change.—Resolved historical selector
EnvhHCLvg55P7PDtbvR1NwuTuAeodqpusV3MR5QEK8gsinstructions_sysvar_enabled95Enables instructions sysvar.—Resolved historical selector
F6UVKh1ujTEFK3en2SyAL3cdVnqko1FVEXWhmdLRu6WPenable_sbpf_v2_deployment_and_execution825Enable deployment and execution of SBPFv2 programs.SIMD-0173, SIMD-0174Consensus/state
FKAcEvNgSY79RpqsPNUV5gDyumopH4cEHqUxyfm8b8Aprelax_authority_signer_check_for_lookup_table_creation577Relax authority signer check for lookup table creation.—Consensus/state
FKe75t4LXxGaQnVHdUKM6DSFifVVraGZ8LyNo7oPwy1Zenable_get_epoch_stake_syscall766Enable syscall: sol_get_epoch_stake.SIMD-0133Consensus/state
FKu1qYwLQSiehz644H6Si65U5ZQ2cp9GxsyFUfYcuADvupdate_hashes_per_tick6597Update desired hashes per tick to 10M.—Consensus/state
FL9RsQA6TVUoh5xJQ9d936RHSebA1NLQqe3Zv9sXZRprenable_poseidon_syscall644Enable Poseidon syscall.—Consensus/state
FLjgLeg1PJkZimQCVa5sVFtaq6VmSDPw3NvH8iQ3nyHnuse_loaded_program_accounts141Uses loaded program accounts.—Resolved historical selector
FNKCMBzYUdjhHyPdsKG2LSmdzH8TCHXn3ytj8RNBS4nGenable_gossip_duplicate_proof_ingestion659Enable gossip duplicate proof ingestion.—Wire/interoperability
FQnc7U4koHqWgRvFaBJjZnV8VPg6L6wWK33yJeDp4yvVstake_split_uses_rent_sysvar472Stake split instruction uses rent sysvar.—Consensus/state
FToKNBYyiF4ky9s8WsmLBXHCht17Ek7RXaLZGHzzQhJ1spl_token_v2_set_authority_fix216Spl-token set_authority fix.—Consensus/state
FXs1zh47QbNnhXcnB6YiAQoJ4sGB91tKF3UFHLcKT7PMremove_accounts_executable_flag_checks811Remove checks of accounts is_executable flag.SIMD-0162Consensus/state
FaTa17gVKoqbh38HcfiQonPsAaQViyDCCSg71AubYZw8spl_associated_token_account_v1_1_0334SPL Associated Token Account Program version 1.1.0 release.—Consensus/state
FaTa4SpiaSNH44PGC4z8bnGVTkSRYaWvrBs3KTu8XQQqspl_associated_token_account_v1_0_4302SPL Associated Token Account Program release version 1.0.4, tied to token 3.3.0.—Consensus/state
Fab5oP3DmsLYCiQZXdjyqT3ukFFPrsmqhXU4WU1AWVVFprevent_rent_paying_rent_recipients542Prevent recipients of rent rewards from ending in rent-paying state.—Consensus/state
FbhK8HN9qvNHvJcoFVHAEUCNkagHvu7DTWzdnLuVQ5u4bpf_loader_upgradeable_program141Applies the BPF loader upgradeable program protocol change.—Resolved historical selector
Ff8b1fBeB86q8cjq47ZhsQLgv5EkHu3G1C99zjUfAzrqallow_votes_to_directly_update_vote_state491Enable direct vote state update.—Consensus/state
Ffswd3egL3tccB6Rv3XY6oqfdzn913vUcjCSnpvCKpfxbetter_error_codes_for_tx_lamport_check515Better error codes for tx lamport check.—Consensus/state
FjSRMpFe7mofQ3WrEMT7Smjk2sME1XdAoRxcv55V6M44deterministic_shred_seed_enabled276Enables deterministic shred seed.—Resolved historical selector
FsPaByos3gA9bUEhp3EimQpQPCoSvCEigHod496NmABQupgradeable_close_instruction176Applies the upgradeable close instruction protocol change.—Resolved historical selector
FtjnuAtJTWwX3Kx9m24LduNEhzaGuuPfDW6e14SX2Fy5cumulative_rent_related_fixes107Applies the cumulative rent related fixes protocol change.—Resolved historical selector
Ftok2jhqAqxUWEiCVRrfRs9DPppWP8cgTB7NQNKL88mSspl_token_v3_3_0_release271Spl-token v3.3.0 release.—Consensus/state
Ftok4njE8b7tDffYkC5bAbCaQv5sL6jispYrprzatUwNspl_token_v3_4_0334SPL Token Program version 3.4.0 release.—Consensus/state
FuS3FPfJDKSNot99ECLXtp3rueq36hMNStJkPJwWodLhabort_on_invalid_curve722Abort when elliptic curve syscalls invoked on invalid curve id.SIMD-0137Consensus/state
G6vbf1UBok8MWb8m25ex86aoQHeKTzDKzuZADHkShqm6add_set_tx_loaded_accounts_data_size_instruction537Add compute budget instruction for setting account data size per transaction.—Consensus/state
G74BkWBzmsByZ1kxHy44H3wjwp5hp7JbrGRuDpco22tYvote_state_update_root_fix468Fix root in vote state updates.—Consensus/state
GDH5TVdbTPUpRnXaRyQqiKUa7uZAbZ28Q2N9bhbKoMLmloosen_cpi_size_restriction724Loosen cpi size restrictions.—Consensus/state
GE7fRxmW46K6EmCD9AMZSbnaJ2e3LfqCZzdHi9hmYAgifilter_stake_delegation_accounts134Filter stake_delegation_accounts.—Consensus/state
GQALDaC48fEhZGWRj9iL5Q889emJKcj3aCvHF7VCbbF4limit_max_instruction_trace_length519Limit max instruction trace length.—Consensus/state
GQdjCCptpGECG7QfE35hKTAopB1umGoSrdKfax2VmZWyset_upgrade_authority_via_cpi_enabled192Enables set upgrade authority via CPI.—Resolved historical selector
GTUMCZ8LTNxVfxdrw7ZsDFTxXb7TutYkzJnFwinpE6dgdisable_deprecated_loader387Disable the deprecated BPF loader.—Consensus/state
GV49KKQdBNaiv2pgqhS2Dy3GWYJGXMTVYbYkdk91orRydrop_legacy_shreds600Drops legacy shreds.—Wire/interoperability
GVnDbNkECwrzLM7aVBGWpBYo3yH1ACaXB4ottNX8pedZallow_native_ids235Allows native ids.—Resolved historical selector
GaBtBJvmS4Arjj5W1NmFcyvPjsHN38UGYDq2MDwbs9Qudeprecate_rewards_sysvar129Deprecate unused rewards sysvar.—Consensus/state
Gea3ZkK2N4pHuVZVxWcnAtS6UEDdyumdYt4pFcKjA3arseparate_nonce_from_blockhash320Separate durable nonce and blockhash domains.—Consensus/state
GmC19j9qLn2RFk5NduX6QXaDhVpGncVVBzyM8e9WMz2Fcheck_slice_translation_size481Check size when translating slices.—Consensus/state
GmuBvtFb2aHfSfMXpuFeWZGHyDeCLPS79s48fmCWCfM5delay_visibility_of_program_deployment530Delay visibility of program upgrades.—Consensus/state
GvDsGDkH5gyzwpDhxNixx8vtx1kwYHH13RiNAPw27zXbwarp_timestamp_again154Warp timestamp again, adjust bounding to 25% fast 80% slow.—Consensus/state
Gvd9gGJZDHGMNf1b3jkxrfBQSR5etrfTQSBNKCvLSFJNstake_program_v2129Applies the stake program v2 protocol change.—Resolved historical selector
GwtDQBghCTBgmX2cpEGNPxTEBUTQRaDMGTr5qychdGMjreduce_stake_warmup_cooldown565Reduce stake warmup cooldown from 25% to 9%.—Consensus/state
Gx4XFcrVMt4HUvPzTpTSVkdDVgcDSjKhDN1RqRS6KDuZvote_state_v4949Vote State v4.SIMD-0185Consensus/state
H3kBSaKdeiUsyHmeHqjJYNc27jesXZ6zWj3zWkowQbkVinstructions_sysvar_owned_by_sysvar353Fix owner for instructions sysvar.—Consensus/state
H6iVbVaDZgDphcPbcZwc5LoznMPWQfnJ1AM7L1xzqvt5increase_cpi_account_info_limit933Increase CPI Account Infos Limit.SIMD-0339Consensus/state
HFpdDDNQjvcXnXKec697HDDsyk6tFoWS2o8fkxuhQZpLstakes_remove_delegation_if_inactive256Remove delegations from stakes cache when inactive.—Consensus/state
HH3MUYReL2BvqqA3oEcAa7txju5GY6G4nxJ51zvsEjEZpreserve_rent_epoch_for_rent_exempt_accounts362Preserve rent epoch for rent exempt accounts.—Client implementation
HTTgmruMYRZEntyL3EdCDdnS6e4D5wRq1FA7kQsb66qqremove_native_loader271Remove support for the native loader.—Consensus/state
HVPSxqskEtRLRT2ZeEMmkmt9FWqoFX4vrN6f5VaadLEDtrack_writable_deescalation154Applies the track writable deescalation protocol change.—Resolved historical selector
HooKD5NC9QNxk25QuzCssB8ecrEzGt6eXEPBUxWp1LaRlast_restart_slot_sysvar653Enable new sysvar last_restart_slot.SIMD-0047Consensus/state
Hr1nUA9b7NJ6eChS26o7Vi8gYYDDwWD3YeBfzJkTbU86enable_request_heap_frame_ix503Enable transaction to request heap frame using compute budget instruction.—Consensus/state
Hrg5bXePPGiAVWZfDHbvjqytSeyBDPAGAQ7v6N5i4gCXcpi_data_cost176Applies the CPI data cost protocol change.—Resolved historical selector
HxrEu1gXuH7iD3Puua1ohd5n4iUKJyFNtNxk9DVJkvgrnonce_must_be_authorized320Nonce must be authorized.—Consensus/state
HxvjqDSiF5sYdSYuCXsUnS8UeAoWsMT9iGoFP8pgV1mBcompute_budget_balancing97Applies the compute budget balancing protocol change.—Resolved historical selector
HyrbKftCdJ5CrUfEti6x26Cj7rZLNe32weugk7tLcWb8syscall_saturated_math349Syscalls use saturated math.—Consensus/state
J2QdYx8crLbTVK8nur1jeLsmc3krDbfjoxoea2V1Uy5Qdefault_units_per_instruction327Default max tx-wide compute units calculated per instruction.—Consensus/state
J4HFT8usBxpcF63y46t1upYobJgChmKyZPm5uTBRg25Zenable_program_redeployment_cooldown530Enable program redeployment cooldown.—Consensus/state
JAN1trEUEtZjgXYzNBYHU9DYd7GnThhXfFP7SzPXkPsGdisable_fees_sysvar483Disable fees sysvar.—Consensus/state
JDn5q3GBeqzvUa7z67BbmVHVdE3EbUAjvFep3weR3jxXsimplify_alt_bn128_syscall_error_codes635simplify alt_bn128 syscall error codes.SIMD-0129Consensus/state
JE86WkYvTrzW8HgNmrHY7dFYpCmSptUpKupbo2AdQ9cGenable_sbpf_v1_deployment_and_execution809Enable deployment and execution of SBPFv1 programs.SIMD-0166Consensus/state
LTDSzjZKFJMKHYpNycG1FrWwGGTaFFwqEFjB5GGLNVDdefine_ltds_fee_only_semantics1008Define fee-only semantics.SIMD-0186Consensus/state
LTHasHQX6661DaDD4S6A2TFi6QBuiwXKv66fB1obfHqaccounts_lt_hash804enables lattice-based accounts hash.SIMD-0215Consensus/state
LTdLt9Ycbyoipz5fLysCi1NnDnASsZfmJLJXts5ZxZzremove_accounts_delta_hash807removes accounts delta hash.SIMD-0223Consensus/state
LTsNAP8h1voEVVToMNBNqoiNQex4aqfUrbFhRH3mSQ2snapshots_lt_hash818snapshots use lattice-based accounts hash.SIMD-0220Client implementation
MoqiU1vryuCGQSxFKA1SZ316JdLEFFhoAu6cKUNk7dNpubkey_log_syscall_enabled129Enables pubkey log syscall.—Resolved historical selector
P1BCUMpAC7V2GRBRiJCNUgpMyWZhoqt3LKo712ePqszraise_block_limits_to_100m1009Raise block limit to 100M.SIMD-0286Consensus/state
PERzQrt5gBD1XEe2c9XdFWqwgHY3mr7cYWbm5V772V8partitioned_epoch_rewards_superfeature707replaces enable_partitioned_epoch_reward to enable partitioned rewards at epoch boundary.SIMD-0118Consensus/state
PaymEPK2oqwT9TXAVfadjztH2H6KfLEB9Hhd5Q5frvPenable_transaction_loading_failure_fees757Enable fees for some additional transaction failures.SIMD-0191Consensus/state
RENtePQcDLrAbxAsP3k8dwVcnNYQ466hi2uKvALjnXxmask_out_rent_epoch_in_vm_serialization801Sets rent_epoch to a constant in the VM.SIMD-0267Consensus/state
SAdVFw3RZvzbo6DvySbSdBnHN4gkzSTH9dSxesyKKPjstake_program_advance_activating_credits_observed241Enable advancing credits observed for activation epoch.—Consensus/state
STk5Xj8hdAx3sTzmtJ3QysKkq6X2A3yj73JtxttiRykupgrade_bpf_stake_program_to_v5989Upgrade BPF Stake Program to v5.0.0.SIMD-0490Consensus/state
SVn36yVApPLYsa8koK3qUcy14zXDnqkNYWyUh1f4oK1account_hash_ignore_slot522Ignore slot when calculating an account hash.—Client implementation
St8k9dVXP97xT6faW24YmRSYConLbhsMJA4TJTBLmMTadd_get_minimum_delegation_instruction_to_stake_program462Add GetMinimumDelegation instruction to stake program.—Consensus/state
VAT9huvhPjRN9cyrPytq9rwvEJ3J4ADtjdncgZRyANJvalidator_admission_ticket1006Enables the validator-admission-ticket selector; its burn also requires Alpenglow.SIMD-0357Consensus/state
Vo5siZ442SaZBKPXNocthiXysNviW4UYPwRFggmbgApbank_transaction_count_fix396Fixes Bank::transaction_count to include all committed transactions, not just successful ones.—Consensus/state
YCKSgA6XmjtkQrHBQjpyNrX6EMhJPcYcLWMVgWn36ivmax_program_call_depth_6497Applies the max program call depth 64 protocol change.—Resolved historical selector
YbbRLkvenrocjGPGyoQE4wjnvYzTgfsk38NFmcYK7a5loader_v3_minimum_extend_program_size1002Loader V3 minimum extend program size.SIMD-0431Consensus/state
b1sgUiJ3qu7hYm3tNDyyqZNQd6gLGJmJppnLNa93PCQenable_bls12_381_syscall986BLS12-381 syscalls.SIMD-0388Consensus/state
bn1hKNURMGQaQoEVxahcEAcqiX3NwRs6hgKKNSLeKxHenable_alt_bn128_g2_syscalls985Add alt_bn128 G2 syscalls.SIMD-0302Consensus/state
bn2oPgpkzQPT3tohMaAsMVGjhDmmDa4jCaVPqCFmtxMalt_bn128_little_endian984Add little-endian compatibility for alt_bn128.SIMD-0284Consensus/state
bn2puAyxUx6JUabAxYdKdJ5QHbNNmKw8dCGuGCyRrFNfix_alt_bn128_multiplication_input_length836fix alt_bn128 multiplication input length.SIMD-0222Consensus/state
bnYzodLwmybj7e1HAe98yZrdJTd7we69eMMLgCXqKZmfix_alt_bn128_pairing_length_check942Fix alt_bn128_pairing length check.SIMD-0334Consensus/state
decoMktMcnmiq6t3u7g5BfgcQu91nKZr6RvMYf9z1Jballow_commission_decrease_at_any_time704Allow commission decrease at any time in epoch.SIMD-0079Consensus/state
disCA4efguFL6Wqa4pGdG7jpjC7C5uiKzKnhEBqchBediscard_unexpected_data_complete_shreds1005Enforce DATA_COMPLETE placement and block-component framing.SIMD-0337Wire/interoperability
dupPajaLy2SSn8ko42aZz4mHANDNrLe8Nw8VQgFecLaindex_erasure_conflict_duplicate_proofs603Generate duplicate proofs for index and erasure conflicts.—Wire/interoperability
eca6zf6JJRjQsYYPkBHF3N32MTzur4n2WL4QiiacPCLcurve25519_restrict_msm_length607Restrict curve25519 multiscalar multiplication vector lengths.—Consensus/state
ed9tNscbWLYBooxWA7FE2B5KHWs8A6sxfY8EzezEcooed25519_precompile_verify_strict714Use strict verification in ed25519 precompile.SIMD-0152Consensus/state
ffecLRhhakKSGhMuc6Fz2Lnfq4uT9q3iu9ZsNaPLxPcvote_only_full_fec_sets769Vote only full fec sets.—Wire/interoperability
fixfecLZYMfkGzwq6NJA11Yw6KYztzXiK9QcL3K78inenforce_fixed_fec_set935Enforce 32 data + 32 coding shreds.SIMD-0317Wire/interoperability
htsptAwi2yRoZH83SKaUXykeZGtZHgxkS2QwW1pssR8raise_account_cu_limit878Raise account CU limit to 40% max.SIMD-0306Consensus/state
k15tVxtkgsmo7dy6iJ56N5hBCxuQAtqRgYwoTDuwbiaupdated_verify_policy217Applies the updated verify policy protocol change.—Resolved historical selector
meRgp4ArRPhD3KtCY9c5yAf2med7mBLsjKTPeVUHqBLstake_merge_with_unmatched_credits_observed241Allow merging active stakes with unmatched credits_observed.—Consensus/state
mrkPjRg79B2oK2ZLgd7S3AfEJaX9B6gAF3H9aEykRUSmerkle_conflict_duplicate_proofs657Generate duplicate proofs for merkle root conflicts.—Wire/interoperability
nWBqjr3gpETbiaVj3CBJ3HFC5TMdnJDGt21hnvSTvVZcheck_physical_overlapping330Check physical overlapping regions.—Consensus/state
noRuG2kzACwgaY7TVmLRnUNPLKNVQE1fb7X55YWBehpcommission_updates_only_allowed_in_first_half_of_epoch487Validator commission updates are only allowed in the first half of an epoch.—Consensus/state
poUdAqRXXsNmfqAZ6UqpjbeYgwBygbfQLEvWSqVhSnbposeidon_enforce_padding940Enforce padding in Poseidon hash inputs.SIMD-0359Consensus/state
prpFrMtgNmzaNzkPJg9o753fVvbHKqNrNTm76foJ2wmvalidate_fee_collector_account598Validate fee collector account.SIMD-0085Consensus/state
ptokFjwyJtrwCa9Kgo9xoDS59V4QccBGEaRFnRPnSdPreplace_spl_token_with_p_token971Efficient Token program.SIMD-0266Consensus/state
rent6iVy6PDoViPBeJ6k5EJQrkj62h7DPyLbWGHwjrCdeprecate_rent_exemption_threshold943Deprecate rent exemption threshold.SIMD-0194Consensus/state
rexav5eNTUSNT1K2N7cfRjnthwhcP5BC25v2tA4rW4hrelax_programdata_account_check_migration956Relax program data account check in migration.SIMD-0444Consensus/state
sTKz343FM8mqtyGvYWvbLpTThw3ixRM4Xk8QvZ985mwstake_allow_zero_undelegated_amount463Allow zero-lamport undelegated amount for initialized stakes.—Consensus/state
srremy31J5Y25FrAApwVb9kZcfXbusYMMsvTK9aWv5qenable_secp256r1_precompile800Enable secp256r1 precompile.SIMD-0075Consensus/state
tSynMCspg4xFiCj1v3TDb4c7crMR5tSBhLz4sF7rrNAenable_tower_sync_ix749Enable tower sync vote instruction.SIMD-0138Consensus/state
turbnbNRp22nwZCmgVVXFSshz7H7V23zMzQgA46YpmQdisable_turbine_fanout_experiments880Disable turbine fanout experiments.—Wire/interoperability
tvcF6b1TRz353zKuhBjinZkKzjmihXmBAHJdjNYw1sQtimely_vote_credits703Use timeliness of votes in determining credits to award.SIMD-0033Consensus/state
vXDCFK7gphrEmyf5VnKgLmqbdJ4UxD2eZH1qbdouYKFmem_overlap_fix235Applies the mem overlap fix protocol change.—Resolved historical selector
vcmrbYbiMVKaq1snKP6eCacNDcr6qZvpCNUjmk6gxvZvalidate_chained_block_id992Validate chained block ID.SIMD-0340Wire/interoperability
vcmrw431aNM8ngQ46derkZXipoTGQdbHkEygBDh12dAvalidate_chained_block_id_2992Encompassing check for validate chained block ID.SIMD-0340Wire/interoperability
wLckV1a64ngtcKPRGU4S4grVTestXjmNjxBjaKZrAcncost_model_requested_write_lock_cost723Cost model uses number of requested write locks.—Consensus/state
xGbcW7EEC7zMRJ6LaJCob65EJxKryWjwM4rv8f57SRMlimit_cpi_loader_invoke141Limits CPI loader invoke.—Resolved historical selector
zkdoVwnSFnSLtGJG7irJPEYUpmb4i7sGMGcnN6T9rnCdisable_zk_elgamal_proof_program805Disables zk-elgamal-proof program.—Consensus/state
zkexuyPRdyTVbZqEAREueqL2xvvoBhRgth9xGSc1tMNreenable_zk_elgamal_proof_program982Re-enables zk-elgamal-proof program.—Consensus/state
zkhiy5oLowR7HY4zogXjCjeMXyruLqBwSWH21qcFtnvzk_elgamal_proof_program_enabled731Enable ZkElGamalProof program.SIMD-0153Consensus/state
iBRL5RuWhw4yqaAZu96RUULHckHTZAoe2b77qaV38JZreduce_slot_time_to_350ms1019Select the 350-ms slot profile from epoch 1020.SIMD-0525Consensus/state
iBRLL3k18HST852F1Mf3Lv83waTNQmmqvKDxvYGwQFLreduce_slot_time_to_300ms1023Select the 300-ms slot profile from epoch 1024.SIMD-0525Consensus/state
s51VGwCAgebo2745DSUris72RavoLkXGUmVJosESCXrupgrade_bpf_stake_program_to_v5_11026Upgrade Stake Core-BPF to v5.1 and use fixed-point warmup/cooldown.SIMD-0391Consensus/state
BY4JhHLahVzS9ynfDz4exzGPbVXhFmJvEyMWsXbDBqMErelax_post_exec_min_balance_check1027Permit a pre-existing rent-paying account to remain rent-paying after execution.SIMD-0392Consensus/state
4a6f7o7iTcA8hRDCrPLkSatnt5Ykxiu36wo5p1Tt12wCset_lamports_per_byte_to_63331028Set rent to 6,333 lamports per byte-year.SIMD-0437Consensus/state
3HcSrCTGXTUnrTueHi4DAwNuMxZSsm5xui2Ax3mgxHqfcustom_commission_collector1031Enable separate block-revenue and inflation commission collectors.SIMD-0232Consensus/state
61BtM7BkDEE8Yq5fskEVAQT9mYA8qCejJWoLe5apqg81set_lamports_per_byte_to_50801033Set the current rent value to 5,080 lamports per byte-year.SIMD-0437Consensus/state
txv1aq4pp281K9um3tnPgkfX8UqtFT6wcVW3hNezGLLenable_tx_v11035Enable the bounded version-1 transaction codec.SIMD-0385Wire/interoperability
iBRLMc81UjRa8fn8A6eE8bJTnRbgQoPTynM51akENCVreduce_slot_time_to_250ms1036Select the 250-ms slot profile from epoch 1037.SIMD-0525Consensus/state
iBRLjhJnkmDZgNoZRDMW11d8ZV7HvsL3vAyRjZB5npWreduce_slot_time_to_200ms1052Select the current 200-ms slot profile from epoch 1053.SIMD-0525Consensus/state
A1pengvuM6JEcyNuTnMqepBKhwHE3N6PmUrdATGawhJSalpenglow1064Enable Alpenglow block markers, votes, certificates, rewards, and finality.SIMD-0326Consensus/state

[SOL-FTR-0011] Every Appendix C address MUST be treated as active from its stated activation epoch when decoding Feature state. A Consensus/state or Wire/interoperability selector affects behavior only through the normative section that defines its current rule. A Client implementation row imposes no protocol mechanism, and a Resolved historical selector has no live branch in epoch E; its enduring result is already incorporated in the current normative rules. A selector absent from Appendix C MUST NOT select epoch-E behavior.

[SOL-FTR-0012] The active validator_admission_ticket and alpenglow selectors MUST apply the admission filter and 800,000,000-lamport per-epoch burn in Section 16.6.1.