← All updates

Network upgradesValidators · Developers2 min read

Tachyon v4.0.3 is ready for mainnet

Brings the upstream Solana Agave v4.0 improvements to Tachyon. Switch to the v4.0 branch or the v4.0.3 tag.

Nick P · X1 Labs ·

What to do

Upgrade to v4.0.3, widen the port range to --dynamic-port-range 8000-8030, and remove the deprecated flags.

X1's validator client, Tachyon, has caught up with Solana's Agave v4.0. X1 Labs published v4.0.3 on 10 September 2026, and it is the most important client release of the year: it brings a year of upstream Solana engineering to X1, keeps every X1 change, and loads the twelve feature gates that will reshape what X1 programs can do.

What it is

Tachyon is X1's fork of Agave, the Solana validator client. X1 changes a handful of things on top of it: fee-free votes, dynamic base fees that rise with congestion, X1's own reward and fee split, its genesis and its feature-gate keys. v4.0.3 rebases all of that onto Agave v4.0.3, moving X1 from the v3.1 line it ran through the summer.

How the upgrade works

  • It is a rolling upgrade. Validators restart on their own schedule while the rest of the network keeps running on v3.1, so there is no coordinated stop.
  • New consensus rules ship switched off. The twelve feature gates in the release do nothing until each one is activated at an epoch boundary later on.
  • A node only starts if its configuration is valid for v4.0. Several old flags are gone and the port range is wider.

Why it's good for X1

Running a year behind Solana means missing a year of performance and safety work. This release closes most of that gap in one pass, without asking the network to stop. It also unlocks the gates that matter most for builders on X1: much cheaper token transfers (p-token), native BLS and BN254 cryptography for zero-knowledge proofs and signature aggregation, and stricter protections for delegators. Because Solana already runs these changes in production, X1 inherits them with the rough edges already found.

What to watch

  • QUIC only: UDP transaction ingestion is removed. Remove --tpu-enable-udp, --tpu-disable-quic, --use-udp and --use-quic.
  • --block-verification-method blockstore-processor is gone. Drop it or switch to unified-scheduler.
  • Set --dynamic-port-range 8000-8030 and open that range in your firewall. A node that cannot use its full range looks healthy but performs badly.
  • If the accounts directory is on tmpfs, add --no-accounts-db-snapshots-direct-io.
  • There is no clean way back. v4.0 stops reading several old blockstore formats, so once it has written to a ledger, v3.1 cannot use it. Take a snapshot first if you want a rollback.

What to do

  • Check out the v4.0 branch or the v4.0.3 tag of x1-labs/tachyon.
  • Fix the flags and port range above before restarting.
  • Build, restart, and confirm getVersion reports 4.0.3. Watch vote credits and skip rate through the next epoch boundary.
  • Operators using a management tool such as X1 Console should wait for the tool to support v4.0 before switching.

Sources

Original post · Nick P

Tachyon v4.0.3 is ready for mainnet! This release brings all the upstream improvements from Solana Agave v4.0 to Tachyon. Switch to either the v4.0 branch or v4.0.3 tag. https://github.com/x1-labs/tachyon Note: V4 requires a larger port range: --dynamic-port-range 8000-8030 If you use tmpfs for your accounts directory, add this flag: --no-accounts-db-snapshots-direct-io Upstream highlights (v3.1 → v4.0): - Snapshot archive unpacking now uses direct I/O by default to improve performance by bypassing the OS page cache. Use --no-accounts-db-snapshots-direct-io to opt out if your file system does not support O_DIRECT. Direct I/O will be extended to snapshot creation in a future release. - QUIC only — UDP transaction ingestion is gone. --tpu-enable-udp, --tpu-disable-quic, --use-udp, --use-quic all removed. - --block-verification-method blockstore-processor no longer supported. Drop the flag or switch to unified-scheduler. - Blockstore legacy formats dropped — PerfSampleV1, SlotMetaV1/IndexV1, and pre-v1.18 transaction-metadata keys lose fallback reads. No clean downgrade path once a ledger is written by v4.0. Feature Gate Highlights: - replace_spl_token_with_p_token AHK6QUkHPbom1bFpJi45qzKVGh3E12dVqEh5NSE7c1Up Implements SIMD-0266 (https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0266-efficient-token-program.md). Replaces the SPL Token program with p-token — same instruction set, a fraction of the compute cost. A one-shot core-BPF migration fires at the activation epoch. - upgrade_bpf_stake_program_to_v5 EuvKrWuxk9Dtu448etY554V1iU7CXXnT3gS6drqQwByc Implements SIMD-0490 (https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0490-upgrade-stake-to-v5.md). Upgrades the core-BPF Stake program to v5.0.0 and raises the minimum stake delegation to 1 XNT. Removed deprecated flags: --accounts-db-clean-threads --accounts-db-hash-threads --accounts-db-read-cache-limit-mb --accounts-hash-cache-path --cuda --disable-accounts-disk-index --dev-halt-at-slot --monitor (exit subcommand) --transaction-struct --wait-for-exit (exit subcommand) --tpu-coalesce-ms --tpu-disable-quic --tpu-enable-udp See the release on github: https://github.com/x1-labs/tachyon/releases/tag/v4.0.3

Feature gates in this post

  • p-token (SIMD-0266)

    SPL Token replaced in place by p-token: same instructions, ~98% less compute.

    AHK6…c1UpLiveepoch 409

  • Stake program v5 (SIMD-0490)

    Minimum stake delegation rises to 1 XNT. Existing delegations are unaffected.

    EuvK…wBycLiveepoch 423