← All updates

Network upgradesValidators · Developers · Wallets & apps2 min read

Feature gate activations resume on mainnet

Eleven v4.0 gates go live one per epoch, about two weeks in total. Nodes still on 3.1.x or 2.2.x must upgrade.

Nick P · X1 Labs ·

What to do

Developers: if your program does unusual pointer handling in CPI, test it on testnet before gate 11. Wallets and staking tools: check the new 1 XNT minimum delegation.

With every mainnet validator on Tachyon v4.0.3, X1 Labs restarted the v4.0 feature-gate rollout on 12 October. One gate activates per epoch, roughly a day each, so the full list takes about two weeks. Every gate had already run on X1 testnet.

What a feature gate is

Think of each gate as a dormant rule. The code for it is already inside Tachyon v4.0.3, but nodes ignore it until an on-chain account marks it active. From the first slot of the epoch after that, every node enforces it at once. That is why the order matters: upgrade the software first, flip the rules later, and no validator is caught running code that disagrees with its peers.

The schedule

  1. Minimum vote-account stake: fee-free votes need at least 1 XNT staked to the vote account.
  2. p-token (SIMD-0266): the token program rewritten to use about 95-98% less compute.
  3. Create account with prefund (SIMD-0312): create an account at an address that already holds XNT.
  4. alt_bn128 little-endian (SIMD-0284): BN254 syscalls in the byte order zk tooling uses.
  5. alt_bn128 G2 (SIMD-0302): G2 arithmetic for pairing-based proofs.
  6. BLS12-381 (SIMD-0388): a second, stronger pairing curve.
  7. Stake program v5 (SIMD-0490): 1 XNT minimum for new delegations.
  8. Delayed commission (SIMD-0249): commission changes wait a full epoch.
  9. Chained block IDs (SIMD-0340, two gates): each block bound to its parent.
  10. SBPFv3 programs: a cleaner program format for new toolchains.
  11. SIMD-0459: programs may no longer pass pointers into restricted memory regions when they call other programs.

Why it's good for X1

Read as a set, the gates do three things. They free block space (p-token), so the same blocks hold more activity. They add cryptography that makes private payments, zk proofs and signature aggregation practical on X1. And they close traps for users: no surprise commission hikes, no dust stake accounts, stronger protection against conflicting blocks. One gate a day keeps each change small enough to watch.

Who needs to act

  • Validators on v4.0.3: nothing. Nodes still on 3.1.x or 2.2.x must upgrade now.
  • Wallets and staking tools: check that new delegations and splits are at least 1 XNT before gate 7.
  • Developers: test programs that do unusual pointer handling in CPI on testnet before gate 11.
  • Apps that send token transactions: after p-token, request a lower compute-unit limit. X1 fees follow the limit you ask for.

Sources

Original post · Nick P

With the mainnet fleet now fully on Tachyon v4.0.3, we're continuing to activate the v4.0 feature gates. Gates go live one per epoch (~24h each), starting with the next epoch, so the full rollout takes about two weeks. Every gate below has already been running on X1 testnet with no issues, so builders can test against testnet today. Validators: if you're on 4.0.3 there's nothing to do. Any node still on 3.1.x or 2.2.x must upgrade now or it will fall off the network as gates activate. The schedule, in order: 1. Minimum vote-account stake (1 XNT): fee-free votes now require at least 1 XNT staked to the vote account. Validators below this can still vote by paying fees or adding stake. No current voting validator is affected. 2. p-token (SIMD-0266): the SPL Token program is replaced by p-token, a drop-in rewrite with the same instructions that uses ~98% less compute. X1 fees are based on the compute limit you request, so set an explicit compute-unit limit on token transactions to see the savings. 3. Create account with prefund (SIMD-0312): a new system instruction to create an account at an address that already holds XNT. The existing CreateAccount is unchanged. 4. alt_bn128 little-endian (SIMD-0284): little-endian byte order for the BN254 syscalls, matching EVM and zk tooling. 5. alt_bn128 G2 syscalls (SIMD-0302): BN254 G2 operations for pairing-based proof systems. 6. BLS12-381 syscalls (SIMD-0388): curve operations, pairings and hash-to-curve, the foundation for BLS signature aggregation. 7. Stake program v5 (SIMD-0490): upgrades the Stake program and raises the minimum stake delegation to 1 XNT. Existing delegations are unaffected and keep earning rewards. New delegations and splits below 1 XNT will fail, so wallets and staking tools should check their minimums. 8. Delayed commission updates (SIMD-0249): commission changes take effect one full epoch later, so rate changes can't land just before rewards are paid. 9. Chained block ID validation (SIMD-0340, two gates, same epoch): each block is cryptographically bound to its parent, which strengthens protection against equivocation. No action needed. 10. SBPFv3 programs (SIMD-0178 / 0189 / 0377): enables deploying and running SBPFv3 programs. Existing programs are unaffected. 11. Syscall parameter address restrictions (SIMD-0459): tightens which memory regions syscall and CPI parameters may point to. Developers: if your program does unusual pointer handling in CPI, test it on testnet now. We'll post an update as each gate goes live.