Jolt Alpha

Jolt is a RISC-V zkVM uniquely designed around sumcheck and lookup arguments (Just One Lookup Table).

Jolt is fast (state-of-the-art performance on CPU) and relatively simple (thanks to its lookup-centric architecture).

This book has the following top-level sections:

  1. Intro (you are here)
  2. Usage (how to use Jolt in your applications)
  3. How it works (how the proof system and implementation work under the hood)
  4. Roadmap (what's next for Jolt)

Papers

Jolt: SNARKs for Virtual Machines via Lookups
Arasu Arun, Srinath Setty, Justin Thaler

Twist and Shout: Faster memory checking arguments via one-hot addressing and increments
Srinath Setty, Justin Thaler

Unlocking the lookup singularity with Lasso
Srinath Setty, Justin Thaler, Riad Wahby

Blog posts

Initial launch:

Updates:

  • Nov 12, 2024 blog video
  • Aug 18, 2025 (Twist and Shout upgrade) blog

Background

Credits

Jolt was initially forked from Srinath Setty's work on microsoft/Spartan, specifically the arkworks-rs/Spartan fork in order to use the excellent arkworks-rs field and curve implementations. Jolt uses its own fork of arkworks-algebra with certain optimizations, including some described here. Jolt's R1CS is also proven using a version of Spartan (forked from the microsoft/Spartan2 codebase) optimized for Jolt's uniform R1CS constraints. Jolt uses Dory as its PCS, implemented in spaceandtimefdn/sxt-dory.