Practical overview
When it fits
Use it when another party needs to verify that code ran correctly, while the proof should expose the journal output rather than the computation’s inputs or intermediate state.
Who it is for
- Developers building applications that produce proofs of general computations.
- Teams creating verifiable-computation services with zk-STARKs.
- Zero-knowledge application developers targeting RISC-V.
- Engineers integrating cryptographic verification of computational results.
Documented uses
- Compile supported Rust, C or C++ code into a RISC-V method.
- Run and prove a method inside the RISC Zero zkVM.
- Publish or pass a receipt containing the computation journal and cryptographic seal.
- Verify a receipt and inspect the declared computation output.
Requirements & limits
The repository is public and lists an Apache-2.0 licence. The documented developer workflow uses Rust, the rzup installer and cargo risczero. The repository recommends using the latest release for applications and examples rather than the main development branch.
- The execution model is a RISC-V-emulating zkVM, so application code needs a compiler toolchain targeting RISC-V.
- Rust, C and C++ SDK support is identified in the repository documentation.
- Verification depends on the receipt, its journal and the method’s image ID.
- The framework’s privacy property applies to inputs and execution state not revealed through the journal; journal contents remain visible to the verifier.
- The repository describes a three-layer recursive proof system based on zk-STARK and Groth16 protocols and gives default parameters of perfect zero-knowledgeness and 98 bits of conjectured security.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up a RISC Zero project scaffold
Install the RISC Zero toolchain and create the initial project structure.
Before you start
- Rust installed.
- A supported Linux, macOS or Windows development environment.
- Network access for the documented installer and toolchain commands.
Steps
Install the RISC Zero toolchain installer, rzup, with the documented installer command.
Run rzup install to install the RISC Zero toolchain.
Run cargo risczero --version to verify the tool installation.
Run cargo risczero new my_project to create a new project.
Expected outcome
A new RISC Zero project is created with the standard initial structure.
Guide limitations
- This recipe covers toolchain setup and project creation; it does not document building, proving or verifying a specific application.
- The repository recommends using the latest release for applications and examples rather than the main development branch.
Compare options for Zero-knowledge verification
These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.
| Project | Documented purpose | Platform | Access and requirements |
|---|---|---|---|
| RISC Zero | Compile supported Rust, C or C++ code into a RISC-V method. | CLI, Desktop, Linux, macOS | The repository is public and lists an Apache-2.0 licence. The documented developer workflow uses Rust, the rzup installer and cargo risczero. The repository recommends using the latest release for applications and examples rather than the main development branch. |
| ProvenZK | Represent circuit gates and vectors in Lean | CLI, Linux, macOS, Windows | The repository is publicly accessible, open source and licensed under Apache-2.0. It is presented as a Lean 4 library for projects using the lake tool. |
| Picus | Detect under-constrained signals in a zero-knowledge circuit | CLI | The repository is public and released under the MIT license. Installation and local builds are documented through Cargo, with Docker also provided as a build and run path. The default native solver does not require an external solver. |
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 3 October 2026
- Original website title
- risc0/risc0 · Official homepage title · retained in its source language

