> For the complete documentation index, see [llms.txt](/llms.txt)

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.

[Start building](/developers/getting_started_on_local_network.md)[Run a node](/operate/operators.md)

## 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](https://noir-lang.org/docs) with the Aztec.nr framework. To learn how it all fits together, start with the [foundational topics](/developers/docs/foundational-topics.md).

## Why build on Aztec

[01](/operate/operators.md)

### [Unstoppable by design](/operate/operators.md)

[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.](/operate/operators.md)

[Run a node](/operate/operators.md)

[02](/developers/docs/foundational-topics/pxe.md)

### [Privacy without privileged access](/developers/docs/foundational-topics/pxe.md)

[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.](/developers/docs/foundational-topics/pxe.md)

[How the PXE works](/developers/docs/foundational-topics/pxe.md)

[03](/developers/docs/aztec-nr/framework-description/functions/visibility.md)

### [Fully programmable freedom](/developers/docs/aztec-nr/framework-description/functions/visibility.md)

[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.](/developers/docs/aztec-nr/framework-description/functions/visibility.md)

[Private and public functions](/developers/docs/aztec-nr/framework-description/functions/visibility.md)

[04](/developers/docs/foundational-topics/advanced/circuits.md)

### [Built on breakthrough technology](/developers/docs/foundational-topics/advanced/circuits.md)

[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.](/developers/docs/foundational-topics/advanced/circuits.md)

[Explore the circuits](/developers/docs/foundational-topics/advanced/circuits.md)

## Building blocks

#### [Private functions](/developers/docs/aztec-nr/framework-description/functions/visibility.md)

[Execute and prove functions on a user's device, keeping logic and data confidential.](/developers/docs/aztec-nr/framework-description/functions/visibility.md)

#### [Public functions](/developers/docs/foundational-topics/advanced/circuits/public_execution.md)

[Execute transparent operations in the Aztec Virtual Machine when visibility is needed.](/developers/docs/foundational-topics/advanced/circuits/public_execution.md)

#### [Private state](/developers/docs/foundational-topics/pxe.md)

[Store data as encrypted UTXOs that only the owner can decrypt and access.](/developers/docs/foundational-topics/pxe.md)

#### [Public state](/developers/docs/foundational-topics/state_management.md)

[Maintain transparent state in a public Merkle tree when required by your application.](/developers/docs/foundational-topics/state_management.md)

#### [Composability](/developers/docs/aztec-nr/framework-description/calling_contracts.md)

[Compose private and public execution with private and public state across contracts.](/developers/docs/aztec-nr/framework-description/calling_contracts.md)

#### [L1 to L2 messaging](/developers/docs/foundational-topics/ethereum-aztec-messaging.md)

[Send public and private messages between Ethereum and Aztec.](/developers/docs/foundational-topics/ethereum-aztec-messaging.md)

## Quick links

[QuickstartDeploy your first private contract in minutes](/developers/getting_started_on_local_network.md)

[AI toolingSet up Claude Code, Cursor, and Codex for Aztec development](/developers/ai_tooling.md)

[TutorialsStep-by-step guides to build on Aztec](/developers/docs/tutorials/contract_tutorials/counter_contract.md)

[Write smart contractsAztec.nr framework documentation](/developers/docs/aztec-nr.md)

[aztec.js SDKJavaScript/TypeScript library for Aztec](/developers/docs/aztec-js.md)

[Run a sequencerSet up and operate a sequencer node](/operate/operators/setup/sequencer_management.md)

## Resources

[Video lessonsPrefer video? Learn Aztec through short explainers](/developers/docs/resources/video_lessons.md)

[Aztec starter repoTemplate project to kickstart development](https://github.com/AztecProtocol/aztec-starter)

[Noir language docsLearn the Noir programming language](https://noir-lang.org/docs)

[SupportWhere to ask questions, file bugs, and disclose security issues](/developers/support.md)

[GlossaryKey terms and definitions](/developers/docs/resources/glossary.md)
