Home > Circuit Tooling
Circuit Tooling¶
Last modified: 2026-10-27
Circuit DSLs and proving libraries for circuit-based proofs. zkVMs are in zkVMs, Sigma-based libraries in Sigma Proofs.
Also includes concept notes on 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 |