Search for projects by name or address
Aztec Network is a privacy-preserving ZK rollup that uses the AztecVM and Noir to support private and public smart contracts on Ethereum.
Tokens breakdown
Aztec Network is a privacy-preserving ZK rollup that uses the AztecVM and Noir to support private and public smart contracts on Ethereum.
Users can permissionlessly become a sequencer by staking 200 K AZTEC to join the queue and wait to obtain committee-based block production rights. If the pseudo-randomly sampled committees censor proposals, anyone who bonds 332 M AZTEC will join the escape hatch candidate set. Every 2d 23h, a candidate is pseudo-randomly selected to propose and prove checkpoints fully autonomously. A candidate remains in the set until they are selected or leave voluntarily.
SNARKs are succinct zero knowledge proofs that ensure state correctness, but require trusted setup.
All of the data (SD = state diffs) needed for proof construction is published onchain.
Users have 10d to exit funds in case of an unwanted regular upgrade. There is a 1mo delay before a regular upgrade is applied, and withdrawal inclusion via the decentralized sequencer set is probabilistic and simulated to take up to 20d to be processed. Although core contracts are immutable, the onchain Governance system can designate a new ‘canonical’ rollup with a 1mo delay and has access to critical configuration permissions that can freeze or compromise the Rollup system, counting as an upgrade for the exit window.
Checkpoint proposals come from the open sequencer set, with the escape hatch providing a bonded fallback if the sampled committees are censoring or unavailable. Anyone with access to the required hardware can submit epoch root proofs which finalize the proven checkpoints.

Each epoch root proof is verified by the HonkVerifier smart contract on Ethereum before the proven checkpoint number is advanced and the epoch outbox state root is inserted into the Outbox. Proving is permissionless, and a single proof can cover one Checkpoint (1m 12s) to one epoch (38m 24s). Unproven checkpoints are pruned after the proof submission window of 1h 16m expires.
The rollup only advances the proven chain after submitEpochRootProof() succeeds. That call verifies the epoch proof and then inserts the epoch outbox state root for L2->L1 messaging.
Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract.
Each stake of 200 K AZTEC that is locked to join the sequencer set and vote in governance can be slashed under certain conditions. Slashing is voted on by sequencers each time they propose a checkpoint and is grouped in rounds that span 4 epochs (2h 33m) each.
Slashing conditions are programmed into each sequencer node and can be changed by node operators by updating or editing their node software. Nodes usually submit votes to slash automatically on L1. The TallySlashingProposer contract only enforces the formalities of the slashing system:
Slashing penalties are defined onchain in three levels: large (2.00 K AZTEC), medium (2.00 K AZTEC), and small (2.00 K AZTEC). Offenses that lead to slashing usually include:
The above offense list is not exhaustive and not defined onchain but usually in the software the sequencers decide to run. This is also where the mapping of offenses to the slashing penalty levels can be defined.
The SlashVeto Council is a 5/9 Multisig that can veto specific proposals and/or all slashing for 3d at a time.

Because sequencers stake AZTEC tokens to secure the L2 network, they are also the primary governors of the system. Any governance proposal must be encoded and deployed as a smart contract payload on Ethereum. While core contracts are immutable, the onchain Governance system can designate a new ‘canonical’ rollup with a 1mo delay and has access to critical configuration permissions that can freeze or compromise the Rollup system. These permissions can only be accessed through the process described below.
GovernanceProposer)Aztec uses an onchain “Empire” signaling system. Active sequencers operating on the ‘canonical rollup’ (as defined by the Registry) call signal(payloadAddress) on the L1 GovernanceProposer contract during their designated L2 slots to support a specific upgrade payload. A voting round consists of 1,000 slots. To win a round and become a formal proposal, a payload must receive signals from at least 600 slots. Once quorum is reached, the payload is submitted to the L1 Governance contract.
Governance)Once submitted, the proposal enters a delay and voting flow:
yea votes must exceed a required margin of 33%.execute(). If not executed, it expires.Total standard delay from proposal to execution: 1mo 10d.
If the L2 sequencer set is offline, censoring, or acting maliciously, the GovernanceProposer cannot be used. To ensure liveness, anyone can bypass the Sequencer signaling phase using the proposeWithLock() function directly on the Governance contract.
The smart contract code of Rollup, its verifier and its canonical messaging contracts cannot be changed. However, Governance owns critical permissions for configuration parameters that can freeze the L2 indefinitely. ‘Upgrading’ a Rollup contract involves a Governance action that designates a new Rollup contract address as canonical. The GSE (Governance Staking Escrow) automatically migrates the voting power and stake of all active sequencers to the new rollup version if they staked to the default magic address 0x9064Fb41156D300196d5Eb95E0B3c1f08eBc39a8 instead of a specific immutable rollup. Importantly, Governance retains ownership of the old rollup, with the permissions to freeze it in the same or any future governance proposal. In summary and practice, the current Aztec rollup system is not immutable and prone to governance changes with the configured 1mo delay.
Aztec features onchain slashing for equivocation or missing attestations, managed by Slasher and TallySlashingProposer.
There is a protective Vetoer role held by the SlashVeto Council. The Council cannot upgrade the protocol, alter governance, or steal funds. Instead it is limited to two permissions:
vetoPayload() to stop a specific slashing event.setSlashingEnabled(false), which pauses all slashing in the protocol for a period of 3d.CoinIssuer contract is owned by Governance and is authorized to mint new AZTEC tokens up to a cap of 20%.ProtocolTreasury. The Treasury has a hardcoded timestamp (approx. Nov 2026). Before this date, the DAO cannot spend Treasury funds. After this date, Treasury funds and token ownership can be moved with a Governance Proposal.Joining the sequecer set is permissionless and requires staking 200 K AZTEC. For each epoch, the rollup samples a 48-member committee from the active sequencer set of 0 and selects one proposer per slot. The committe and regular sequencer set can be circumvented via the escape hatch, which designates a bonded proposer (via RANDAO) who can publish checkpoints without committee attestations.
The user initiates L2->L1 messages by submitting a regular transaction on this chain. When the block containing that transaction is settled, the message becomes available for processing on L1. ZK proofs are required to settle blocks. Once the epoch root proof is verified, the rollup inserts the epoch root into the Outbox, from which withdrawals and other L2->L1 messages can be consumed on Ethereum. Withdrawals can be triggered privately on L2, revealing only the L1 part of the withdrawal.

