Aztec documentation
Build unstoppable private apps.
Aztec is a decentralized Ethereum L2 with fully programmable privacy. Private functions run and prove on the user's device, public functions run on the network, and you decide which is which. Build freely. Stay private.
The platform for unstoppable private apps
Aztec is a decentralized Layer 2 on Ethereum for building applications that are private by design, permissionless to use, and beyond the control of any single party. Smart contracts have both private and public functions and state. Private functions execute and are proven on the user's device, so sensitive data never reaches the network. Public functions run in the Aztec Virtual Machine. Aztec is not EVM compatible: contracts are written in Noir with the Aztec.nr framework. To learn how it all fits together, start with the foundational topics.
Why build on Aztec
Unstoppable by design
A decentralized L2 with over 3,000 validators and no centralized sequencer. No single party is in control, and the network is designed to keep operating independently of its creators.
Run a nodePrivacy without privileged access
No network-wide viewing key and no special access for operators. Private transactions execute and are proven on the user's device, so privacy is enforced by cryptography rather than entrusted to an intermediary.
How the PXE worksFully programmable freedom
Composable smart contracts with privacy built in. You decide which functions are private and which are public, and private calls stay confidential across entire contract call chains.
Private and public functionsBuilt on breakthrough technology
Fast client-side zero-knowledge proofs, pioneering cryptography including PLONK, and a roadmap toward post-quantum security. Secured by Ethereum and powered by $AZTEC for staking, governance, and fees.
Explore the circuitsBuilding blocks
Private functions
Execute and prove functions on a user's device, keeping logic and data confidential.
Public functions
Execute transparent operations in the Aztec Virtual Machine when visibility is needed.
Private state
Store data as encrypted UTXOs that only the owner can decrypt and access.
Public state
Maintain transparent state in a public Merkle tree when required by your application.
Composability
Compose private and public execution with private and public state across contracts.
L1 to L2 messaging
Send public and private messages between Ethereum and Aztec.