Zolt is a Zig zkVM prover that generates proofs verifiable by the unmodified upstream Jolt verifier. All cryptography is implemented from scratch using only the Zig standard library, zero dependencies, zero FFI.
Highlights
- Full Jolt-compatible prover 7-stage proving pipeline producing proofs verified by upstream Jolt (pinned to commit
b10e80ac) - Faster than Jolt (Rust) on small-to-medium programs (Apple M1 Pro benchmarks)
- RISC-V RV32IM+C emulator with full multiply/divide (M) and compressed instruction (C) support
- All crypto from scratch in Zig BN254 field/curve arithmetic, Montgomery multiplication, pairings, Fp2/Fp6/Fp12 extensions, Pippenger MSM with GLV endomorphism, HyperKZG + Dory commitment schemes, Blake2b/Keccak/Poseidon transcripts, Sumcheck + Spartan
- 14 verified example programs including SHA-256 (various input sizes), Fibonacci, factorial, primes, and more
- jolt-inline support for SHA-256 custom instructions
- Parallel proving via Chase-Lev work-stealing thread pool
- Optional Metal GPU acceleration for MSM on Apple Silicon
- C-API static library for integration with other languages
- BLS12-381 support in the arithmetic library (curve-generic substrate)
- SRS caching to disk no repeated downloads
Architecture
Three clean packages: zolt-pool (threading) → zolt-arith (arithmetic) → zolt (zkVM). ~60k lines of Zig.
Known Limitations
- Experimental, not audited, not for production use