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
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.
SP1 has undergone audits from Veridise, Cantina, and KALOS and is recommended for production use. The audit reports are available here.
The current MSRV (minimum supported Rust version) is 1.79.
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!
We would like to acknowledge the projects below whose previous work has been instrumental in making this project a reality.