Apogee VM v1.0.0 is the first release of the initiative's RISC-V zkVM. It proves that a Rust program ran correctly and folds that proof into one Groth16 proof, which a single Ethereum contract call verifies. It is the proof engine behind the initiative's thesis: one blockchain-native environment per economic application, each settling to Ethereum with a validity proof.
This note is a summary. The full documentation, from a first guest program to the normative specification, is at apogee.gweb3networks.com/docs.
A proof that verifies states four things about one run:
| Program | Its identity: one field element that digests the code, the initial memory image, the entry point and the circuit configuration. |
| Input | The public bytes the program was given. |
| Output | The journal: the bytes the program chose to publish. |
| Exit | The status it ended with; 0 is success. |
A verifier takes the identity from its own channel, never from the prover. Proofs are succinct, not zero-knowledge.
| Machine | RV32IMAC on one hart. Guests are #![no_std] Rust with alloc. |
| Proof system | 23 circuit families over BN254's scalar field, each a layered GKR circuit. Gates are checked by sumcheck, memory by one read/write multiset over the whole execution, lookups by LogUp; challenges come from a Poseidon2 transcript. |
| Commitments | Mercury over KZG on the PSE perpetual powers of tau, with one 704-byte opening per shard. |
| Delegations | Six dedicated circuits: keccak-f[1600], SHA-256, Poseidon2, BN254 scalar-field arithmetic, 256-bit modular multiplication, and point addition on secp256k1 and BN254 G1. |
| Settlement | Verifier programs, proved by the VM itself, fold shard proofs up a recursion tree; a Groth16 decider re-verifies the root, and ApogeeVerifier.sol checks it in one call. |
| Workload | Ethereum block validation: a revm guest with a stateless validator for Osaka, BPO1, BPO2 and Amsterdam. |
| Dependencies | No third-party cryptography on a proof path. arkworks, Plonky3 and zkhash appear only as test oracles. |
One end-to-end run: block 257,510 of the glamsterdam-devnet-8 devnet, proved through the stateless validator guest (60 transactions, 101.5 Mgas, 198 million cycles).
| Stage | Result |
|---|---|
| Base proof | 207 shards, 14.5 MB, 2,481 s on 32 vCPUs; 174 GiB peak memory |
| Recursion | 116 shards in four leaves and a root; the root proof is 1.03 MB |
| Decider | Groth16 proof in 18.5 s on an 18-core laptop |
| On-chain | 3,620,026 gas and 34,980 bytes of calldata |
| Conformance | All 67,251 tests-zkevm v21.0.1 pairs match natively |
Every figure, with its source →
- Not zero-knowledge. Nothing is blinded in Mercury, GKR or the decider.
- Advice is unbound by design; a guest checks it against something a proof binds.
- Proving is memory-bound. The measured block peaked at 174 GiB.
- Traps are not provable, and
sc.walways succeeds: there is no reservation state. - The decider key is specific to a root shape and only as trustworthy as its ceremony; the development key is forgeable.
Every limit, with its reason →
| Reader | Start with |
|---|---|
| Builders | Launch Your App: write a guest, build it, run it, prove it. |
| Architects | Architecture: how the program, the GKR engine, the commitments, the memory argument and recursion fit together. |
| Auditors | Auditors: every column, gate and lookup, a soundness map, and the trust boundary drawn crate by crate. |
| Decision makers | At a Glance: what it proves, what it costs, what it assumes and where it stops. |
| Strategists | Quantum Leap: where v2.0.0 is headed. |
| AI agents | AI Companion and llms.txt. |
The documentation is available in English, French (Canada), Simplified Chinese and German. The normative specification stays in English in every language.
v1.0.0 settles whether the architecture holds at full scale. Work toward v2.0.0, in active development, moves the proving core onto lattice-based commitments, whose hardness assumptions are believed to resist quantum attack, and adds a deployment system that carries an application from repository to running chain. Programs written for v1.0.0 keep their shape.
Source: darth-cy/apogee-vm, tagged v1.0.0 on October 6, 2026.
