Skip to main content

Zero-knowledge virtual machine for private computations

Build decentralized applications with privacy-preserving smart contracts on Aleo. SnarkVM provides cryptographic primitives, program synthesis, and proof generation for the next generation of blockchain applications.

Quick start

Get up and running with SnarkVM in minutes

1

Install SnarkVM

Add SnarkVM to your Rust project’s Cargo.toml:
Cargo.toml
Or install from source:
2

Import the prelude

The prelude provides commonly used types and traits:
3

Create an account

Generate a new private key and derive the corresponding address:
4

Execute your first transaction

Initialize the VM and execute a program:
This example executes the transfer_private function from the credits.aleo program. You can execute any deployed program using the same pattern.

Core capabilities

Everything you need to build privacy-preserving applications

Zero-knowledge proofs

Generate and verify SNARKs with Varuna and Marlin proving systems

Program synthesis

Compile and execute Aleo programs with the synthesizer

Cryptographic primitives

Use Poseidon hashing, polynomial commitments, and elliptic curves

Account management

Create and manage private keys, view keys, and addresses

Blockchain ledger

Interact with blocks, transactions, and consensus mechanisms

WASM integration

Run SnarkVM in the browser with WebAssembly bindings

Ready to build with SnarkVM?

Start building privacy-preserving applications on Aleo. Follow our quickstart guide to deploy your first zero-knowledge program.

Get started now