Documentation Index
Fetch the complete documentation index at: https://mintlify.com/provablehq/snarkvm/llms.txt
Use this file to discover all available pages before exploring further.
What is SnarkVM?
SnarkVM is a decentralized virtual machine designed for zero-knowledge proof execution on the Aleo blockchain. It provides a complete toolkit for building privacy-preserving applications with cryptographic guarantees.SnarkVM is the core virtual machine that powers the Aleo network, enabling developers to build applications with native privacy features.
Key Features
Zero-Knowledge Proof Execution
Execute programs with cryptographic proof generation, ensuring privacy and correctness without revealing sensitive data.
Modular Architecture
Built with a clean separation of concerns across multiple crates:
- Console: Plaintext VM types (Address, Field, Group, Scalar)
- Circuit: Constraint system equivalents for proof generation
- Synthesizer: Program execution and proof synthesis
- Ledger: Blockchain state management
Cryptographic Primitives
Includes battle-tested implementations of:
- Poseidon hash functions
- BLS12-377 elliptic curves
- Varuna SNARK proofs
- Polynomial commitments
Architecture Overview
SnarkVM follows a layered architecture where each crate builds upon lower-level components:Core Crates
| Crate | Description |
|---|---|
snarkvm-algorithms | Cryptographic primitives (Poseidon, Marlin, Polycommit) |
snarkvm-circuit | Arithmetic circuits for constraint systems |
snarkvm-console | Plaintext VM types and program execution |
snarkvm-curves | Elliptic curve implementations |
snarkvm-fields | Finite field arithmetic |
snarkvm-ledger | Blockchain state (blocks, transactions, storage) |
snarkvm-synthesizer | Program execution and proof generation |
snarkvm-utilities | Parallel primitives and helper functions |
Who Should Use SnarkVM?
SnarkVM is ideal for:- Blockchain Developers building privacy-preserving applications on Aleo
- Cryptography Researchers working with zero-knowledge proof systems
- Application Developers needing verifiable computation with privacy guarantees
- Protocol Engineers implementing custom cryptographic protocols
Design Principles
Backwards Compatibility
All changes must be backwards compatible to prevent network forks. The codebase is deployed in production, so modifications that alter consensus behavior require version gating.Safety and Security
Performance
SnarkVM uses parallel execution withrayon where appropriate and includes CUDA support for GPU acceleration of cryptographic operations.
Version Information
- Current Version
- License
Version: 4.4.0Rust Version: 1.88.0 or higherEdition: 2024
Next Steps
Installation
Install SnarkVM and set up your development environment
Quick Start
Build your first SnarkVM application