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 canonical mainnet-beta and testnet ledger history, currently anchored to the newest testnet protocol release (v4.2.0-beta.0). We treat any divergence from the protocol 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 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. An alternate build option can link
Firedancer's
balletAVX-512 crypto libraries instead, kept as a reference configuration, 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, is Vexor's own, from-scratch Zig implementation of the protocol's vote-program specification, and it is the sole, unconditional live executor on testnet: executing vote instructions in ~1.9–2.0 µs, about 4.7× faster than a reference implementation, verified byte-identical across 990k+ live instructions. 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 |
Ecosystem¶
Parts of Vexor are developed and published as standalone libraries, useful on their own and open to the same scrutiny as the validator:
zbpf: a standalone sBPF virtual machine in Zig, with the ELF loader, verifier, interpreter, syscalls, CPI, and native builtins. 1,065 tests across 31 build steps, public CI green.zolcrypt: pure-Zig cryptography extracted from the validator, including ed25519 (strict verification by default, matching Agave), secp256k1/r1, bn254, blake3, and the LtHash accumulator.vexor-zig-sdk: an exploratory SDK for writing Solana on-chain programs in Zig, with a constraint DSL, IDL generation, and SPL bindings. 200/200 host tests; the roadmap starts with a compute-unit-exact program test harness.
Start here¶
- New to validators? → What is a Validator?
- Why does Vexor exist / how is it different? → How Vexor is Different
- How is it built? → Architecture Overview
- Why is it built this way? → Design Rationale
- How fast is it / the network stack? → Network Stack & Performance
- Want to run it? → Operating a Validator
- What's done and what's next? → Project Status
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).