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 address | Protocol selector | Activation epoch | Brief effect | Relevant SIMD | Classification |
|---|---|---|---|---|---|
16FMCmgLzCNNz6eTwGanbyN2ZxvTBSLuQ6DZhgeMshg | stop_truncating_strings_in_syscalls | 556 | Stop truncating strings in syscalls. | — | Consensus/state |
21AWDosvp3pBamFW91KB35pNoaoZVTM7ess8nr2nt53B | merge_nonce_error_into_system_error | 351 | Merge NonceError into SystemError. | — | Consensus/state |
25vqsfjk7Nv1prsQJmA4Xu1bN61s8LXCBGUPp8Rfy1UF | incremental_snapshot_only_incremental_hash_calculation | 564 | Only hash accounts in incremental snapshot during incremental snapshot creation. | — | Client implementation |
265hPS8k8xJ37ot82KEgjRunsUp5w4n4Q4VwwiN9i9ps | optimize_epoch_boundary_updates | 254 | Optimize epoch boundary updates. | — | Client implementation |
28s7i3htzhahXQKqmS2ExzbEoUypg9krwvtK2M9UWXh9 | update_rewards_from_cached_accounts | 477 | Update rewards from cached accounts. | — | Client implementation |
2B2SBNbUcr438LtGXNcJNBP2GBSxjx81F945SdSkUSfC | disable_partitioned_rent_collection | 808 | Disable partitioned rent collection. | SIMD-0175 | Consensus/state |
2Fr57nzzkLYXW695UdDxDeR5fhnZWSttZeZYemrnpGFV | migrate_config_program_to_core_bpf | 753 | Migrate Config program to Core BPF. | SIMD-0140 | Consensus/state |
2GCrNXbzmt4xrwdcKS2RdsLzsgu4V5zHAemW57pcHT6a | remove_simple_vote_from_cost_model | 981 | Removes the static SimpleVote transaction-cost classification. | — | Consensus/state |
2HmTkCj9tXuPE4ueHzdD7jPeMf9JGCoZh5AsyoATiWEe | remove_bpf_loader_incorrect_program_id | 549 | Stop incorrectly throwing IncorrectProgramId in bpf_loader. | — | Consensus/state |
2R72wpcQ7qV7aTJWUumdn8u5wmmTyXbK7qzEy7YSAgyY | include_account_index_in_rent_error | 357 | Include account index in rent tx error. | — | Consensus/state |
2cGj3HJYPhBrtQizd7YbBxEsifFs5qhzabyFjUAp6dBa | timestamp_bounding | 129 | Applies the timestamp bounding protocol change. | — | Resolved historical selector |
2h63t332mGCCsWK2nqqqHhN4U9ayyqhLVFvczznHDoTZ | update_syscall_base_costs | 321 | Update syscall base costs. | — | Consensus/state |
2jXx2yDmGysmBKfKYNgLj2DQyAQv6mMk2BPh4eSbyB4H | disable_fee_calculator | 342 | Deprecate fee calculator. | — | Consensus/state |
2ry7ygxiYURULZCrypHhveanvP5tzZ4toRwVp89oCNSj | apply_cost_tracker_during_replay | 763 | Apply cost tracker to blocks during replay. | — | Consensus/state |
36PRUK2Dz6HWYdG9SpjeAsF5F3KxnFCakA2BZMbtMhSb | fixed_memcpy_nonoverlapping_check | 319 | Use correct check for nonoverlapping regions in memcpy syscall. | — | Consensus/state |
3BX6SBeEBibHaVQXywdkcgyUk6evfYZkHdztXiDtEpFS | warp_timestamp_with_a_vengeance | 316 | Warp timestamp again, adjust bounding to 150% slow. | — | Consensus/state |
3E3jV7v9VcdJL8iYZUMax9DiDno8j7EWUVbhm9RtShj2 | demote_program_write_locks | 233 | Demote program write locks to readonly, except when upgradeable loader present. | — | Consensus/state |
3Jq7mE2chDpf6oeEDsuGK7orTYEgyQjCPvaRppTNdVGK | use_loaded_executables | 154 | Uses loaded executables. | — | Resolved historical selector |
3KZZ6Ks1885aGBQ45fwRcPXVBCtzUvxhUTkwKMR41Tca | versioned_tx_message_enabled | 358 | Enable versioned transaction message processing. | — | Wire/interoperability |
3NKRSwpySNwD3TvP5pHnRmkAQRsdkXWRr1WaQh8p4PWX | reject_callx_r10 | 646 | Reject SBF CALLX instructions that target r10. | — | Consensus/state |
3QEUpjhgPEt92nz3Mqf6pABkHPGCQwSvKtyGMq4SuQyL | add_missing_program_error_mappings | 235 | Adds missing program error mappings. | — | Resolved historical selector |
3XgNukcZWf9o3HdA3fpJbm94XFc4qpvTXc8h1wxYwiPi | disable_bpf_deprecated_load_instructions | 322 | Disable ldabs* and ldind* SBF instructions. | — | Consensus/state |
3aJdcZqxoLpSBxgeYGjPwaYS1zzcByxUDqJkbzWAH1Zb | record_instruction_in_transaction_context_push | 328 | Move the CPI stack overflow check to the end of push. | — | Consensus/state |
3ccR6QpxGYsAbWyfevEtBNGfWV4xBffxRj2tD6A9i39F | check_init_vote_data | 159 | Check initialized Vote data. | — | Consensus/state |
3gtZPqvPpsbXZVCx6hceMfWxtsmrjMzmg8C7PLKSxS2d | filter_votes_outside_slot_hashes | 365 | Filter vote slots older than the slot hashes history. | — | Consensus/state |
3h1BQWPDS5veRsq6mDBWruEpgPxRJkfwGexg5iiQ9mYg | consistent_recent_blockhashes_sysvar | 95 | Applies the consistent recent blockhashes sysvar protocol change. | — | Resolved historical selector |
3opE3EzAKnUftUDURkzMgwpNgimBAypW1mNDYH4x4Zg7 | reward_full_priority_fee | 741 | Reward full priority fee to validators. | SIMD-0096 | Consensus/state |
3u3Er5Vc2jVcwz4xr2GJeSAXT3fAj6ADHZ4BJMZiScFd | nonce_must_be_advanceable | 320 | Durable nonces must be advanceable. | — | Consensus/state |
3uFHb9oKdGfgZGJK9EHaAXN4USvnQtAFC13Fh5gGFS5B | update_hashes_per_tick | 539 | Update desired hashes per tick on epoch boundary. | — | Consensus/state |
3uRVPBpyEJRo1emLCrq38eLRFGcu6uKSpUXqGvU8T7SZ | check_syscall_outputs_do_not_overlap | 403 | Check syscall outputs do not overlap. | — | Consensus/state |
3zydSLUwuqqsV3wL5wBsaVgyvMox3XTHx7zLEuQf1U2Z | timestamp_correction | 129 | Applies the timestamp correction protocol change. | — | Resolved historical selector |
437r62HoAdUb63amq3D7ENnBLDhHT2xY8eFkLJYVKK4x | stake_deactivate_delinquent_instruction | 460 | Enable the deactivate delinquent stake instruction. | — | Consensus/state |
4ApgRX3ud6p7LNMJmsuaAcZY5HWctGPr5obAsjB3A54d | prevent_calling_precompiles_as_programs | 332 | Prevent calling precompiles as programs. | — | Consensus/state |
4Di3y24QFLt5QEUPZtbnjyfQKfm6ZMTfa6Dw1psfoMKU | drop_redundant_turbine_path | 461 | Drop redundant turbine path. | — | Wire/interoperability |
4EJQtF2pkRyawwcTVfQutzq4Sa5hRhibF6QAK1QXhtEX | enable_durable_nonce | 320 | Enable durable nonce. | — | Consensus/state |
4RWNif6C2WCNiKVW7otP4G7dkmkHGyKQWRpuZ1pxKU5m | pico_inflation | 133 | Pico inflation. | — | Consensus/state |
4UDcAfQ6EcA6bdcadkeHpkarkhZGJ7Bpq7wTAiRMjkoi | disable_builtin_loader_ownership_chains | 480 | Disable builtin loader ownership chains. | — | Consensus/state |
4VvpgRD6UsHvkXwpuQhtR5NG1G4esMaExeWuSEpsYRUa | turbine_peers_shuffle | 294 | Applies the turbine peers shuffle protocol change. | — | Resolved historical selector |
4WeHX6QoXCCwqbSFgi6dxnB6QsPo6YApaNTH7P4MLQ99 | relax_intrabatch_account_locks | 953 | Allow batched transactions to read/write and write/write the same accounts. | SIMD-0083 | Consensus/state |
4d5AKtxoh93Dwm1vHXUU3iRATuMndx1c431KgT2td52r | add_compute_budget_program | 271 | Add compute_budget_program. | — | Consensus/state |
4eohviozzEeivk1y9UbrnekbAFMDQyJz5JjA9Y6gyvky | migrate_feature_gate_program_to_core_bpf | 752 | Migrate Feature Gate program to Core BPF (programify). | SIMD-0089 | Consensus/state |
4kpdyrcj5jS47CZb2oJGfVxjYbsMm2Kx97gFyZrxxwXz | no_overflow_rent_distribution | 119 | No overflow rent distribution. | — | Consensus/state |
4yuaYAj2jGMGTh1sSmi4G2eFscsDq8qjugJXZoBN6YEa | disable_bpf_unresolved_symbols_at_runtime | 322 | Disable reporting of unresolved SBF symbols at runtime. | — | Consensus/state |
54KAoNiUERNoWWUhTWWwXgym94gzoXFVnHyQwPA18V9A | libsecp256k1_fail_on_bad_count2 | 465 | Fail libsecp256k1_verify if count appears wrong. | — | Consensus/state |
59dM4SV6dPEKXPfkrkhFkRdn4K6xwKxdNAPMyXG7J1wT | per_byte_logging_cost | 154 | Applies the per byte logging cost protocol change. | — | Resolved historical selector |
5GpmAKxaGsWWbPp4bNXFLJxZVvG92ctxf7jQnzTQjF3n | epoch_accounts_hash | 529 | Enable epoch accounts hash calculation. | — | Client implementation |
5JsG4NWH8Jbrqdd8uL6BNwnyZK3dQSoieRXG5vmofj9y | enable_vote_address_leader_schedule | 841 | Enable vote address leader schedule. | SIMD-0180 | Consensus/state |
5KLGJSASDVxKPjLCDWNtnABLpZjsQSrYZ8HKwcEdAMC8 | drop_unchained_merkle_shreds | 821 | Drops unchained Merkle shreds. | SIMD-0313 | Wire/interoperability |
5Lu3JnWSFwRYpXzwDMkanWSk6XqSuF2i5fpnVhzB5CTc | turbine_retransmit_peers_patch | 146 | Applies the turbine retransmit peers patch protocol change. | — | Resolved historical selector |
5N4NikcJLEiZNqwndhNyvZw15LvFXp1oF7AJQTNTZY5k | reject_section_virtual_address_file_offset_mismatch | 266 | Rejects section virtual address file offset mismatch. | — | Resolved historical selector |
5Pecy6ie6XGm22pc9d4P9W5c31BugcFBuy6hsP2zkETv | checked_arithmetic_in_fee_validation | 543 | Checked arithmetic in fee validation. | — | Consensus/state |
5RzEHTnf6D7JPZCvwEzjM19kzBsyjSU3HoMfXaQmVgnZ | pull_request_ping_pong_check | 130 | Applies the pull request ping pong check protocol change. | — | Resolved historical selector |
5S9JDUb4vKY1CUxLf5oc96ZxjGrephj1jcPeTi62sYmP | enable | 150 | Legacy full-inflation enable selector. | — | Consensus/state |
5WLtuUJA5VVA1Cc28qULPfGs8anhoBev8uNqaaXeasnf | max_cpi_instruction_size_ipv6_mtu | 141 | Applies the max CPI instruction size IPv6 mtu protocol change. | — | Resolved historical selector |
5XnbR5Es9YXEARRuP6mdvoxiW3hx5atNNeBmwVd8P3QD | check_program_owner | 173 | Checks program owner. | — | Resolved historical selector |
5ZCcFAzJ1zsFKe1KSZa9K92jhx7gkcKj97ci2DBo1vwj | simplify_writable_program_account_check | 558 | Simplify checks performed for writable upgradeable program accounts. | — | Consensus/state |
5cC3foj77CWun58pC51ebHFUWavHWKarWyR5UUik7dnC | enable_sbpf_v3_deployment_and_execution | 993 | Enable deployment and execution of SBPFv3 programs. | SIMD-0178, SIMD-0189, SIMD-0377 | Consensus/state |
5ekBxc8itEnPv4NzGJtr8BVVQLNMQuLMNQQj7pHoLNZ9 | tx_wide_compute_cap | 313 | Transaction wide compute cap. | — | Consensus/state |
5oMCU3JPaFLr8Zr4ct7yFA7jdk6Mw1RmB8K4u9ZbS42z | raise_block_limits_to_50m | 770 | Raise block limit to 50M. | SIMD-0207 | Consensus/state |
5wAGiy15X1Jb2hkHnPDCM8oB9V42VNA9ftNVFK84dEgv | set_exempt_rent_epoch_max | 570 | Set rent epoch to Epoch::MAX for rent-exempt accounts. | — | Consensus/state |
5x3825XS7M2A3Ekbn5VGGkvFoAg5qrRWkTrY4bARP1GL | enable_bpf_loader_set_authority_checked_ix | 582 | Enable bpf upgradeable loader SetAuthorityChecked instruction. | — | Consensus/state |
5xXZc66h4UdB6Yq7FzdBxBiRAFMMScMLwHxk2QZDaNZL | provide_instruction_data_offset_in_vm_r2 | 950 | Provide the VM instruction-data pointer in r2. | SIMD-0321 | Consensus/state |
64ixypL1HPu8WtJhNSMb9mSgfFaJvsANuRkTbHyuLfnx | static_instruction_limit | 936 | static instruction limit. | SIMD-0160 | Consensus/state |
6M4oQ6eXneVhtLoiAr4yRYQY43eVLjrKbiDZDJc892yk | migrate_stake_program_to_core_bpf | 823 | Migrate Stake program to Core BPF. | SIMD-0196 | Consensus/state |
6Qob9Z4RwGdf599FDVCqsjuKjR8ZFR3oVs2ByRLWBsua | enforce_aligned_host_addrs | 217 | Enforces aligned host addrs. | — | Resolved historical selector |
6RvdSWHh8oh72Dp7wMTS2DBkf3fRPtChfNrAo3cZZoXJ | secp256k1_recover_syscall_enabled | 243 | Secp256k1_recover syscall. | — | Consensus/state |
6Uf8S75PVh91MYgPQSHnjRAPQq6an5BDv9vomrCwDqLe | deprecate_unused_legacy_vote_plumbing | 656 | Deprecate unused legacy vote tx plumbing. | SIMD-0138 | Consensus/state |
6YsBCejwK96GZCkJ6mkZ4b68oP63z2PLoQmWjC7ggTqZ | consume_blockstore_duplicate_proofs | 602 | Consume duplicate proofs from blockstore in consensus. | — | Consensus/state |
6aHuNsUmwSzCEMjrBzBCYaxHAyAcQBjVES92JigHBDuC | limit_instruction_accounts | 1000 | Maximum instruction accounts. | SIMD-0406 | Consensus/state |
6ap2eGy7wx5JmsWUmQ5sHwEWrFSDUxSti2k5Hbfv5BZG | rewrite_stake | 129 | Applies the rewrite stake protocol change. | — | Resolved historical selector |
6iyggb5MTcsvdcugX7bEKbHV8c6jdLbpHwkncrgLMhfo | fix_recent_blockhashes | 474 | Stop adding hashes for skipped slots to recent blockhashes. | — | Consensus/state |
6oMCUgfY6BzZ6jwB681J6ju5Bh6CjVXbd7NeWYqiXBSu | raise_block_limits_to_60m | 822 | Raise block limit to 60M. | SIMD-0256 | Consensus/state |
6oNzd5Z3M2L1xo4Q5hoox7CR2DuW7m1ETLWH5jHJthwa | require_stake_for_gossip | 216 | Requires stake for gossip. | — | Resolved historical selector |
6ppMXNYLhVd7GcsZ5uV11wQEW7spppiMVfqQv5SXhDpX | ed25519_program_enabled | 273 | Enable builtin ed25519 signature verify program. | — | Consensus/state |
6sPDzwyARRExKH52LECxcGoqziH8G7SZofwuxi8Ja331 | create_account_allow_prefund | 979 | Enable CreateAccountAllowPrefund system program instruction. | SIMD-0312 | Consensus/state |
6tRxEYKuy2L5nnv5bgn7iT28MxUbYxp5h7F3Ncf1exrT | vote_authorize_with_seed | 344 | An instruction you can use to change a vote accounts authority when the current authority is a derived key. | — | Consensus/state |
6uaHcKPGUy4J7emLBgUTeufhJdiwhngW6a1R9B7c2ob9 | sol_log_data_syscall_enabled | 273 | Enable sol_log_data syscall. | — | Consensus/state |
7411E6gFQLDhQkdRjmpXwM1hzHMMoYQUjHicmvGPC1Nf | sysvar_via_syscall | 193 | Applies the sysvar via syscall protocol change. | — | Resolved historical selector |
74CoWuBmt3rUVUrCb2JiSTvh6nXyBWUsK4SaMj3CtE3T | move_serialized_len_ptr_in_cpi | 469 | Cpi ignore serialized_len_ptr. | — | Consensus/state |
75m6ysz33AfLA5DDEzWM1obBrnPQRSsdVQ2nRmc8Vuu1 | do_support_realloc | 310 | Support account data reallocation. | — | Consensus/state |
76dHtohc2s5dR3ahJyBxs7eJJVipFkaPdih9CLgTTb4B | delay_commission_updates | 991 | Delay Commission Updates. | SIMD-0249 | Consensus/state |
79HWsX9rpnnJBPcdNURVqygpMAfxdrAirzAGAVmf92im | disable_deploy_of_alloc_free_syscall | 484 | Disable new deployments of deprecated sol_alloc_free_ syscall. | — | Consensus/state |
7GUcYgq4tVtaqNCKT3dho9r4665Qp5TxCZ27Qgjx3829 | executables_incur_cpi_data_cost | 323 | Executables incur CPI data costs. | — | Consensus/state |
7K5HFrS1WAq6ND7RQbShXZXbtAookyTfaDQPTJNuZpze | return_none_for_zero_lamport_accounts | 354 | Return none for zero lamport accounts. | — | Resolved historical selector |
7Tr5C1tdcCeBVD8jxtHYnvjL1DGdFboYBHCJkEFdenBb | fix_write_privs | 235 | Fixes write privs. | — | Resolved historical selector |
7Ua8mFtahVfA3WCY9LoXDAJJdvJRJHckvSSr1dD8FTWc | keccak256_syscall_enabled | 201 | Enables Keccak-256 syscall. | — | Resolved historical selector |
7VVhpg5oAjAmnmz1zCcSHb2Z9ecZB2FQqpnEwReka9Zm | require_static_nonce_account | 890 | Static Nonce Account Only. | SIMD-0242 | Consensus/state |
7Vced912WrRnfjaiKRiNBcbuFw7RrnLv3E3z95Y4GTNc | enable_early_verification_of_account_modifications | 514 | Enable early verification of account modifications. | — | Consensus/state |
7WeS1vfPRgeeoXArLh7879YcB9mgE9ktjPDtajXeWfXn | disable_bpf_loader_instructions | 601 | Disable bpf loader management instructions. | SIMD-0093 | Consensus/state |
7XRJcS5Ud5vxGB54JbK9N2vBZVwnwdBNeJW1ibRgD9gx | enable | 150 | Enables full inflation after the Certus One community vote. | — | Consensus/state |
7axKe5BTYBDD87ftzWbk5DfzWMGyRvqmWTduuo22Yaqy | vote_state_add_vote_latency | 585 | Replace Lockout with LandedVote (including vote latency) in vote state. | — | Consensus/state |
7bTK6Jis8Xpfrs8ZoUfiMDPazTcdPcTWheZFJTA5Z6X4 | move_stake_and_move_lamports_ixs | 727 | Enable MoveStake and MoveLamports stake program instructions. | SIMD-0148 | Consensus/state |
7g9EUwj4j7CS21Yx1wvgWLjSZeh5aPq8x9kpoPwXM8n8 | limit_secp256k1_recovery_id | 330 | Limit secp256k1 recovery id. | — | Consensus/state |
7rcw5UtqgDTBBv2EcynNfYckgdAaH1MAsCjKgXMkN7Ri | curve25519_syscall_enabled | 637 | Enable curve25519 syscalls. | — | Consensus/state |
7txXZZD6Um59YoLMF7XUNimbMjsqsWhc7g2EniiTrmp1 | reject_non_rent_exempt_vote_withdraws | 271 | Fail vote withdraw instructions which leave the account non-rent-exempt. | — | Consensus/state |
7uZBkJXJ1HkuP6R3MJfZs7mLwymBcDbKdqbF51ZWLier | enable_chained_merkle_shreds | 710 | Enable chained Merkle shreds. | — | Wire/interoperability |
812kqX67odAp5NFwM8D2N24cku7WTm9CHUTFUXaDkWPn | prevent_crediting_accounts_that_end_rent_paying | 373 | Prevent crediting rent paying accounts. | — | Consensus/state |
8199Q2gMD2kwgfopK5qqVWuDbegLgpuFUFHCcUJQDN8b | error_on_syscall_bpf_function_hash_collisions | 650 | Error on bpf function hash collisions. | — | Consensus/state |
86HpNqzutEZwLcPxS6EHDcMNYWk6ikhteg9un7Y2PBKE | compact_vote_state_updates | 491 | Compact vote state updates to lower block size. | — | Consensus/state |
86LJYRuq2zgtHuL3FccR6hqFJQMQkFoun4knAxcPiF1P | demote_sysvar_write_locks | 195 | Applies the demote sysvar write locks protocol change. | — | Resolved historical selector |
8C8MCtsab5SsfammbzvYz65HHauuUYdbY2DZ4sznH6h5 | update_hashes_per_tick3 | 591 | Update desired hashes per tick to 4.4M. | — | Consensus/state |
8FdwgyHFEjhAdjWfV2vfqk7wA1g9X3fQpKH7SBpEv3kC | require_static_program_ids_in_transaction | 355 | Require static program ids in versioned transactions. | — | Consensus/state |
8HYXgkoKGreAMA3MfJkdjbKNVbfZRQP3jqFpa7iqN4v7 | check_seed_length | 235 | Checks seed length. | — | Resolved historical selector |
8U4skmMVnF6k2kMvrWbQuRUT3qQSiTYpSjqmhmgfthZu | add_new_reserved_account_keys | 743 | Maintain Dynamic Set of Reserved Account Keys. | SIMD-0105 | Consensus/state |
8We4E7DPwF2WfAN8tRTtWQNhi98B99Qpuj7JoZ3Aikgg | update_hashes_per_tick4 | 592 | Update desired hashes per tick to 7.6M. | — | Consensus/state |
8ZqTSYHgzyaYCcXJPMViRy6afCFSgNvYooPDeVdyj5GC | check_duplicates_by_hash | 178 | Checks duplicates by hash. | — | Resolved historical selector |
8Zs9W7D9MpSEtUWSQdGniZk2cNmV22y6FLJwCx53asme | enable_bpf_loader_extend_program_ix | 532 | Enable bpf upgradeable loader ExtendProgram instruction. | — | Consensus/state |
8kEuAshXLsgkUEdcFVLqrjCGGHVWFW99ZZpxvAzzMtBp | dedupe_config_program_signers | 256 | Dedupe config program signers. | — | Consensus/state |
8pgXCMNXC8qyEFypuwpXyRxLXZdpM4Qo72gJ6k87A6wL | native_programs_consume_cu | 557 | Native program should consume compute units. | — | Consensus/state |
8sKQrMQoUHtQSUP83SPG4ta2JDjSAiWs7t5aJ9uEd6To | use_default_units_in_fee_calculation | 478 | Use default units per instruction in fee calculation. | — | Consensus/state |
98std1NSHqXi9WYvFShfVepRdCoq1qvsp8fsR2XZtG8g | add_set_compute_unit_price_ix | 329 | Add compute budget ix for setting a compute unit price. | — | Consensus/state |
9gxu85LYRAcZL38We8MYJ4A9AwgBBPtVBAqebMcT1241 | cap_accounts_data_allocations_per_transaction | 520 | Cap accounts data allocations per transaction. | — | Consensus/state |
9k5ijzTbYPtjzu8wj2ErH9v45xecHzQ1x4PMYMMxFgdM | cap_bpf_program_instruction_accounts | 475 | Enforce max number of accounts per bpf program instruction. | — | Consensus/state |
9kdtFSrXHQg3hKkbXkQ6trJ3Ja1xpJ22CTFSNAciEwmL | reject_empty_instruction_without_program | 318 | Fail instructions which have native_loader as program_id directly. | — | Consensus/state |
9r69RnnxABmpcPFfj1yhg4n9YFR2MNaLdKJCC6v3Speb | simple_capitalization | 134 | Applies the simple capitalization protocol change. | — | Resolved historical selector |
9ypxGLzkMxi89eDerRKXWDXe44UY2z4hBig4mDhNq5Dp | move_precompile_verification_to_svm | 760 | Move precompile verification into SVM. | SIMD-0159 | Consensus/state |
A16q37opZdQMCbe5qJ6xpBB9usykfv8jZaMkxvZQi4GJ | enable_alt_bn128_syscall | 638 | Add alt_bn128 syscalls. | — | Consensus/state |
A8xyMHZovGXFkorFqEmVH2PKGLiBip5JD7jt4zsUWo4H | remove_congestion_multiplier_from_fee_calculation | 548 | Remove congestion multiplier from transaction fee calculation. | — | Consensus/state |
ALBk3EWdeAg2WAGf6GPDUf1nynyNqCdEVmgouG7rpuCj | reject_vote_account_close_unless_zero_credit_epoch | 395 | Fail vote account withdraw to 0 unless account earned 0 credits in last completed epoch. | — | Consensus/state |
AVZS3ZsN4gi6Rkx2QUibYuSJG3S6QHib7xCYhG6vGJxU | vote_withdraw_authority_may_change_authorized_voter | 321 | Vote account withdraw authority may change the authorized voter. | — | Consensus/state |
AnAP9zPV4KL7czAPQbFhpDKV2tx7g4UGNbK9wvXwjaRo | bls_pubkey_management_in_vote_account | 999 | BLS Pubkey Management in Vote Account. | SIMD-0387 | Consensus/state |
B5PSjDEJvKJEUQSL7q94N7XCEoWJCYum8XfUg7yuugUU | matching_buffer_upgrade_authorities | 150 | Applies the matching buffer upgrade authorities protocol change. | — | Resolved historical selector |
B7H2caeia4ZFcpE3QcgMqbiWiBtWrdBRBSJ1DY6Ktxbq | deplete_cu_meter_on_vm_failure | 759 | Deplete compute meter for vm errors. | SIMD-0182 | Consensus/state |
B9cdB55u4jQsDNsdTK525yE9dmSc5Ga7YBaBrDFvEhM9 | disable_cpi_setting_executable_and_rent_epoch | 523 | Disable setting is_executable and_rent_epoch in CPI. | — | Consensus/state |
BHuZqHAj7JdZc68wVgZZcy51jZykvgrx4zptR44RyChe | sol_log_compute_units_syscall | 129 | Applies the sol log compute units syscall protocol change. | — | Resolved historical selector |
BKCPBQQBZqggVnFso5nQ8rQ4RwwogYwjuUt9biBjxwNF | rent_for_sysvars | 243 | Collect rent from accounts owned by sysvars. | — | Consensus/state |
BL99GYhdjjcv6ys22C9wPgn2aTVERDbPHHo4NbS3hgp7 | spl_token_v2_self_transfer_fix | 154 | Spl-token self-transfer fix. | — | Consensus/state |
BTWmtJC8U5ZLMbBUUA1k6As62sYjPEjAiNAT55xYGdJU | revise_turbine_epoch_stakes | 567 | Revise turbine epoch stakes. | — | Wire/interoperability |
BUS12ciZ5gCoFafUHWW8qaFMMtwFQGVxjsDheWLdqBE2 | credits_auto_rewind | 464 | Auto rewind stake’s credits_observed if (accidental) vote recreation is detected. | — | Consensus/state |
BcWknVcgvonN8sL4HE4XFuEVgfcee5MwxWPAgP6ZV89X | vote_stake_checked_instructions | 214 | Vote/state program checked instructions. | — | Consensus/state |
Bfqm7fGk5MBptqa2WHXWFLH7uJvq8hkJcAQPipy2bAMk | warp_testnet_timestamp | 141 | Applies the warp testnet timestamp protocol change. | — | Resolved historical selector |
BiCU7M5w8ZCMykVSyhZ7Q3m2SWoR2qrEQ86ERcDX77ME | nonce_must_be_writable | 317 | Nonce must be writable. | — | Consensus/state |
BiNjYd8jCYDgAwMqP91uwZs6skWpuHtKrZbckuKESs8N | prevent_upgrade_and_invoke | 145 | Prevents upgrade and invoke. | — | Resolved historical selector |
Bj2jmUsM2iRhfdLLDSTkhM5UQRQvQHm57HSmPibPtEyu | clean_up_delegation_errors | 490 | Return InsufficientDelegation instead of InsufficientFunds or InsufficientStake where applicable. | — | Consensus/state |
BkFDxiJQWZXGTZaJQxH7wVEHkAmwCgSEVkrvswFfRJPD | require_rent_exempt_accounts | 309 | Require all new transaction accounts with data to be rent-exempt. | — | Consensus/state |
BkPcYCrwHXBoTsv9vMhiRF9gteZmDj3Uwisz9CDjoMKp | update_data_on_realloc | 193 | Updates data on realloc. | — | Resolved historical selector |
BrTR9hzw4WBGFP65AJMbpAo64DcA3U6jdPSga9fMV5cS | system_transfer_zero_check | 216 | Perform all checks for transfers of 0 lamports. | — | Consensus/state |
BsKLKAn1WM4HVhPRDsjosmqSg2J8Tq5xP2s2daDS6Ni4 | update_hashes_per_tick5 | 595 | Update desired hashes per tick to 9.2M. | — | Consensus/state |
BtVN7YjDzNE6Dk7kTT7YTDgMNUZTNgiSJgsdzAeTg2jF | remove_rounding_in_fee_calculation | 734 | Removing unwanted rounding in fee calculation. | — | Consensus/state |
BzBBveUDymEYoYzcMWNQCx3cd4jQs7puaVFHLtsbB6fm | vote | 150 | Records the community vote authorizing full inflation. | — | Consensus/state |
C5fh68nJ7uyKAuYZg2x9sEQ5YrVf3dkW6oojNBSc3Jvo | send_to_tpu_vote_port | 234 | Send votes to the tpu vote port. | — | Wire/interoperability |
C97eKZygrkU4JxJsZdjgbUY7iQR7rKTr4NyDWo2E5pRm | migrate_address_lookup_table_program_to_core_bpf | 762 | Migrate Address Lookup Table program to Core BPF. | SIMD-0128 | Consensus/state |
C9oAhLxDBm3ssWtJx1yBGzPY55r2rArHmN1pbQn6HogH | reserve_minimal_cus_for_builtin_instructions | 758 | Reserve minimal CUs for builtin instructions. | SIMD-0170 | Consensus/state |
CBkDroRDqm8HwHe6ak9cguPjUomrASEkfmxEaZ5CNNxz | max_tx_account_locks | 325 | Enforce max number of locked accounts per transaction. | — | Consensus/state |
CCu4boMmfLuqcmfTLPHQiUo22ZdUsXjgzPAURYaWt1Bw | requestable_heap_size | 313 | Requestable heap frame size. | — | Consensus/state |
CE2et8pqgyQMP2mQRg3CgvX8nJBKUArMu3wfiQiQKY1y | round_up_heap_size | 545 | Round up heap size when calculating heap cost. | — | Consensus/state |
CFK1hRCNy8JJuAAY8Pb2GjLFNdCThS2qwZNe3izzBMgn | add_get_processed_sibling_instruction_syscall | 311 | Add add_get_processed_sibling_instruction_syscall. | — | Consensus/state |
CGB2jM8pwZkeeiXQ66kBMyBR6Np61mggL7XUsmLjVcrw | skip_rent_rewrites | 755 | Skip rent rewrites. | SIMD-0183 | Consensus/state |
CHaChatUnR3s6cPyPMMGNJa3VdQQ8PNH2JqdD4LpCKnB | switch_to_chacha8_turbine | 946 | Reduce ChaCha rounds for Turbine from 20 to 8. | SIMD-0332 | Wire/interoperability |
CJzY83ggJHqPGDq8VisV3U91jDJLuEaALZooBrXtnnLU | disable_rent_fees_collection | 756 | Disable rent fees collection. | SIMD-0084 | Consensus/state |
CLCoTADvV64PSrnR6QXty6Fwrt9Xc6EdxSJE4wLRePjq | get_sysvar_syscall_enabled | 745 | Enable syscall for fetching Sysvar bytes. | SIMD-0127 | Consensus/state |
Cdkc8PPTeTNUPoZEfCY5AyetUrEdkZtNPMgz58nqyaHD | switch_to_new_elf_parser | 634 | Switch to new ELF parser. | — | Consensus/state |
CpkdQmspsaZZ8FVAouQTtTWZkc8eeQ7V3uj7dWz543rZ | on_load_preserve_rent_epoch_for_rent_exempt_accounts | 473 | On bank load account, do not try to fix up rent_epoch. | — | Client implementation |
CqvdhqAYMc6Eq6tjW3H42Qg39TK2SCsL8ydMsC363PRp | start_verify_shift32_imm | 266 | Applies the start verify shift32 imm protocol change. | — | Resolved historical selector |
CveezY6FDLVBToHDcvJRmtMouqzsmj4UXYh5ths5G5Uv | vote_state_update_credit_per_dequeue | 491 | Calculate vote credits for VoteStateUpdate per vote dequeue to match credit awards for Vote instruction. | — | Consensus/state |
D2aip4BBr8NPWtU9vLrwrBvbuaQ8w1zV38zFLxx4pfBV | require_rent_exempt_split_destination | 588 | Require stake split destination account to be rent exempt. | — | Consensus/state |
D31EFnLgdiysi84Woo3of4JMu7VmasUS3Z7j9HYXCeLY | enable_turbine_fanout_experiments | 572 | Enable turbine fanout experiments. | — | Wire/interoperability |
D4jsDcXaqdW8tDAWn8H4R25Cdns2YwLneujSL1zvjW6R | require_custodian_for_locked_stake_authorize | 166 | Require custodian to authorize withdrawer change for locked stake. | — | Consensus/state |
D7KfP7bZxpkYtD4Pc38t9htgs1k5k47Yhxe4rp6WDVi8 | sha256_syscall_enabled | 129 | Enables SHA-256 syscall. | — | Resolved historical selector |
DFBnrgThdzH4W6wZ12uGPoWcMnvfZj11EHnxHcVxLPhD | bpf_loader2_program | 95 | Applies the BPF loader2 program protocol change. | — | Resolved historical selector |
DTVTkmw3JSofd8CJVJte8PXEbxNQ2yZijvVr3pe2APPj | disable_rehash_for_rent_epoch | 473 | On accounts hash calculation, do not try to rehash accounts. | — | Client implementation |
Dc7djyhP9aLfdq2zktpvskeAjpG56msCU1yexpxXiWZb | stake_program_v4 | 193 | Applies the stake program v4 protocol change. | — | Resolved historical selector |
DdLwVYuvDz26JohmgSbA7mjpJFgX5zP2dkp8qsF2C33V | cap_transaction_accounts_data_size | 533 | Cap transaction accounts data size up to a limit. | — | Consensus/state |
DeMpxgMq51j3rZfNK2hQKZyXknQvqevPSFPJFNTbXxsS | reject_all_elf_rw | 266 | Rejects all ELF rw. | — | Resolved historical selector |
DeS7sR48ZcFTUmt5FFEVDr1v1bh73aAbZiZq3SYr8Eh8 | formalize_loaded_transaction_data_size | 884 | Loaded transaction data size specification. | SIMD-0186 | Consensus/state |
DhsYfRjxfnh2g7HKJYSzT79r74Afa1wbHkAgHndrA1oy | libsecp256k1_0_5_upgrade_enabled | 256 | Upgrade libsecp256k1 to v0.5.0. | — | Consensus/state |
DpJREPyuMZ5nDfU6H3WTqSqUFSXAfw8u7xqmWtEwJDcP | quick_bail_on_panic | 325 | Quick bail on panic. | — | Client implementation |
DqniU3MfvdpU3yhmNF1RKeaM5TZQELZuyFGosASRVUoy | reject_deployment_of_unresolved_syscalls | 266 | Rejects deployment of unresolved syscalls. | — | Resolved historical selector |
Ds87KVeqhbv7Jw8W6avsS1mqz3Mw5J3pRTpPoDQ2QdiJ | add_shred_type_to_shred_seed | 318 | Add shred-type to shred seed. | — | Wire/interoperability |
DwScAzPUjuv65TMbDnFY7AgwmotzWy3xpEJMXM3hZFaB | return_data_syscall_enabled | 273 | Enable sol_{set,get}_return_data syscall. | — | Consensus/state |
E3PHP7w8kB7np3CTQ1qQ2tW3KCtjRSXBQgW9vM2mWv2Y | secp256k1_program_enabled | 95 | Secp256k1 program. | — | Consensus/state |
E5JiFDQCwyC6QfT9REFyMpfK2mHcmv1GUDySU1Ue7TYv | spl_token_v2_multisig_fix | 95 | Spl-token multisig fix. | — | Consensus/state |
E8MkiWZNNPGU6n55jkGzyj8ghUmjCHRmDFdYYFYHxWhQ | leave_nonce_on_success | 308 | Leave nonce as is on success. | — | Consensus/state |
EBeznQDjcPG8491sFsKZYBi5S5jTVXMpAKNDJMQPS2kq | reduce_required_deploy_balance | 238 | Reduce required payer balance for program deploys. | — | Consensus/state |
ED5D5a2hQaECHaMmKpnU48GdsfafdCjkb3pgAw5RKbb2 | abort_on_all_cpi_failures | 141 | Applies the abort on all CPI failures protocol change. | — | Resolved historical selector |
EDGMC5kxFxGk4ixsNkGt8bW7QL5hDMXnbwaZvYMwNfzF | syscall_parameter_address_restrictions | 995 | Syscall Parameter Address Restrictions. | SIMD-0459 | Consensus/state |
EHFwHg2vhwUb7ifm7BuY9RMbsyt1rS1rUii7yeDJtGnN | stop_verify_mul64_imm_nonzero | 266 | Stops verify mul64 imm nonzero. | — | Resolved historical selector |
EJJewYSddEEtSZHiqugnvhQHiWyZKjkFDQASd7oKSagn | enable_alt_bn128_compression_syscall | 641 | Add alt_bn128 compression syscalls. | — | Consensus/state |
EMX9Q7TVFAmQ9V1CggAkhMzhXSg8ECp7fHrWQX2G1chf | evict_invalid_stakes_cache_entries | 271 | Evict invalid stakes cache entries on epoch boundaries. | — | Consensus/state |
EMsMNadQNhCYDyGpYH5Tx6dGHxiUqKHk782PU5XaWfmi | try_find_program_address_syscall_enabled | 145 | Enables try find program address syscall. | — | Resolved historical selector |
ENQi37wsVhTvFz2gUiZAAbqFEWGN2jwFsqdEDTE8A4MU | memory_ops_syscalls | 209 | Applies the memory ops syscalls protocol change. | — | Resolved historical selector |
EQMtCuSAkMVF9ZdhGuABtgvyXJLtSRF5AQKv1RNsrhj7 | close_upgradeable_program_accounts | 235 | Applies the close upgradeable program accounts protocol change. | — | Resolved historical selector |
EQUMpNFr7Nacb1sva56xn1aLfBxppEoSBH8RRVdkcD1x | disable_account_loader_special_case | 728 | Disable account loader special case. | — | Consensus/state |
EVW9B5xD9FFK7vw1SBARwMA4s5eRo5eKJdKpsBikzKBz | verify_tx_signatures_len | 238 | Prohibit extra transaction signatures. | — | Consensus/state |
EWme9uFqfy1ikK1jhJs8fM5hxWnK336QJpbscNtizkTU | update_hashes_per_tick2 | 587 | Update desired hashes per tick to 2.8M. | — | Consensus/state |
EYVpEP7uzH1CoXzbD6PubGhYmnxRXPeq3PPsm1ba3gpo | stop_sibling_instruction_search_at_parent | 547 | Stop the search in get_processed_sibling_instruction when the parent instruction is reached. | — | Consensus/state |
EdM9xggY5y7AhNMskRG8NgGMnaP4JFNsWi8ZZtyT1af5 | max_invoke_depth_4 | 97 | Applies the max invoke depth 4 protocol change. | — | Resolved historical selector |
EfhYd3SafzGT472tYQDUc4dPd2xdEfKs5fwkowUgVt4W | remove_deprecated_request_unit_ix | 540 | Remove support for RequestUnitsDeprecated instruction. | — | Consensus/state |
Eg7tXEwMZzS98xaZ1YHUbdRHsaYZiCsSaR6sKgxreoaj | commission_rate_in_basis_points | 1003 | Commission Rate in Basis Points. | SIMD-0291 | Consensus/state |
Ego6nTu7WsBcZBvVqJQKp6Yku2N3mrfG8oYCfaLZkAeK | stake_program_v3 | 141 | Applies the stake program v3 protocol change. | — | Resolved historical selector |
EnvhHCLvg55P7PDtbvR1NwuTuAeodqpusV3MR5QEK8gs | instructions_sysvar_enabled | 95 | Enables instructions sysvar. | — | Resolved historical selector |
F6UVKh1ujTEFK3en2SyAL3cdVnqko1FVEXWhmdLRu6WP | enable_sbpf_v2_deployment_and_execution | 825 | Enable deployment and execution of SBPFv2 programs. | SIMD-0173, SIMD-0174 | Consensus/state |
FKAcEvNgSY79RpqsPNUV5gDyumopH4cEHqUxyfm8b8Ap | relax_authority_signer_check_for_lookup_table_creation | 577 | Relax authority signer check for lookup table creation. | — | Consensus/state |
FKe75t4LXxGaQnVHdUKM6DSFifVVraGZ8LyNo7oPwy1Z | enable_get_epoch_stake_syscall | 766 | Enable syscall: sol_get_epoch_stake. | SIMD-0133 | Consensus/state |
FKu1qYwLQSiehz644H6Si65U5ZQ2cp9GxsyFUfYcuADv | update_hashes_per_tick6 | 597 | Update desired hashes per tick to 10M. | — | Consensus/state |
FL9RsQA6TVUoh5xJQ9d936RHSebA1NLQqe3Zv9sXZRpr | enable_poseidon_syscall | 644 | Enable Poseidon syscall. | — | Consensus/state |
FLjgLeg1PJkZimQCVa5sVFtaq6VmSDPw3NvH8iQ3nyHn | use_loaded_program_accounts | 141 | Uses loaded program accounts. | — | Resolved historical selector |
FNKCMBzYUdjhHyPdsKG2LSmdzH8TCHXn3ytj8RNBS4nG | enable_gossip_duplicate_proof_ingestion | 659 | Enable gossip duplicate proof ingestion. | — | Wire/interoperability |
FQnc7U4koHqWgRvFaBJjZnV8VPg6L6wWK33yJeDp4yvV | stake_split_uses_rent_sysvar | 472 | Stake split instruction uses rent sysvar. | — | Consensus/state |
FToKNBYyiF4ky9s8WsmLBXHCht17Ek7RXaLZGHzzQhJ1 | spl_token_v2_set_authority_fix | 216 | Spl-token set_authority fix. | — | Consensus/state |
FXs1zh47QbNnhXcnB6YiAQoJ4sGB91tKF3UFHLcKT7PM | remove_accounts_executable_flag_checks | 811 | Remove checks of accounts is_executable flag. | SIMD-0162 | Consensus/state |
FaTa17gVKoqbh38HcfiQonPsAaQViyDCCSg71AubYZw8 | spl_associated_token_account_v1_1_0 | 334 | SPL Associated Token Account Program version 1.1.0 release. | — | Consensus/state |
FaTa4SpiaSNH44PGC4z8bnGVTkSRYaWvrBs3KTu8XQQq | spl_associated_token_account_v1_0_4 | 302 | SPL Associated Token Account Program release version 1.0.4, tied to token 3.3.0. | — | Consensus/state |
Fab5oP3DmsLYCiQZXdjyqT3ukFFPrsmqhXU4WU1AWVVF | prevent_rent_paying_rent_recipients | 542 | Prevent recipients of rent rewards from ending in rent-paying state. | — | Consensus/state |
FbhK8HN9qvNHvJcoFVHAEUCNkagHvu7DTWzdnLuVQ5u4 | bpf_loader_upgradeable_program | 141 | Applies the BPF loader upgradeable program protocol change. | — | Resolved historical selector |
Ff8b1fBeB86q8cjq47ZhsQLgv5EkHu3G1C99zjUfAzrq | allow_votes_to_directly_update_vote_state | 491 | Enable direct vote state update. | — | Consensus/state |
Ffswd3egL3tccB6Rv3XY6oqfdzn913vUcjCSnpvCKpfx | better_error_codes_for_tx_lamport_check | 515 | Better error codes for tx lamport check. | — | Consensus/state |
FjSRMpFe7mofQ3WrEMT7Smjk2sME1XdAoRxcv55V6M44 | deterministic_shred_seed_enabled | 276 | Enables deterministic shred seed. | — | Resolved historical selector |
FsPaByos3gA9bUEhp3EimQpQPCoSvCEigHod496NmABQ | upgradeable_close_instruction | 176 | Applies the upgradeable close instruction protocol change. | — | Resolved historical selector |
FtjnuAtJTWwX3Kx9m24LduNEhzaGuuPfDW6e14SX2Fy5 | cumulative_rent_related_fixes | 107 | Applies the cumulative rent related fixes protocol change. | — | Resolved historical selector |
Ftok2jhqAqxUWEiCVRrfRs9DPppWP8cgTB7NQNKL88mS | spl_token_v3_3_0_release | 271 | Spl-token v3.3.0 release. | — | Consensus/state |
Ftok4njE8b7tDffYkC5bAbCaQv5sL6jispYrprzatUwN | spl_token_v3_4_0 | 334 | SPL Token Program version 3.4.0 release. | — | Consensus/state |
FuS3FPfJDKSNot99ECLXtp3rueq36hMNStJkPJwWodLh | abort_on_invalid_curve | 722 | Abort when elliptic curve syscalls invoked on invalid curve id. | SIMD-0137 | Consensus/state |
G6vbf1UBok8MWb8m25ex86aoQHeKTzDKzuZADHkShqm6 | add_set_tx_loaded_accounts_data_size_instruction | 537 | Add compute budget instruction for setting account data size per transaction. | — | Consensus/state |
G74BkWBzmsByZ1kxHy44H3wjwp5hp7JbrGRuDpco22tY | vote_state_update_root_fix | 468 | Fix root in vote state updates. | — | Consensus/state |
GDH5TVdbTPUpRnXaRyQqiKUa7uZAbZ28Q2N9bhbKoMLm | loosen_cpi_size_restriction | 724 | Loosen cpi size restrictions. | — | Consensus/state |
GE7fRxmW46K6EmCD9AMZSbnaJ2e3LfqCZzdHi9hmYAgi | filter_stake_delegation_accounts | 134 | Filter stake_delegation_accounts. | — | Consensus/state |
GQALDaC48fEhZGWRj9iL5Q889emJKcj3aCvHF7VCbbF4 | limit_max_instruction_trace_length | 519 | Limit max instruction trace length. | — | Consensus/state |
GQdjCCptpGECG7QfE35hKTAopB1umGoSrdKfax2VmZWy | set_upgrade_authority_via_cpi_enabled | 192 | Enables set upgrade authority via CPI. | — | Resolved historical selector |
GTUMCZ8LTNxVfxdrw7ZsDFTxXb7TutYkzJnFwinpE6dg | disable_deprecated_loader | 387 | Disable the deprecated BPF loader. | — | Consensus/state |
GV49KKQdBNaiv2pgqhS2Dy3GWYJGXMTVYbYkdk91orRy | drop_legacy_shreds | 600 | Drops legacy shreds. | — | Wire/interoperability |
GVnDbNkECwrzLM7aVBGWpBYo3yH1ACaXB4ottNX8pedZ | allow_native_ids | 235 | Allows native ids. | — | Resolved historical selector |
GaBtBJvmS4Arjj5W1NmFcyvPjsHN38UGYDq2MDwbs9Qu | deprecate_rewards_sysvar | 129 | Deprecate unused rewards sysvar. | — | Consensus/state |
Gea3ZkK2N4pHuVZVxWcnAtS6UEDdyumdYt4pFcKjA3ar | separate_nonce_from_blockhash | 320 | Separate durable nonce and blockhash domains. | — | Consensus/state |
GmC19j9qLn2RFk5NduX6QXaDhVpGncVVBzyM8e9WMz2F | check_slice_translation_size | 481 | Check size when translating slices. | — | Consensus/state |
GmuBvtFb2aHfSfMXpuFeWZGHyDeCLPS79s48fmCWCfM5 | delay_visibility_of_program_deployment | 530 | Delay visibility of program upgrades. | — | Consensus/state |
GvDsGDkH5gyzwpDhxNixx8vtx1kwYHH13RiNAPw27zXb | warp_timestamp_again | 154 | Warp timestamp again, adjust bounding to 25% fast 80% slow. | — | Consensus/state |
Gvd9gGJZDHGMNf1b3jkxrfBQSR5etrfTQSBNKCvLSFJN | stake_program_v2 | 129 | Applies the stake program v2 protocol change. | — | Resolved historical selector |
GwtDQBghCTBgmX2cpEGNPxTEBUTQRaDMGTr5qychdGMj | reduce_stake_warmup_cooldown | 565 | Reduce stake warmup cooldown from 25% to 9%. | — | Consensus/state |
Gx4XFcrVMt4HUvPzTpTSVkdDVgcDSjKhDN1RqRS6KDuZ | vote_state_v4 | 949 | Vote State v4. | SIMD-0185 | Consensus/state |
H3kBSaKdeiUsyHmeHqjJYNc27jesXZ6zWj3zWkowQbkV | instructions_sysvar_owned_by_sysvar | 353 | Fix owner for instructions sysvar. | — | Consensus/state |
H6iVbVaDZgDphcPbcZwc5LoznMPWQfnJ1AM7L1xzqvt5 | increase_cpi_account_info_limit | 933 | Increase CPI Account Infos Limit. | SIMD-0339 | Consensus/state |
HFpdDDNQjvcXnXKec697HDDsyk6tFoWS2o8fkxuhQZpL | stakes_remove_delegation_if_inactive | 256 | Remove delegations from stakes cache when inactive. | — | Consensus/state |
HH3MUYReL2BvqqA3oEcAa7txju5GY6G4nxJ51zvsEjEZ | preserve_rent_epoch_for_rent_exempt_accounts | 362 | Preserve rent epoch for rent exempt accounts. | — | Client implementation |
HTTgmruMYRZEntyL3EdCDdnS6e4D5wRq1FA7kQsb66qq | remove_native_loader | 271 | Remove support for the native loader. | — | Consensus/state |
HVPSxqskEtRLRT2ZeEMmkmt9FWqoFX4vrN6f5VaadLED | track_writable_deescalation | 154 | Applies the track writable deescalation protocol change. | — | Resolved historical selector |
HooKD5NC9QNxk25QuzCssB8ecrEzGt6eXEPBUxWp1LaR | last_restart_slot_sysvar | 653 | Enable new sysvar last_restart_slot. | SIMD-0047 | Consensus/state |
Hr1nUA9b7NJ6eChS26o7Vi8gYYDDwWD3YeBfzJkTbU86 | enable_request_heap_frame_ix | 503 | Enable transaction to request heap frame using compute budget instruction. | — | Consensus/state |
Hrg5bXePPGiAVWZfDHbvjqytSeyBDPAGAQ7v6N5i4gCX | cpi_data_cost | 176 | Applies the CPI data cost protocol change. | — | Resolved historical selector |
HxrEu1gXuH7iD3Puua1ohd5n4iUKJyFNtNxk9DVJkvgr | nonce_must_be_authorized | 320 | Nonce must be authorized. | — | Consensus/state |
HxvjqDSiF5sYdSYuCXsUnS8UeAoWsMT9iGoFP8pgV1mB | compute_budget_balancing | 97 | Applies the compute budget balancing protocol change. | — | Resolved historical selector |
HyrbKftCdJ5CrUfEti6x26Cj7rZLNe32weugk7tLcWb8 | syscall_saturated_math | 349 | Syscalls use saturated math. | — | Consensus/state |
J2QdYx8crLbTVK8nur1jeLsmc3krDbfjoxoea2V1Uy5Q | default_units_per_instruction | 327 | Default max tx-wide compute units calculated per instruction. | — | Consensus/state |
J4HFT8usBxpcF63y46t1upYobJgChmKyZPm5uTBRg25Z | enable_program_redeployment_cooldown | 530 | Enable program redeployment cooldown. | — | Consensus/state |
JAN1trEUEtZjgXYzNBYHU9DYd7GnThhXfFP7SzPXkPsG | disable_fees_sysvar | 483 | Disable fees sysvar. | — | Consensus/state |
JDn5q3GBeqzvUa7z67BbmVHVdE3EbUAjvFep3weR3jxX | simplify_alt_bn128_syscall_error_codes | 635 | simplify alt_bn128 syscall error codes. | SIMD-0129 | Consensus/state |
JE86WkYvTrzW8HgNmrHY7dFYpCmSptUpKupbo2AdQ9cG | enable_sbpf_v1_deployment_and_execution | 809 | Enable deployment and execution of SBPFv1 programs. | SIMD-0166 | Consensus/state |
LTDSzjZKFJMKHYpNycG1FrWwGGTaFFwqEFjB5GGLNVD | define_ltds_fee_only_semantics | 1008 | Define fee-only semantics. | SIMD-0186 | Consensus/state |
LTHasHQX6661DaDD4S6A2TFi6QBuiwXKv66fB1obfHq | accounts_lt_hash | 804 | enables lattice-based accounts hash. | SIMD-0215 | Consensus/state |
LTdLt9Ycbyoipz5fLysCi1NnDnASsZfmJLJXts5ZxZz | remove_accounts_delta_hash | 807 | removes accounts delta hash. | SIMD-0223 | Consensus/state |
LTsNAP8h1voEVVToMNBNqoiNQex4aqfUrbFhRH3mSQ2 | snapshots_lt_hash | 818 | snapshots use lattice-based accounts hash. | SIMD-0220 | Client implementation |
MoqiU1vryuCGQSxFKA1SZ316JdLEFFhoAu6cKUNk7dN | pubkey_log_syscall_enabled | 129 | Enables pubkey log syscall. | — | Resolved historical selector |
P1BCUMpAC7V2GRBRiJCNUgpMyWZhoqt3LKo712ePqsz | raise_block_limits_to_100m | 1009 | Raise block limit to 100M. | SIMD-0286 | Consensus/state |
PERzQrt5gBD1XEe2c9XdFWqwgHY3mr7cYWbm5V772V8 | partitioned_epoch_rewards_superfeature | 707 | replaces enable_partitioned_epoch_reward to enable partitioned rewards at epoch boundary. | SIMD-0118 | Consensus/state |
PaymEPK2oqwT9TXAVfadjztH2H6KfLEB9Hhd5Q5frvP | enable_transaction_loading_failure_fees | 757 | Enable fees for some additional transaction failures. | SIMD-0191 | Consensus/state |
RENtePQcDLrAbxAsP3k8dwVcnNYQ466hi2uKvALjnXx | mask_out_rent_epoch_in_vm_serialization | 801 | Sets rent_epoch to a constant in the VM. | SIMD-0267 | Consensus/state |
SAdVFw3RZvzbo6DvySbSdBnHN4gkzSTH9dSxesyKKPj | stake_program_advance_activating_credits_observed | 241 | Enable advancing credits observed for activation epoch. | — | Consensus/state |
STk5Xj8hdAx3sTzmtJ3QysKkq6X2A3yj73JtxttiRyk | upgrade_bpf_stake_program_to_v5 | 989 | Upgrade BPF Stake Program to v5.0.0. | SIMD-0490 | Consensus/state |
SVn36yVApPLYsa8koK3qUcy14zXDnqkNYWyUh1f4oK1 | account_hash_ignore_slot | 522 | Ignore slot when calculating an account hash. | — | Client implementation |
St8k9dVXP97xT6faW24YmRSYConLbhsMJA4TJTBLmMT | add_get_minimum_delegation_instruction_to_stake_program | 462 | Add GetMinimumDelegation instruction to stake program. | — | Consensus/state |
VAT9huvhPjRN9cyrPytq9rwvEJ3J4ADtjdncgZRyANJ | validator_admission_ticket | 1006 | Enables the validator-admission-ticket selector; its burn also requires Alpenglow. | SIMD-0357 | Consensus/state |
Vo5siZ442SaZBKPXNocthiXysNviW4UYPwRFggmbgAp | bank_transaction_count_fix | 396 | Fixes Bank::transaction_count to include all committed transactions, not just successful ones. | — | Consensus/state |
YCKSgA6XmjtkQrHBQjpyNrX6EMhJPcYcLWMVgWn36iv | max_program_call_depth_64 | 97 | Applies the max program call depth 64 protocol change. | — | Resolved historical selector |
YbbRLkvenrocjGPGyoQE4wjnvYzTgfsk38NFmcYK7a5 | loader_v3_minimum_extend_program_size | 1002 | Loader V3 minimum extend program size. | SIMD-0431 | Consensus/state |
b1sgUiJ3qu7hYm3tNDyyqZNQd6gLGJmJppnLNa93PCQ | enable_bls12_381_syscall | 986 | BLS12-381 syscalls. | SIMD-0388 | Consensus/state |
bn1hKNURMGQaQoEVxahcEAcqiX3NwRs6hgKKNSLeKxH | enable_alt_bn128_g2_syscalls | 985 | Add alt_bn128 G2 syscalls. | SIMD-0302 | Consensus/state |
bn2oPgpkzQPT3tohMaAsMVGjhDmmDa4jCaVPqCFmtxM | alt_bn128_little_endian | 984 | Add little-endian compatibility for alt_bn128. | SIMD-0284 | Consensus/state |
bn2puAyxUx6JUabAxYdKdJ5QHbNNmKw8dCGuGCyRrFN | fix_alt_bn128_multiplication_input_length | 836 | fix alt_bn128 multiplication input length. | SIMD-0222 | Consensus/state |
bnYzodLwmybj7e1HAe98yZrdJTd7we69eMMLgCXqKZm | fix_alt_bn128_pairing_length_check | 942 | Fix alt_bn128_pairing length check. | SIMD-0334 | Consensus/state |
decoMktMcnmiq6t3u7g5BfgcQu91nKZr6RvMYf9z1Jb | allow_commission_decrease_at_any_time | 704 | Allow commission decrease at any time in epoch. | SIMD-0079 | Consensus/state |
disCA4efguFL6Wqa4pGdG7jpjC7C5uiKzKnhEBqchBe | discard_unexpected_data_complete_shreds | 1005 | Enforce DATA_COMPLETE placement and block-component framing. | SIMD-0337 | Wire/interoperability |
dupPajaLy2SSn8ko42aZz4mHANDNrLe8Nw8VQgFecLa | index_erasure_conflict_duplicate_proofs | 603 | Generate duplicate proofs for index and erasure conflicts. | — | Wire/interoperability |
eca6zf6JJRjQsYYPkBHF3N32MTzur4n2WL4QiiacPCL | curve25519_restrict_msm_length | 607 | Restrict curve25519 multiscalar multiplication vector lengths. | — | Consensus/state |
ed9tNscbWLYBooxWA7FE2B5KHWs8A6sxfY8EzezEcoo | ed25519_precompile_verify_strict | 714 | Use strict verification in ed25519 precompile. | SIMD-0152 | Consensus/state |
ffecLRhhakKSGhMuc6Fz2Lnfq4uT9q3iu9ZsNaPLxPc | vote_only_full_fec_sets | 769 | Vote only full fec sets. | — | Wire/interoperability |
fixfecLZYMfkGzwq6NJA11Yw6KYztzXiK9QcL3K78in | enforce_fixed_fec_set | 935 | Enforce 32 data + 32 coding shreds. | SIMD-0317 | Wire/interoperability |
htsptAwi2yRoZH83SKaUXykeZGtZHgxkS2QwW1pssR8 | raise_account_cu_limit | 878 | Raise account CU limit to 40% max. | SIMD-0306 | Consensus/state |
k15tVxtkgsmo7dy6iJ56N5hBCxuQAtqRgYwoTDuwbia | updated_verify_policy | 217 | Applies the updated verify policy protocol change. | — | Resolved historical selector |
meRgp4ArRPhD3KtCY9c5yAf2med7mBLsjKTPeVUHqBL | stake_merge_with_unmatched_credits_observed | 241 | Allow merging active stakes with unmatched credits_observed. | — | Consensus/state |
mrkPjRg79B2oK2ZLgd7S3AfEJaX9B6gAF3H9aEykRUS | merkle_conflict_duplicate_proofs | 657 | Generate duplicate proofs for merkle root conflicts. | — | Wire/interoperability |
nWBqjr3gpETbiaVj3CBJ3HFC5TMdnJDGt21hnvSTvVZ | check_physical_overlapping | 330 | Check physical overlapping regions. | — | Consensus/state |
noRuG2kzACwgaY7TVmLRnUNPLKNVQE1fb7X55YWBehp | commission_updates_only_allowed_in_first_half_of_epoch | 487 | Validator commission updates are only allowed in the first half of an epoch. | — | Consensus/state |
poUdAqRXXsNmfqAZ6UqpjbeYgwBygbfQLEvWSqVhSnb | poseidon_enforce_padding | 940 | Enforce padding in Poseidon hash inputs. | SIMD-0359 | Consensus/state |
prpFrMtgNmzaNzkPJg9o753fVvbHKqNrNTm76foJ2wm | validate_fee_collector_account | 598 | Validate fee collector account. | SIMD-0085 | Consensus/state |
ptokFjwyJtrwCa9Kgo9xoDS59V4QccBGEaRFnRPnSdP | replace_spl_token_with_p_token | 971 | Efficient Token program. | SIMD-0266 | Consensus/state |
rent6iVy6PDoViPBeJ6k5EJQrkj62h7DPyLbWGHwjrC | deprecate_rent_exemption_threshold | 943 | Deprecate rent exemption threshold. | SIMD-0194 | Consensus/state |
rexav5eNTUSNT1K2N7cfRjnthwhcP5BC25v2tA4rW4h | relax_programdata_account_check_migration | 956 | Relax program data account check in migration. | SIMD-0444 | Consensus/state |
sTKz343FM8mqtyGvYWvbLpTThw3ixRM4Xk8QvZ985mw | stake_allow_zero_undelegated_amount | 463 | Allow zero-lamport undelegated amount for initialized stakes. | — | Consensus/state |
srremy31J5Y25FrAApwVb9kZcfXbusYMMsvTK9aWv5q | enable_secp256r1_precompile | 800 | Enable secp256r1 precompile. | SIMD-0075 | Consensus/state |
tSynMCspg4xFiCj1v3TDb4c7crMR5tSBhLz4sF7rrNA | enable_tower_sync_ix | 749 | Enable tower sync vote instruction. | SIMD-0138 | Consensus/state |
turbnbNRp22nwZCmgVVXFSshz7H7V23zMzQgA46YpmQ | disable_turbine_fanout_experiments | 880 | Disable turbine fanout experiments. | — | Wire/interoperability |
tvcF6b1TRz353zKuhBjinZkKzjmihXmBAHJdjNYw1sQ | timely_vote_credits | 703 | Use timeliness of votes in determining credits to award. | SIMD-0033 | Consensus/state |
vXDCFK7gphrEmyf5VnKgLmqbdJ4UxD2eZH1qbdouYKF | mem_overlap_fix | 235 | Applies the mem overlap fix protocol change. | — | Resolved historical selector |
vcmrbYbiMVKaq1snKP6eCacNDcr6qZvpCNUjmk6gxvZ | validate_chained_block_id | 992 | Validate chained block ID. | SIMD-0340 | Wire/interoperability |
vcmrw431aNM8ngQ46derkZXipoTGQdbHkEygBDh12dA | validate_chained_block_id_2 | 992 | Encompassing check for validate chained block ID. | SIMD-0340 | Wire/interoperability |
wLckV1a64ngtcKPRGU4S4grVTestXjmNjxBjaKZrAcn | cost_model_requested_write_lock_cost | 723 | Cost model uses number of requested write locks. | — | Consensus/state |
xGbcW7EEC7zMRJ6LaJCob65EJxKryWjwM4rv8f57SRM | limit_cpi_loader_invoke | 141 | Limits CPI loader invoke. | — | Resolved historical selector |
zkdoVwnSFnSLtGJG7irJPEYUpmb4i7sGMGcnN6T9rnC | disable_zk_elgamal_proof_program | 805 | Disables zk-elgamal-proof program. | — | Consensus/state |
zkexuyPRdyTVbZqEAREueqL2xvvoBhRgth9xGSc1tMN | reenable_zk_elgamal_proof_program | 982 | Re-enables zk-elgamal-proof program. | — | Consensus/state |
zkhiy5oLowR7HY4zogXjCjeMXyruLqBwSWH21qcFtnv | zk_elgamal_proof_program_enabled | 731 | Enable ZkElGamalProof program. | SIMD-0153 | Consensus/state |
iBRL5RuWhw4yqaAZu96RUULHckHTZAoe2b77qaV38JZ | reduce_slot_time_to_350ms | 1019 | Select the 350-ms slot profile from epoch 1020. | SIMD-0525 | Consensus/state |
iBRLL3k18HST852F1Mf3Lv83waTNQmmqvKDxvYGwQFL | reduce_slot_time_to_300ms | 1023 | Select the 300-ms slot profile from epoch 1024. | SIMD-0525 | Consensus/state |
s51VGwCAgebo2745DSUris72RavoLkXGUmVJosESCXr | upgrade_bpf_stake_program_to_v5_1 | 1026 | Upgrade Stake Core-BPF to v5.1 and use fixed-point warmup/cooldown. | SIMD-0391 | Consensus/state |
BY4JhHLahVzS9ynfDz4exzGPbVXhFmJvEyMWsXbDBqME | relax_post_exec_min_balance_check | 1027 | Permit a pre-existing rent-paying account to remain rent-paying after execution. | SIMD-0392 | Consensus/state |
4a6f7o7iTcA8hRDCrPLkSatnt5Ykxiu36wo5p1Tt12wC | set_lamports_per_byte_to_6333 | 1028 | Set rent to 6,333 lamports per byte-year. | SIMD-0437 | Consensus/state |
3HcSrCTGXTUnrTueHi4DAwNuMxZSsm5xui2Ax3mgxHqf | custom_commission_collector | 1031 | Enable separate block-revenue and inflation commission collectors. | SIMD-0232 | Consensus/state |
61BtM7BkDEE8Yq5fskEVAQT9mYA8qCejJWoLe5apqg81 | set_lamports_per_byte_to_5080 | 1033 | Set the current rent value to 5,080 lamports per byte-year. | SIMD-0437 | Consensus/state |
txv1aq4pp281K9um3tnPgkfX8UqtFT6wcVW3hNezGLL | enable_tx_v1 | 1035 | Enable the bounded version-1 transaction codec. | SIMD-0385 | Wire/interoperability |
iBRLMc81UjRa8fn8A6eE8bJTnRbgQoPTynM51akENCV | reduce_slot_time_to_250ms | 1036 | Select the 250-ms slot profile from epoch 1037. | SIMD-0525 | Consensus/state |
iBRLjhJnkmDZgNoZRDMW11d8ZV7HvsL3vAyRjZB5npW | reduce_slot_time_to_200ms | 1052 | Select the current 200-ms slot profile from epoch 1053. | SIMD-0525 | Consensus/state |
A1pengvuM6JEcyNuTnMqepBKhwHE3N6PmUrdATGawhJS | alpenglow | 1064 | Enable Alpenglow block markers, votes, certificates, rewards, and finality. | SIMD-0326 | Consensus/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.