# Aztec Protocol Documentation > Aztec introduces a privacy-centric zkRollup solution for Ethereum, enhancing confidentiality and scalability within the Ethereum ecosystem. For the complete documentation as a single file, see [llms-full.txt](https://docs.aztec.network/llms-full.txt). **Setting up an AI agent?** Read the [AI Tooling guide](https://docs.aztec.network/developers/ai_tooling) first for recommended CLAUDE.md/AGENTS.md instructions and common-mistake guidance (use the `aztec` CLI, not `nargo` or `bb` directly). This file contains links to documentation sections following the llmstxt.org standard. ## Table of Contents - [AI Tooling](https://docs.aztec.network/developers/ai_tooling): Set up AI coding tools like Claude Code, Cursor, and Codex for Aztec and Noir development. - [Reference](https://docs.aztec.network/developers/docs/aztec-js/aztec_js_reference): Comprehensive auto-generated reference for the Aztec.js TypeScript library with all classes, interfaces, types, and functions. - [Connect to Local Network](https://docs.aztec.network/developers/docs/aztec-js/how_to_connect_to_local_network): Connect your application to the Aztec local network and interact with accounts. - [Creating Accounts](https://docs.aztec.network/developers/docs/aztec-js/how_to_create_account): Step-by-step guide to creating and deploying new user accounts in Aztec.js applications. - [Deploying Contracts](https://docs.aztec.network/developers/docs/aztec-js/how_to_deploy_contract): Deploy smart contracts to Aztec using generated TypeScript classes. - [Paying Fees](https://docs.aztec.network/developers/docs/aztec-js/how_to_pay_fees): Pay transaction fees on Aztec, understand mana costs, estimate gas, and retrieve fees from receipts. - [Reading Contract Data](https://docs.aztec.network/developers/docs/aztec-js/how_to_read_data): How to read data from contracts including simulating functions, reading logs, and retrieving events. - [Sending Transactions](https://docs.aztec.network/developers/docs/aztec-js/how_to_send_transaction): Send transactions to Aztec contracts using Aztec.js with various options and error handling - [Testing Smart Contracts](https://docs.aztec.network/developers/docs/aztec-js/how_to_test): Learn how to write and run tests for your Aztec smart contracts using Aztec.js and a local network. - [Using Authentication Witnesses](https://docs.aztec.network/developers/docs/aztec-js/how_to_use_authwit): Step-by-step guide to implementing authentication witnesses in Aztec.js for delegated transactions. - [Pay Fees Privately](https://docs.aztec.network/developers/docs/aztec-js/how_to_use_private_fee_juice): Learn how private fee payment works on Aztec and walk through an example using a community-built fully private Fee Payment Contract. - [Aztec.js](https://docs.aztec.network/developers/docs/aztec-js): Complete guide to Aztec.js library for managing accounts and interacting with contracts on the Aztec network, including installation, importing, an... - [TypeScript API Reference](https://docs.aztec.network/developers/docs/aztec-js/typescript_api_reference): API reference documentation for Aztec TypeScript packages including aztec.js, accounts, PXE, and core libraries. - [Connecting a dApp to a wallet](https://docs.aztec.network/developers/docs/aztec-js/wallet-sdk/dapp_integration): Discover wallet extensions, establish an encrypted channel, request capabilities, and use the wallet from a dApp on Aztec. - [Wallet SDK](https://docs.aztec.network/developers/docs/aztec-js/wallet-sdk): How dApps and wallet extensions communicate on Aztec, covering discovery, encrypted channels, capability permissions, and BaseWallet. - [Building a wallet extension](https://docs.aztec.network/developers/docs/aztec-js/wallet-sdk/wallet_integration): Implement the Aztec wallet SDK protocol in a browser extension. Covers discovery, sessions, message routing, and BaseWallet. - [Aztec.nr API Reference](https://docs.aztec.network/developers/docs/aztec-nr/api): Auto-generated API reference documentation for the Aztec.nr smart contract framework. - [Compiling Contracts](https://docs.aztec.network/developers/docs/aztec-nr/compiling_contracts): Compile your Aztec smart contracts into deployable artifacts using aztec command. - [Contract Deployment Reference](https://docs.aztec.network/developers/docs/aztec-nr/contract_readiness_states): A practical guide to determine which deployment steps your Aztec contract needs and when functions become callable. - [Debugging Aztec Code](https://docs.aztec.network/developers/docs/aztec-nr/debugging): This guide shows you how to debug issues in your Aztec contracts. - [Profiling Transactions](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/advanced/how_to_profile_transactions): How to profile Aztec transactions and identify performance bottlenecks using aztec profile, aztec-wallet, and aztec.js. - [Proving Historic State](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/advanced/how_to_prove_history): Prove historical state and note inclusion in your Aztec smart contracts using the Archive tree. - [Retrieving and Filtering Notes](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/advanced/how_to_retrieve_filter_notes): Step-by-step guide to retrieving, filtering, and sorting notes from private storage in Aztec contracts. - [Using Capsules](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/advanced/how_to_use_capsules): Learn how to use capsules for per-contract non-volatile storage in the PXE. - [Partial Notes](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/advanced/partial_notes): How partial notes work and how they can be used. - [Oracle Functions](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/advanced/protocol_oracles): Learn about oracles in Aztec, which provide external data to smart contracts during execution. - [Writing Efficient Contracts](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/advanced/writing_efficient_contracts): Best practices and techniques for writing gas-efficient contracts on Aztec, optimizing for both proving and execution costs. - [Authentication Witnesses](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/authentication_witnesses): Enable contracts to execute actions on behalf of user accounts using authentication witnesses. - [Calling Other Contracts](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/calling_contracts): Call functions in other contracts from your Aztec smart contracts to enable composability. - [Contract Artifacts](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/contract_artifact): Understand the structure and contents of Aztec smart contract artifacts. - [Contract Structure](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/contract_structure): Learn the fundamental structure of Aztec smart contracts including the contract keyword, directory layout, and how contracts manage state and funct... - [Contract Upgrades](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/contract_upgrades): Understand contract upgrade patterns in Aztec and how to implement upgradeable contracts. - [Custom notes](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/custom_notes): Learn how to create and use custom note types for specialized private data storage in Aztec contracts - [Aztec.nr Dependencies](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/dependencies): Reference list of available Aztec.nr libraries and their Nargo.toml dependency paths. - [Ethereum<>Aztec Messaging](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/ethereum_aztec_messaging): Send messages and data between L1 and L2 contracts using portal contracts and cross-chain messaging. - [Events and Logs](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/events_and_logs): Learn how to emit events from your Aztec smart contracts for offchain applications to consume. - [Attributes and Macros](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/functions/attributes): Reference for Aztec contract attributes that control function visibility, execution context, storage, and notes. - [Understanding Function Context](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/functions/context): Learn about the execution context available to Aztec contract functions, including caller information and block data. - [Inner Workings of Functions](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/functions/function_transforms): Understand how Aztec transforms contract functions during compilation for privacy and efficiency. - [How to Define Functions](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/functions/how_to_define_functions): Define different types of functions in your Aztec contracts for private, public, and utility execution. - [Defining Functions](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/functions): Overview of Aztec contract functions, including private, public, and utility function types. - [Visibility](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/functions/visibility): Understand function visibility modifiers in Aztec and how they affect function execution and accessibility. - [Global Variables](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/globals): Access chain ID, block number, timestamps, and gas information in your Aztec contracts - [Immutables via Salt](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/immutables): Commit immutable values into a contract's address salt, eliminating initialization transactions. - [Aztec Macros](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/macros): Learn about macros available in Aztec.nr for code generation and abstraction. - [Note Delivery](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/note_delivery): Learn how to deliver notes to recipients in Aztec smart contracts using different delivery modes to balance proving time, transaction costs, and de... - [State Variables](https://docs.aztec.network/developers/docs/aztec-nr/framework-description/state_variables): Define and manage storage state in your Aztec smart contracts using various storage types. - [Overview](https://docs.aztec.network/developers/docs/aztec-nr): Comprehensive guide to writing smart contracts for the Aztec network using Noir. - [Noir VSCode Extension](https://docs.aztec.network/developers/docs/aztec-nr/installation): Learn how to install and configure the Noir Language Server for a better development experience. - [AIP-20: Fungible Token](https://docs.aztec.network/developers/docs/aztec-nr/standards/aip-20): Fungible token standard with private balances, partial-note transfers, and recursive note consumption. - [AIP-4626: Tokenized Vault](https://docs.aztec.network/developers/docs/aztec-nr/standards/aip-4626): Yield-bearing vault standard with share conversion across private and public contexts. - [AIP-721: Non-Fungible Token](https://docs.aztec.network/developers/docs/aztec-nr/standards/aip-721): Non-fungible token standard with private ownership, partial-note support, and commitment-based transfers. - [Dripper (Development Faucet)](https://docs.aztec.network/developers/docs/aztec-nr/standards/dripper): Convenience faucet for minting tokens into private or public balances during development. - [Escrow](https://docs.aztec.network/developers/docs/aztec-nr/standards/escrow): Minimal token and NFT custody contract with salt-based authorization. - [Generic Proxy](https://docs.aztec.network/developers/docs/aztec-nr/standards/generic-proxy): Forwarding layer for account abstraction that routes calls by argument count. - [Aztec Contract Standards](https://docs.aztec.network/developers/docs/aztec-nr/standards): Overview of Aztec Improvement Proposal (AIP) contract standards maintained by DeFi Wonderland. - [Testing Contracts](https://docs.aztec.network/developers/docs/aztec-nr/testing_contracts): Write and run tests for your Aztec smart contracts using Noir's TestEnvironment. - [Aztec CLI Reference](https://docs.aztec.network/developers/docs/cli/aztec_cli_reference): Comprehensive auto-generated reference for the Aztec CLI with all commands and options. - [Aztec Up CLI Reference](https://docs.aztec.network/developers/docs/cli/aztec_up_cli_reference): Comprehensive auto-generated reference for the Aztec Version Manager with all commands and options. - [Aztec Wallet CLI Reference](https://docs.aztec.network/developers/docs/cli/aztec_wallet_cli_reference): Comprehensive auto-generated reference for the Aztec Wallet CLI with all commands and options. - [Accounts](https://docs.aztec.network/developers/docs/foundational-topics/accounts): Deep dive into Aztec's native account abstraction system - understanding how smart contract accounts work, their architecture, key management, and ... - [Keys](https://docs.aztec.network/developers/docs/foundational-topics/accounts/keys): Understand the specialized key pairs used in Aztec accounts - nullifier keys, incoming viewing keys, and signing keys - and how they enable privacy... - [Authentication Witness (Authwit)](https://docs.aztec.network/developers/docs/foundational-topics/advanced/authwit): Learn about Aztec's Authentication Witness scheme that enables secure third-party actions on behalf of users, providing a privacy-preserving altern... - [AVM Cryptographic Compatibility](https://docs.aztec.network/developers/docs/foundational-topics/advanced/circuits/avm_compatibility): Which Noir cryptographic primitives work in public (AVM) functions vs private, and workarounds for unsupported operations. - [Circuits](https://docs.aztec.network/developers/docs/foundational-topics/advanced/circuits): Explore Aztec's core protocol circuits that enforce privacy rules and transaction validity through zero-knowledge proofs, enabling private state an... - [Private Kernel Circuit](https://docs.aztec.network/developers/docs/foundational-topics/advanced/circuits/private_kernel): Learn about the Private Kernel Circuit, the only zero-knowledge circuit in Aztec that handles private data and ensures transaction privacy by execu... - [Public Execution (AVM)](https://docs.aztec.network/developers/docs/foundational-topics/advanced/circuits/public_execution): Learn how the Aztec Virtual Machine (AVM) executes public functions and manages public state transitions. - [Rollup Circuits](https://docs.aztec.network/developers/docs/foundational-topics/advanced/circuits/rollup_circuits): Learn how Rollup Circuits compress transactions into a single proof using a hierarchical tree topology for efficient verification on Ethereum. - [Indexed Merkle Tree (Nullifier Tree)](https://docs.aztec.network/developers/docs/foundational-topics/advanced/storage/indexed_merkle_tree): Learn about indexed merkle trees, an efficient data structure for nullifier trees that enables fast non-membership proofs and batch insertions in A... - [Note Discovery](https://docs.aztec.network/developers/docs/foundational-topics/advanced/storage/note_discovery): Understand how Aztec's note tagging system allows users to efficiently discover and decrypt notes that belong to them without relying on brute forc... - [Storage Slots](https://docs.aztec.network/developers/docs/foundational-topics/advanced/storage/storage_slots): Understand how storage slots work in Aztec for both public and private state, including siloing mechanisms and note hash commitments. - [Call Types](https://docs.aztec.network/developers/docs/foundational-topics/call_types): Understand the different types of contract calls in Aztec, including private and public execution modes, and how they compare to Ethereum's call ty... - [Contract Deployment](https://docs.aztec.network/developers/docs/foundational-topics/contract_creation): Learn how contract classes and instances are created and deployed on the Aztec network. - [Data Structures](https://docs.aztec.network/developers/docs/foundational-topics/ethereum-aztec-messaging/data_structures): Learn about the data structures used in Aztec portals for L1-L2 communication. - [Inbox](https://docs.aztec.network/developers/docs/foundational-topics/ethereum-aztec-messaging/inbox): Learn about the inbox mechanism in Aztec portals for receiving messages from L1. - [L1 <--> L2 communication (Portals)](https://docs.aztec.network/developers/docs/foundational-topics/ethereum-aztec-messaging): A conceptual introduction to Portals and how Aztec communicates with L1 (Ethereum) - [Outbox](https://docs.aztec.network/developers/docs/foundational-topics/ethereum-aztec-messaging/outbox): Learn about the outbox mechanism in Aztec portals for sending messages to L1. - [Registry](https://docs.aztec.network/developers/docs/foundational-topics/ethereum-aztec-messaging/registry): Learn about the portal registry and how it manages L1-L2 contract mappings. - [Fees](https://docs.aztec.network/developers/docs/foundational-topics/fees): Understand Aztec's fee system including mana-based transaction pricing, Aztec token and Fee Juice payments, and how L1 and L2 costs are transparent... - [Aztec Overview](https://docs.aztec.network/developers/docs/foundational-topics): Overview of Aztec, a privacy-first Layer 2 on Ethereum supporting smart contracts with private and public state and execution. - [Private Execution Environment (PXE)](https://docs.aztec.network/developers/docs/foundational-topics/pxe): Explore the PXE, a client-side library that handles private function execution, proof generation, secret management, and transaction orchestration ... - [State Management](https://docs.aztec.network/developers/docs/foundational-topics/state_management): How public and private state work in Aztec, including storage slots, notes, and the UTXO model - [Transactions](https://docs.aztec.network/developers/docs/foundational-topics/transactions): Comprehensive guide to the Aztec transaction lifecycle, covering private execution, PXE interactions, kernel circuits, and the step-by-step process... - [Wallets](https://docs.aztec.network/developers/docs/foundational-topics/wallets): Overview of wallet responsibilities in Aztec including account management, private state tracking, transaction execution, key management, and autho... - [Community Calls](https://docs.aztec.network/developers/docs/resources/community_calls): Join live calls to connect with the Aztec team and other builders. - [Limitations](https://docs.aztec.network/developers/docs/resources/considerations/limitations): Understand the current limitations of the Aztec network and its implications for developers. - [Privacy Considerations](https://docs.aztec.network/developers/docs/resources/considerations/privacy_considerations): Learn about key privacy considerations when building applications on Aztec. - [Glossary](https://docs.aztec.network/developers/docs/resources/glossary): Comprehensive glossary of terms used throughout the Aztec documentation and protocol. - [Migration notes](https://docs.aztec.network/developers/docs/resources/migration_notes): Read about migration notes from previous versions, which could solve problems while updating - [Counter Contract](https://docs.aztec.network/developers/docs/tutorials/contract_tutorials/counter_contract): Code-along tutorial for creating a simple counter contract on Aztec. - [Verify Noir Proofs in Aztec Contracts](https://docs.aztec.network/developers/docs/tutorials/contract_tutorials/recursive_verification): Learn to generate offchain ZK proofs with Noir and verify them onchain in Aztec private smart contracts - [Private Token Contract](https://docs.aztec.network/developers/docs/tutorials/contract_tutorials/token_contract): Build a privacy-preserving token for employee mental health benefits that keeps spending habits confidential. - [Deploying a Token Contract](https://docs.aztec.network/developers/docs/tutorials/js_tutorials/aztecjs-getting-started): A tutorial going through how to deploy a token contract to the local network using typescript. - [Bridge Your NFT to Aztec](https://docs.aztec.network/developers/docs/tutorials/js_tutorials/token_bridge): Build a private NFT bridge between Ethereum and Aztec using custom notes, PrivateSet, and cross-chain messaging portals. - [Run Aztec in a Local Network](https://docs.aztec.network/developers/docs/tutorials/local_network): Information about running the Aztec local network development environment. - [Testing Governance Rollup Upgrade on Local Network](https://docs.aztec.network/developers/docs/tutorials/testing_governance_rollup_upgrade): Deploy a new rollup and execute a governance upgrade on a local Aztec network for testing. - [Getting Started on Local Network](https://docs.aztec.network/developers/getting_started_on_local_network): Guide for developers to get started with the Aztec local network, including account creation and contract deployment. - [Getting Started on Testnet](https://docs.aztec.network/developers/getting_started_on_testnet): Deploy contracts and send transactions on the Aztec testnet using the CLI wallet and the Sponsored FPC for fee payment. - [Aztec Overview](https://docs.aztec.network/developers/overview): Overview of Aztec, a privacy-first Layer 2 on Ethereum supporting smart contracts with private and public state and execution. - [Support](https://docs.aztec.network/developers/support): Where to ask questions, report bugs, request features, and disclose security issues for the Aztec stack. ## API Reference Use these when writing or debugging Aztec contracts (Aztec.nr) or TypeScript apps; the guides above are better for concepts and how-tos. Each link is a complete, scoped API index. - [Aztec.nr API Reference](https://docs.aztec.network/aztec-nr-api/mainnet/llms.txt): Auto-generated API documentation for Aztec.nr (v4.3.1) - [TypeScript API Reference](https://docs.aztec.network/typescript-api/mainnet/llms.txt): Auto-generated TypeScript API documentation for Aztec packages (v4.3.1) ## Optional - [awesome-aztec](https://github.com/AztecProtocol/awesome-aztec): Curated index of high-quality community resources, tools, libraries, and example projects for building on Aztec.