Skip to content

Home > Tooling & Applications > Noir

Noir

Description

A Rust-like domain-specific language for writing ZKP circuits. Compiles to ACIR, which is then proved by a backend (default: Barretenberg). Designed for developer ergonomics โ€” no PhD required. Very actively maintained by Aztec Protocol but moves fast and has frequent breaking changes.

Evaluation

Criterion Value
Based on ACIR + Barretenberg (UltraHonk)
Easiness easy
Fast and short (<1s, <1MB) yes
Post-quantum no (Barretenberg is pairing-based)
Mobile and web possible (libraries for older versions exist; not tested by C4DT)
Maintained yes โ€” very active, but moves a lot
Open source yes
Security review no
secp256k1 signature + sha256 yes

Notes

Very complex internally โ€” implements a full compiler pipeline with optimizations. Potential for bugs. More trusted alternatives (e.g., Circom) exist for stability. The mobile/web story relies on third-party WASM builds.

Based on

ACIR, UltraHonk

Resources