Skip to content

Vexor

Vexor is an independent, Zig-native validator client for the Solana network — testnet-only, pre-production (version 0.9.x).

It validates blocks, votes on consensus, and produces blocks the same way Agave and Firedancer do, gated to reproduce the canonical bank hash byte-for-byte — but it is built from the ground up in Zig, as a clean-room, independently-auditable implementation. Where most of the ecosystem runs one codebase (Agave) or its direct derivatives, Vexor is a genuinely separate implementation: more client diversity, fewer shared failure modes, and a smaller, more auditable surface.

Vexor runs live on Solana testnet today: voting at ~98.7% of maximum vote credits, producing ~97%+ of its leader slots (empty blocks — transaction-bearing block production exists behind a gate and is not yet enabled, see Project Status), on a zero-copy AF_XDP datapath, with native QUIC vote submission and its own from-scratch blockstore, VexLedger.

Honest status, up front

Vexor is testnet-only and versioned 0.9.x pre-production — 1.0.0 is reserved for the production-grade milestone. It is operated by QubeStake on identity 3J2jADiEoKMaooCQbkyr9aLnjAb5ApDWfVvKgzyK2fbP. Nothing on this site should be read as a mainnet or production readiness claim.


What Vexor aims to be

  • A true independent client. Network resilience comes from diversity. A bug or exploit in one client should not be able to halt or fork the chain. Vexor exists to be a real third implementation, not a fork.
  • Byte-faithful to canonical Solana. Every consensus-relevant byte — bank hash, vote state, lt-hash, sysvars, the sBPF execution result, the blockstore wire formats — is validated byte-for-byte against the Agave reference implementation, currently anchored to the newest testnet release (v4.2.0-beta.0), with Firedancer and Sig used as engineering references. We treat any divergence from the reference as a bug and gate every change against it.
  • Zig-native, top to bottom. The runtime, the sBPF VM, the accounts database, the networking stack, the blockstore, and — as of the pure-Zig crypto rewrite — the leaf-level cryptography (Ed25519, BLAKE3, BN254/alt_bn128, Poseidon, the accounts lt-hash) are all Zig, with no Firedancer or other native code linked at runtime. Firedancer's ballet AVX-512 crypto libraries served as an earlier build option and remain available for reference, but the canonical production build (-Dpure_zig) links zero Firedancer symbols.
  • Operationally honest. Open about what is proven, what is gated and dormant, and what is still on the roadmap. No "testnet-only" shortcuts; every decision is made as if real value is at stake.

The vote program — Vexor-authored, and the live executor

The vote program, the code that lands every vote instruction, was rewritten in July 2026 to Vexor's own, from-scratch Zig implementation derived from Agave 4.2 semantics, and it is now the sole, unconditional live executor on testnet — executing vote instructions in ~1.9–2.0 µs, about 4.7× faster than the previous Sig-derived reference transplant, verified byte-identical across 990k+ live instructions. That Sig-derived component served as the differential test oracle during development and has been fully removed from the tree (Stage 8, 2026-07-12); see The Vote Program for the full story.

How Vexor is different

A one-line version (the full comparison is in How Vexor is Different):

Agave Firedancer Vexor
Language Rust C Zig
Blockstore RocksDB (LSM) custom (fd_blockstore) VexLedger (append-segment)
Lineage the reference client independent (C) independent (Zig)
Stance canonical high-performance byte-faithful + auditable + space-efficient

Start here


Note

This documentation site is modeled on the structure and feel of docs.anza.xyz, built with Material for MkDocs, and extended with the sections that make Vexor Vexor — why we built each piece the way we did, our network stack, and our performance work. It compiles to a fully static site for self-hosting (see the repo README.md).