RISC Zero offers a fully open-source prover that runs on your local machine. You can generate proofs using your own hardware without relying on external services, which is especially important when working with private data.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/risc0/risc0/llms.txt
Use this file to discover all available pages before exploring further.
When to Use Local Proving
For most use cases, we recommend remote proving using Boundless. However, local proving is essential when:- Working with private data: Whoever generates the proofs can see all information involved. With local proof generation, your private data never leaves your machine.
- Development and testing: Quickly iterate on your zkVM applications without network latency.
- Custom infrastructure: You need full control over the proving environment.
Supported Hardware
RISC Zero’s proving system supports multiple hardware targets for optimal performance.When memory is constrained (less than 10 GB available), you may need to adjust the segment size limit.
CPU Proving
RISC Zero proving runs on nearly any modern CPU (x86 or ARM). This is the easiest to set up and most portable option, though it may not provide the highest performance.NVIDIA GPU Proving
RISC Zero is highly optimized for NVIDIA GPUs using the CUDA framework. This provides significant performance improvements over CPU proving.# Install driver install tool
sudo apt install ubuntu-drivers-common
# Install NVIDIA drivers
sudo ubuntu-drivers install
# Install build tools
sudo apt install build-essential libssl-dev -y
# Install CUDA toolkit
sudo apt install cuda-toolkit -y
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
Apple Metal Proving
On macOS with Apple Silicon (M-series processors), RISC Zero automatically uses the integrated Metal compute cores for acceleration. No additional configuration is required - Metal support is automatically detected and enabled on compatible hardware.Basic Proving Example
Here’s a complete example showing local proof generation:Choosing Receipt Types
Local proving supports different receipt types depending on your needs:Performance Considerations
- GPU vs CPU: GPU proving can be 10-100x faster than CPU proving, depending on the workload
- Memory: Ensure sufficient RAM for large computations (minimum 8GB recommended, 16GB+ for complex proofs)
- Segment Size: Adjust the segment limit if you encounter memory constraints
Next Steps
Remote Proving
Learn about Boundless for scalable remote proving
Proof Composition
Compose multiple proofs together efficiently