
Noir
The language behind the smart contracts.
Open source and stable at 1.0. Every private, unstoppable smart contract on Aztec is written in Noir, from the functions proving on your device to the circuits securing the network.
Where Noir fits in.
Noir makes it easy to write smart contracts with both private or public state, deployed to the Aztec Network.
Noir
The language. Rust-like syntax, a stable 1.0, and a compiler that turns rules into proofs.
Explore the languageAztec.nr
The contract framework, written in Noir: storage, notes, nullifiers, private and public functions. It targets Noir 1.0 from Aztec Tierra.
Write a contractAztec
The Ethereum L2 that runs the public side and verifies the proofs, secured by 3,000+ sequencers.
How the network worksProve something is true without revealing the value.
One command installs Nargo, the Noir toolchain.
A program is a function. Arguments are private unless marked pub.
Run it against your inputs and check the constraints hold.
Generate a proof anyone can verify. On Aztec, that proof is your transaction.
fn main(age: u8) -> pub bool {
// Prove the user is an adult
// without revealing their age.
age >= 18
}# Install Nargo, the Noir toolchain
curl -L https://raw.githubusercontent.com/noir-lang/noirup/refs/heads/main/install | bash
noirup
# Start a project and run it
nargo new hello_world
cd hello_world
nargo check
nargo executeAlready built on Noir.
Identity, email, payments, social. The same language and compiler behind Aztec.
The leading platform for unstoppable private apps on Ethereum. Every one of its smart contracts is written in Noir, through Aztec.nr.
Verify nationality, age, or status from a passport without revealing the document.
Prove who sent an email, or what it said, without exposing the mailbox.
Post anonymously while proving you belong to the organisation.
Compute over data while protecting the identity behind it.
Anonymous posting, backed by a proof that you were allowed to post.
Private Bitcoin payments on the same proving toolchain.
Questions, answered.
What language are Aztec contracts written in?
Noir, an open-source language for zero-knowledge programs with Rust-like syntax, created by the Aztec team. Aztec contracts are written in Noir through the Aztec.nr framework, which adds storage, notes, nullifiers, and private and public functions. Noir also works with any proving backend and is used by projects outside Aztec.
Can Noir be used outside Aztec?
Yes. Noir is an open-source language for zero-knowledge programs, created by the Aztec team and used well beyond Aztec. It works with any proving backend and runs in a browser, on a server, on a phone, or on another chain. ZKPassport, ZK Email, Payy, and StealthNote are written in Noir without running on Aztec.
What changed in Noir 1.0?
Noir 1.0 is the first stable release. Syntax and semantics are stable across the 1.x series, the Nargo toolchain follows semantic versioning and can be pinned with noirup, the ACIR output is stable for proving backends, and the compiler has been through internal and external audits, fuzzing, and bytecode verification. For Aztec builders that means contracts keep compiling and the toolchain can be pinned; Aztec.nr targets Noir 1.0 from Aztec Tierra.