Build applications with zero-knowledge proofs
SP1 is a general-purpose zkVM that proves the execution of any RISC-V program. Write code in Rust and SP1 generates proofs.
How SP1 works
SP1 uses advanced cryptography to turn computation into a provable statement that anyone can verify the result without seeing the raw data.
- Write Rust
use rsa::RsaPublicKey; use sha2::{Digest, Sha256}; fn main() { let pk = sp1::io::read(); let msg = sp1::io::read(); let sig = sp1::io::read(); pk.verify(msg, sig)?; sp1::io::commit(true); }Write in native Rust and
reuse your existing libraries.
SP1 handles compilation to
RISC-V automatically. - Prove Execution
SP1 executes your RISC-V program
and generates a zero-knowledge
proof. - Verify OutputProve204msVerify24ms
Anyone can check the proof in milliseconds without re-executing the data or trusting the prover.
SP1 in production
SP1 turns zero-knowledge proving into infrastructure that teams can build on, powering blockchain rollups, digital asset settlement, and more.
Skip months of low-level ZK engineering with SP1.
Write Rust
curl -L https://sp1up.succinct.xyz | bash
# Restart your terminal, then run:
sp1up
cargo prove new --bare myproject
cd myproject/script
cargo run --release -- --prove