DAO contract used for proposals and token voting. Heavily interdependent with the GSE for voting power snapshots.
Intermediary contract that allows the L2 Sequencers operating the canonical rollup (as defined by the Registry) to submit formal proposals to the L1 Governance contract by signalling their support of any smart contract payload on L1 with each checkpoint proposal. A signalling round comprises 1000 checkpoints. 600 signals or more during one round allow submitting the payload as a governance proposal.
Manages the inflation and minting schedule of the Aztec token. It enforces an annual percentage cap and mints new tokens for the budget.
A Multisig with 5/9 threshold.


ZK proof verification contract.
Provides a fallback mechanism for block production if the primary sequencer committee fails or censors. The committee is circumvented by allowing proposals by anyone who is able to post a large bond of 332,000,000 AZTEC. It maintains a set of bonded candidates and deterministically selects a designated proposer for a given ‘hatch’ period using RANDAO. If the designated proposer fails to propose and prove, their bond is slashed by 9,600,000 AZTEC. The minimum tax deducted from their bond is 1,660,000 AZTEC, even if the proposal is successful. The escape hatch regularly opens every 112 epochs, given there are any bonded candidates.
Core rollup logic contract. It processes checkpoint proposals, verifies ZK proofs for state transitions, manages data availability, and coordinates validator selection and chain tip updates.
Central directory that tracks the current ‘canonical’ (active) Rollup contract address and key system contracts like the Reward Distributor.
Central staking manager independent of Rollup implementations. Sequencers deposit stake here through their chosen Rollup contract. Their stake is then transfered to the Governance contract and activated for voting. The GSE tracks which rollup instance validators are securing, and gives them an option to automatically move to the latest Rollup version.
One-way gas bridge: Escrows the fee asset (AZTEC) used to pay for L2 mana (gas). Users deposit tokens here, which are minted on L2 via the Inbox. The Rollup contract holds exclusive rights to withdraw tokens from this portal to distribute them as rewards to L1 sequencers and provers. Apart from that, this escrow does NOT afford a way to withdraw tokens.

Facilitates canonical L1 to L2 communication. It accepts messages (including fee asset deposits) from L1, accumulates them in an append-only frontier tree per checkpoint, and forces the Sequencers and the Rollup contract to sequentially consume the roots of these message trees, ensuring message inclusion.
Calculates ‘boosted’ reward shares for active provers based on a configured curve, incentivizing consistent participation.
Holds tokens allocated for protocol rewards. The canonical Rollup contract (as defined by the Registry) calls this to distribute payments to sequencers and provers.
The executor contract for penalties. It receives authorization to slash validator stakes, subject to an execution delay and a vetoer.
Holds the protocol’s funds controlled by Governance. It acts as a timelocked executor for spending or relaying transactions approved by the DAO.
AZTEC token contract
Allows the validator committee to vote on slashing a specific peer. Once a quorum is reached, it proposes a slash action to the Slasher.
A template for specific slashing payload contracts deployed deterministically to encode a slashing action (who to slash and how much) that the Slasher executes.
Used to set the time at which AZTEC tokens owned by the ProtocolTreasury are unlocked.