rkdud007/awesome-zkvm

A curated list of zkVM, zero-knowledge virtual machine

329

56 commits

updated Sep 29, 2025

See the code

README

awesome zkVM

A curated list of zkVM, zero-knowledge virtual machine.

awesome list badge GitHub contributors pull requests welcome badge

Contributions and suggestions are always welcome; open issues or pull requests with any changes you want to be made.

contents

projects

[!NOTE]
Maintained by @0xpiapark and @alexanderlhicks. Some details may be outdated; feel free to open an issue or PR. For discussions on fair tracking methods, see the open issues.

  • ISA (Instruction Set Architecture): The fundamental “language” of the VM, defining all its basic operations and how they interact with data.
  • Continuations: Also known as chunking/sharding. A technique to break oversized computations — too big for a single run — into smaller segments that get proven individually and recursively (proof of segment n+1 includes the proving of segment n's verifier). How self-contained the proving of each segment is (no commitment passed from one segment to the other) and how efficiently parallelizatable it is (minimal inter-thread comm) differs from one implementation to another.
  • Precompiles (Built-ins, Chiplets, Accelerate etc): Specialized, pre-built functions for complex tasks (like cryptography) that boost efficiency and reduce proof overhead.
  • GPU: Indicates whether proving on GPU is supported (based on publicly exposed Metal/CUDA code).
  • Proving Frontend: The programming language the programmer expresses their business logic in, which then get compiled down into the VM’s supported ISA for constrained execution.
zkVMISAContinuationsParallelizable ProvingPrecompilesGPUFrontend
cairoCairo:x::x::white_check_mark:Cairo
cairo mCairo M:white_check_mark::x::x:Cairo M
cenoRISC-V:x::x::white_check_mark:Rust
eigen zkvmRISC-V:white_check_mark::white_check_mark::white_check_mark::white_check_mark:Circom, PIL
joltRISC-V:x::x::x:Rust
midenMASM(Miden Assembly):x::x::white_check_mark::white_check_mark:Rust, Wasm
mozak vmRISC-V:x::x::x:Rust
nexusRISC-V:white_check_mark::white_check_mark::white_check_mark:Rust
o1vmMIPS:x::x::x:Go
olavmOla Assembly:x::x::white_check_mark:Ola Assembly
openvmRISC-V:white_check_mark::white_check_mark::white_check_mark:Rust
picoRISC-V:white_check_mark::white_check_mark::white_check_mark:Rust
powdrVMRISC-V:white_check_mark::white_check_mark::white_check_mark:ASM assembly
risc0RISC-V:white_check_mark::white_check_mark::white_check_mark::white_check_mark:Rust
sp1RISC-V:white_check_mark::white_check_mark::white_check_mark::white_check_mark:Rust
sphinxRISC-V:white_check_mark::white_check_mark::white_check_mark:Rust, Lurk
triton vmTriton Assembly:x::x::x:Triton Assembly
validaValida:x::x::x:Rust, C
ziskRISC-V:white_check_mark::white_check_mark::white_check_mark:PIL
zkmMIPS:white_check_mark::white_check_mark::white_check_mark:Rust, Go
zkWasmWasm:white_check_mark::white_check_mark::white_check_mark:C, C++, rust, etc (wasm compilable)

Technical details

Proof systems
  • Arithmetization: The process of turning an execution trace into an algebraic statement (polynomial equations) that can be verified.
  • Optimizations: Ingredients in the proof system that can optimize the size and complexity of the constraints overall.
  • Backends: The proof system, typically in the form of a (Polynomial) Interactive Oracle Proof (IOP) and Polynomial Commitment Scheme (PCS), used for the (typically non-interactive) prover-verifier checks.
  • Verifiers: Programs that can do the (typically non-interactive) verification given a proof and public inputs.
zkVMArithmetizationOptimizationsBackendsVerifiers
cairoAIRFRI
cairo mAIRLookupFRIRust
cenoGKRLookup, SumcheckBrakedownRust
eigen zkvmeAIRFRI, Groth16Solidity
joltR1CSLookup, Sumcheck, Offline Mem CheckSpartanWASM
midenAIR (winterfell)Lookup,WinterfellRust
mozak vmAIR (Starky)Lookup,FRIRust
nexusFolded Accumulated Relaxed R1CSAccumulated FoldingSpartan + {Zeromorph, PSE-Halo2 (KZG)}Rust
o1vmPlonkishLookupIPARust
olavmAIR (plonky2)LookupFRIRust
openvmAIR (plonky3), GKRFRIRust
picoAIR (plonky3)LookupFRIRust, Solidity
powdrVMAIR -ish (PIL, plonky3)-PSE-Halo2 (KZG), Plonky3, FRI(eSTARK)Solidity
risc0PLONKPlookupDEEP-FRI & ALIRust, Solidity
sp1AIR (plonky3)LookupFRIRust, Solidity
sphinxAIR (core), PLONK (wrap)Lookup,FRIRust
triton vmAIRLookup, ContiguityFRIRust
validaAIR (plonky3)FRI?
zisk????
zkmAIR (plonky2)Lookup,FRIRust
zkWasmPLONK-IPA?Rust

bench

Independent/third-party Benchmarks

  • Benchmarks of VM proving times made by Aligned | results code
  • Benchmarking of π2 ZK Metamath checkers | code, including results
  • definitive guide to zkVMs | article
  • Lurk 0.5 Benchmarks | article
  • benchmark of zkVMs and proving schemes | code
  • zkvm testing | article
  • prooflab benchmarks | page
  • Agglayer pessimistic Proof Benchmarks using zkVMs | code

papers

Cairo

Cairo M

Ceno

Jolt

Nexus

SP1

Risc Zero

EDEN

resources

tutorials / educational zkVM

awesome
zero-knowledge
zkvm

Contributors

rkdud007

23 commits

alexanderlhicks

17 commits

Savio-Sou

2 commits

saxenism

2 commits

rkdud007/awesome-zkvm

A curated list of zkVM, zero-knowledge virtual machine

329

56 commits

updated Sep 29, 2025

See the code

README

awesome zkVM

A curated list of zkVM, zero-knowledge virtual machine.

awesome list badge GitHub contributors pull requests welcome badge

Contributions and suggestions are always welcome; open issues or pull requests with any changes you want to be made.

contents

projects

[!NOTE]
Maintained by @0xpiapark and @alexanderlhicks. Some details may be outdated; feel free to open an issue or PR. For discussions on fair tracking methods, see the open issues.

  • ISA (Instruction Set Architecture): The fundamental “language” of the VM, defining all its basic operations and how they interact with data.
  • Continuations: Also known as chunking/sharding. A technique to break oversized computations — too big for a single run — into smaller segments that get proven individually and recursively (proof of segment n+1 includes the proving of segment n's verifier). How self-contained the proving of each segment is (no commitment passed from one segment to the other) and how efficiently parallelizatable it is (minimal inter-thread comm) differs from one implementation to another.
  • Precompiles (Built-ins, Chiplets, Accelerate etc): Specialized, pre-built functions for complex tasks (like cryptography) that boost efficiency and reduce proof overhead.
  • GPU: Indicates whether proving on GPU is supported (based on publicly exposed Metal/CUDA code).
  • Proving Frontend: The programming language the programmer expresses their business logic in, which then get compiled down into the VM’s supported ISA for constrained execution.
zkVMISAContinuationsParallelizable ProvingPrecompilesGPUFrontend
cairoCairo:x::x::white_check_mark:Cairo
cairo mCairo M:white_check_mark::x::x:Cairo M
cenoRISC-V:x::x::white_check_mark:Rust
eigen zkvmRISC-V:white_check_mark::white_check_mark::white_check_mark::white_check_mark:Circom, PIL
joltRISC-V:x::x::x:Rust
midenMASM(Miden Assembly):x::x::white_check_mark::white_check_mark:Rust, Wasm
mozak vmRISC-V:x::x::x:Rust
nexusRISC-V:white_check_mark::white_check_mark::white_check_mark:Rust
o1vmMIPS:x::x::x:Go
olavmOla Assembly:x::x::white_check_mark:Ola Assembly
openvmRISC-V:white_check_mark::white_check_mark::white_check_mark:Rust
picoRISC-V:white_check_mark::white_check_mark::white_check_mark:Rust
powdrVMRISC-V:white_check_mark::white_check_mark::white_check_mark:ASM assembly
risc0RISC-V:white_check_mark::white_check_mark::white_check_mark::white_check_mark:Rust
sp1RISC-V:white_check_mark::white_check_mark::white_check_mark::white_check_mark:Rust
sphinxRISC-V:white_check_mark::white_check_mark::white_check_mark:Rust, Lurk
triton vmTriton Assembly:x::x::x:Triton Assembly
validaValida:x::x::x:Rust, C
ziskRISC-V:white_check_mark::white_check_mark::white_check_mark:PIL
zkmMIPS:white_check_mark::white_check_mark::white_check_mark:Rust, Go
zkWasmWasm:white_check_mark::white_check_mark::white_check_mark:C, C++, rust, etc (wasm compilable)

Technical details

Proof systems
  • Arithmetization: The process of turning an execution trace into an algebraic statement (polynomial equations) that can be verified.
  • Optimizations: Ingredients in the proof system that can optimize the size and complexity of the constraints overall.
  • Backends: The proof system, typically in the form of a (Polynomial) Interactive Oracle Proof (IOP) and Polynomial Commitment Scheme (PCS), used for the (typically non-interactive) prover-verifier checks.
  • Verifiers: Programs that can do the (typically non-interactive) verification given a proof and public inputs.
zkVMArithmetizationOptimizationsBackendsVerifiers
cairoAIRFRI
cairo mAIRLookupFRIRust
cenoGKRLookup, SumcheckBrakedownRust
eigen zkvmeAIRFRI, Groth16Solidity
joltR1CSLookup, Sumcheck, Offline Mem CheckSpartanWASM
midenAIR (winterfell)Lookup,WinterfellRust
mozak vmAIR (Starky)Lookup,FRIRust
nexusFolded Accumulated Relaxed R1CSAccumulated FoldingSpartan + {Zeromorph, PSE-Halo2 (KZG)}Rust
o1vmPlonkishLookupIPARust
olavmAIR (plonky2)LookupFRIRust
openvmAIR (plonky3), GKRFRIRust
picoAIR (plonky3)LookupFRIRust, Solidity
powdrVMAIR -ish (PIL, plonky3)-PSE-Halo2 (KZG), Plonky3, FRI(eSTARK)Solidity
risc0PLONKPlookupDEEP-FRI & ALIRust, Solidity
sp1AIR (plonky3)LookupFRIRust, Solidity
sphinxAIR (core), PLONK (wrap)Lookup,FRIRust
triton vmAIRLookup, ContiguityFRIRust
validaAIR (plonky3)FRI?
zisk????
zkmAIR (plonky2)Lookup,FRIRust
zkWasmPLONK-IPA?Rust

bench

Independent/third-party Benchmarks

  • Benchmarks of VM proving times made by Aligned | results code
  • Benchmarking of π2 ZK Metamath checkers | code, including results
  • definitive guide to zkVMs | article
  • Lurk 0.5 Benchmarks | article
  • benchmark of zkVMs and proving schemes | code
  • zkvm testing | article
  • prooflab benchmarks | page
  • Agglayer pessimistic Proof Benchmarks using zkVMs | code

papers

Cairo

Cairo M

Ceno

Jolt

Nexus

SP1

Risc Zero

EDEN

resources

tutorials / educational zkVM

awesome
zero-knowledge
zkvm

Contributors

rkdud007

23 commits

alexanderlhicks

17 commits

Savio-Sou

2 commits

saxenism

2 commits