Home > Tooling & Applications
Tooling & Applications¶
Concrete tools, libraries, and frameworks for building ZKP applications. Grouped by category.
Also includes concept notes on zkVMs, Circuits, and Sumcheck-based proofs.
Circuit DSLs¶
Languages for writing arithmetic circuits without touching the underlying proof system directly.
| Note | Status | Description |
|---|---|---|
| Noir | active | Rust-like DSL by Aztec; compiles to ACIR, targets UltraHonk/Barretenberg |
| Circom2 | active | Template-based circuit language; outputs R1CS; widely used in production |
| ZoKrates | deprecated | Early high-level ZKP DSL; R1CS backend |
Proving Libraries¶
Low-level backends and libraries that implement proof systems.
| Note | Status | Description |
|---|---|---|
| Barretenberg | active | Aztec's C++ proving library; implements HONK and UltraHonk; Noir's default backend |
| Halo2 | maintained | Zcash/EFF PLONKish proving system in Rust; wide ecosystem adoption |
| gnark | active | Fast Go library supporting Groth16 and PLONK; production-grade |
| Spartan Framework | maintained | Microsoft Research's Rust library for Spartan-based proofs |
| Ligero Prover | active | Implementation of the Ligero MPC-in-the-head proof system |
| Docknetwork | maintained | Rust crypto library; includes BBS+ signatures and ZK credential primitives |
| Powdr | active | Modular ZKP stack; supports multiple backends (Halo2, eSTARK, Plonky3) |
zkVMs¶
Zero-knowledge virtual machines that prove the execution of arbitrary programs.
| Note | Status | Description |
|---|---|---|
| RISC-Zero | active | zkVM for RISC-V programs; uses FRI/STARK-based proving |
| SP1 | active | Succinct Labs' RISC-V zkVM; targets fast prover with Plonky3 backend |
| OpenVM | active | Modular zkVM framework with extensible instruction sets |
| Pico | active | Lightweight zkVM focused on performance and composability |
| Valida | deprecated | Early custom-ISA zkVM from Lita Foundation |