OpenVM
The modular zkVM framework
Architecture
OpenVM is modular, giving you the flexibility to adopt ZK regardless of your language or stack, and to optimize for every last bit of performance.
Most zkVMs replicate the design of physical processors. We reimagined the zkVM from first principles for modularity.

A no-CPU architecture built for ZK, not physical computers
Traditional zkVMs were based on the constraints of physical processors, not ZK. OpenVM’s composable design allows execution traces to be distributed across different circuits, minimizing redundant computations and enabling modular extensions.

Extensions for anything you need
All functionality in OpenVM, including RISC-V execution, proof aggregation, and elliptic curve operations, is implemented through VM extensions. Developers can use existing extensions like RV32IM, Keccak, SHA2, bigint, or elliptic curve arithmetic, or implement their own VM extensions without forking.
Features
Fully featured, out-of-the-box
OpenVM is MIT / Apache 2.0-licensed and production-ready
Compile Rust to OpenVM assembly directly using our RISC-V toolchain.
Prove Ethereum mainnet blocks for under $0.001 per transaction on our open-source end-to-end GPU prover.
Achieve the highest security assurance with formally verified support for RISC-V.
Rely on 100 bits of provable, post-quantum security.
Prove unbounded executions in parallel with continuations and proof aggregation.
Verify proofs on-chain using our Solidity SDK.
Add custom VM extensions without forking or modifying the core OpenVM libraries.
