Skip to content

succinctlabs/sp1

Folders and files

NameName
Last commit message
Last commit date
Mar 21, 2025
Dec 31, 2024
Oct 27, 2024
Jan 29, 2025
Mar 26, 2025
Mar 18, 2025
Mar 22, 2025
Mar 6, 2025
Dec 21, 2024
Feb 26, 2025
Feb 26, 2025
May 8, 2024
Dec 21, 2024
Mar 22, 2025
Mar 22, 2025
Nov 16, 2024
Jan 11, 2025
Mar 3, 2025
Dec 14, 2023
Dec 14, 2023
Feb 22, 2025
Feb 4, 2025
Jan 6, 2025
Nov 7, 2024
Mar 1, 2024
Sep 4, 2024
Aug 23, 2024
Mar 3, 2025
Dec 21, 2024

SP1

SP1

SP1 is the fastest, most-feature complete zero-knowledge virtual machine (zkVM) that can prove the execution of arbitrary Rust (or any LLVM-compiled language) programs. SP1 makes ZK accessible to any developer, by making it easy to write ZKP programs in normal Rust code.

Install | Docs | Examples | Telegram Chat

Getting Started

Today, developers can write programs, including complex, large programs like a ZK Tendermint light client or type-1 zkEVM using Reth, in Rust (with std support), generate proofs and verify them. Most Rust crates should be supported and can be used seamlessly by your program. Example programs can be found in the examples folder.

To get started, make sure you have Rust installed. Then follow the installation guide in the SP1 book and read the getting started section.

Security

SP1 has undergone audits from Veridise, Cantina, and KALOS and is recommended for production use. The audit reports are available here.

Supported Rust Versions (MSRV)

The current MSRV (minimum supported Rust version) is 1.79.

For Contributors

Open-source is a core part of SP1's ethos and key to its advantages. We wish to cultivate a vibrant community of open-source contributors that span individuals, teams and geographies. If you want to contribute, or follow along with contributor discussion, you can use our main Telegram to chat with us. Our contributor guidelines can be found in CONTRIBUTING.md. A quick overview of development tips can be found in DEVELOPMENT.md.

We are always looking for contributors interested in tasks big and small, including minor chores across the codebase, optimizing performance, adding precompiles for commonly used cryptographic operations, adding documentation, creating new example programs and more. Please reach out in the Telegram chat if interested!

Acknowledgements

We would like to acknowledge the projects below whose previous work has been instrumental in making this project a reality.

  • Plonky3: The SP1's prover is powered by the Plonky3 toolkit.
  • Valida: The SP1 cross-table lookups, prover, borrow macro, and chip design, including constraints, are inspired by Valida.
  • RISC0: The SP1 rust toolchain, install/build scripts, and our RISCV runtime borrow code from RISC0.
  • Cairo: Cairo introduced the idea of "builtins" which allow zkVMs to accelerate certain operations. However, the complexity of "builtins" was embedded in the CPU, limiting their complexity. SP1 extends this idea by executing on a vision of easily extensible "precompiles" that can be added as additional tables alongside the CPU.