Skip to main content
The Jolt CLI is the primary tool for working with the Jolt zkVM. It provides commands for creating projects, building guest programs, and running binaries on the Jolt emulator.

Installation

Install the Jolt CLI using cargo:
Verify the installation:

Available Commands

The Jolt CLI provides the following commands:

Common Workflows

Creating a New Project

Start by creating a new Jolt project:
This creates a workspace with:
  • Host code in src/
  • Guest code in guest/src/
  • Pre-configured Cargo.toml files
  • Rust toolchain configuration

Building Guest Programs

Build your guest program for the Jolt zkVM:
For release builds with optimizations:

Running on the Emulator

Execute a compiled guest binary on the Jolt emulator:

Environment Variables

The CLI respects several environment variables for configuration:

Build Configuration

string
default:"3"
Controls the optimization level for guest builds. Valid values: 0, 1, 2, 3, s, z.
string
Enables backtrace support for guest panics. Preserves symbols in the ELF for debugging.
  • 1 - Enable backtraces with function names and file:line info
  • full - Include register snapshots and cycle counts per frame

Emulator Configuration

path
Path to the jolt-emu binary. If not set, the CLI searches PATH and common locations.

Logging

string
Controls log level output. Set to info, debug, or trace for more verbose output.

Target Architecture

Jolt targets RISC-V 64-bit with the following extensions:
  • RV64I - Base Integer Instruction Set
  • M - Integer Multiplication and Division
  • A - Atomic Instructions
  • C - Compressed Instructions
The default target triple is riscv64imac-unknown-none-elf for no_std guests.

Build Modes

No-std Mode (Default)

Builds guest programs without the Rust standard library:
Target: riscv64imac-unknown-none-elf

Std Mode

Builds with standard library support using musl libc:
Target: riscv64imac-zero-linux-musl This mode automatically installs or builds the required toolchain components (musl, gcc libs) if not already present.

Next Steps

jolt new

Create new Jolt projects

jolt build

Build guest programs with all options

jolt run

Run binaries on the emulator