OpenVM

A performant and modular zkVM framework built for customization and extensibility

OpenVM is an open-source zero-knowledge virtual machine (zkVM) framework focused on modularity at every level of the stack. OpenVM is designed for customization and extensibility without sacrificing performance or maintainability.

Key Features

  • Modular no-CPU Architecture: Unlike traditional machine architectures, the OpenVM architecture has no central processing unit. This design choice allows for seamless integration of custom chips, without forking or modifying the core architecture.

  • Extensible Instruction Set: The instruction set architecture (ISA) is designed to be extended with new custom instructions that integrate directly with the virtual machine. Current extensions available for OpenVM include:

    • RISC-V support via RV32IM
    • A native field arithmetic extension for proof recursion and aggregation
    • The Keccak-256 and SHA2-256 hash functions
    • Int256 arithmetic
    • Modular arithmetic over arbitrary fields
    • Elliptic curve operations, including multi-scalar multiplication and ECDSA signature verification, including for the secp256k1 and secp256r1 curves.
    • Pairing operations on the BN254 and BLS12-381 curves.
  • Rust Frontend: ISA extensions are directly accessible through a Rust frontend via intrinsic functions, providing a smooth developer experience.

  • On-chain Verification: Every VM made using the framework comes with out-of-the-box support for unbounded program proving with verification on Ethereum.

Using This Book

The following chapters will guide you through:

Security Status

As of the v1.0.0 release in March 2025, OpenVM is recommended for production use. OpenVM completed an external audit on Cantina from January to March 2025 as well as an internal audit by members of the Axiom team during the same timeframe.

📖 About this book

The book is continuously rendered here! You can contribute to this book on GitHub.