Prerequisites
Jolt requires Rust nightly version 1.88 with RISC-V target support.Install rustup
If you don’t have Rust installed, get rustup from rustup.rs:After installation, restart your terminal or run:
Clone the Jolt repository
Clone the repository to access the CLI source:
The repository includes a
rust-toolchain.toml file that automatically configures the correct Rust version and targets when you run cargo commands.Verify the toolchain
Check that rustup has activated the correct toolchain:You should see output indicating:
- Rust channel: 1.88
- Targets: riscv32imac-unknown-none-elf, riscv64imac-unknown-none-elf
Install the Jolt CLI
Build and install the This compiles the Jolt CLI and places it in
jolt command-line tool:~/.cargo/bin/. The installation may take a few minutes.Jolt CLI Commands
The Jolt CLI provides several commands for working with zkVM projects:jolt new
Creates a new Jolt project with the specified name:
src/main.rs- Host program that compiles, proves, and verifies the guestguest/- Guest program directory containing provable functionsCargo.toml- Workspace configuration with Jolt dependenciesrust-toolchain.toml- Rust toolchain specification
jolt build
Builds a guest program for the Jolt zkVM:
- Compiles guest code to RISC-V ELF binaries
- Applies Jolt-specific optimizations (
-Copt-level=3,-Cpasses=lower-atomic) - Configures the custom linker script for zkVM memory layout
- Strips symbols by default (use
JOLT_BACKTRACE=1to preserve them)
jolt run
Runs an ELF binary on the Jolt emulator:
jolt generate
Generates target specifications or linker scripts:
Environment Variables
Customize Jolt’s behavior with these environment variables:| Variable | Default | Description |
|---|---|---|
JOLT_GUEST_OPT | 3 | Guest optimization level (0, 1, 2, 3, s, z) |
JOLT_BACKTRACE | (unset) | Enable backtrace support. Set to 1 for symbols, full for detailed traces |
JOLT_EMU_PATH | (auto-detected) | Path to jolt-emu binary |
Next Steps
Quickstart Guide
Create your first provable function
Examples
Explore example projects