Aztec CLI Reference
This documentation is auto-generated from the aztec CLI help output.
Generated: Fri 02 Jan 2026 14:36:39 UTC
Command: aztec
Table of Contents
- aztec
- aztec add-l1-validator
- aztec advance-epoch
- aztec block-number
- aztec bridge-erc20
- aztec check
- aztec codegen
- aztec compile
- aztec compute-selector
- aztec debug-rollup
- aztec decode-enr
- aztec deploy-l1-contracts
- aztec deploy-new-rollup
- aztec deposit-governance-tokens
- aztec example-contracts
- aztec execute-governance-proposal
- aztec fast-forward-epochs
- aztec fmt
- aztec generate-bls-keypair
- aztec generate-bootnode-enr
- aztec generate-keys
- aztec generate-l1-account
- aztec generate-p2p-private-key
- aztec generate-secret-and-hash
- aztec get-block
- aztec get-canonical-sponsored-fpc-address
- aztec get-current-min-fee
- aztec get-l1-addresses
- aztec get-l1-balance
- aztec get-l1-to-l2-message-witness
- aztec get-logs
- aztec get-node-info
- aztec init
- aztec inspect-contract
- aztec lsp
- aztec new
- aztec parse-parameter-struct
- aztec preload-crs
- aztec propose-with-lock
- aztec prune-rollup
- aztec remove-l1-validator
- aztec sequencers
- aztec setup-protocol-contracts
- aztec start
- aztec test
- aztec trigger-seed-snapshot
- aztec update
- aztec validator-keys|valKeys
- aztec vote-on-governance-proposal
aztec
Aztec command line interface
Usage:
aztec [options] [command]
Available Commands:
add-l1-validator [options]- Adds a validator to the L1 rollup contract via a direct deposit.advance-epoch [options]- Use L1 cheat codes to warp time until the next epoch.block-number [options]- Gets the current Aztec L2 block number.bridge-erc20 [options] <amount> <recipient>- Bridges ERC20 tokens to L2.check [options]- type-checks Noir code without compiling using nargo checkcodegen [options] <noir-abi-path>- Validates and generates an Aztec Contract ABI from Noir ABI.compile [options]- compiles Aztec Noir contractscompute-selector <functionSignature>- Given a function signature, it computes a selectordebug-rollup [options]- Debugs the rollup contract.decode-enr <enr>- Decodes an ENR recorddeploy-l1-contracts [options]- Deploys all necessary Ethereum contracts for Aztec.deploy-new-rollup [options]- Deploys a new rollup contract and adds it to the registry (if you are the owner).deposit-governance-tokens [options]- Deposits governance tokens to the governance contract.example-contracts- Lists the example contracts available to deploy from @aztec/noir-contracts.jsexecute-governance-proposal [options]- Executes a governance proposal.fast-forward-epochs [options]- Fast forwards the epoch of the L1 rollup contract.fmt [options]- formats Noir code using nargo fmtgenerate-bls-keypair [options]- Generate a BLS keypair with convenience flagsgenerate-bootnode-enr [options] <privateKey> <p2pIp> <p2pPort>- Generates the encoded ENR record for a bootnode.generate-keys [options]- Generates encryption and signing private keys.generate-l1-account [options]- Generates a new private key for an account on L1.generate-p2p-private-key- Generates a LibP2P peer private key.generate-secret-and-hash- Generates an arbitrary secret (Fr), and its hash (using aztec-nr defaults)get-block [options] [blockNumber]- Gets info for a given block or latest.get-canonical-sponsored-fpc-address- Gets the canonical SponsoredFPC address for this any testnet running on the same version as this CLIget-current-min-fee [options]- Gets the current min fee.get-l1-addresses [options]- Gets the addresses of the L1 contracts.get-l1-balance [options] <who>- Gets the balance of an ERC token in L1 for the given Ethereum address.get-l1-to-l2-message-witness [options]- Gets a L1 to L2 message witness.get-logs [options]- Gets all the public logs from an intersection of all the filter params.get-node-info [options]- Gets the information of an Aztec node from a PXE or directly from an Aztec node.help [command]- display help for commandinit [options]- creates a new Noir workspace in the current directoryinspect-contract <contractArtifactFile>- Shows list of external callable functions for a contractlsp- starts the Nargo Language Server Protocol servernew <name> [options]- creates a new Noir workspace (or adds a contract to an existing workspace)parse-parameter-struct [options] <encodedString>- Helper for parsing an encoded string into a contract's parameter struct.preload-crs- Preload the points data needed for proving and verifyingpropose-with-lock [options]- Makes a proposal to governance with a lockprune-rollup [options]- Prunes the pending chain on the rollup contract.remove-l1-validator [options]- Removes a validator to the L1 rollup contract.sequencers [options] <command> [who]- Manages or queries registered sequencers on the L1 rollup contract.setup-protocol-contracts [options]- Bootstrap the blockchain by initializing all the protocol contractsstart [options]- Starts Aztec modules. Options for each module can be set as key-value pairs (e.g. "option1=value1,option2=value2") or as environment variables.test [options]- starts a dockerized TXE node viatrigger-seed-snapshot [options]- Triggers a seed snapshot for the next epoch.update [options] [projectPath]- Updates Nodejs and Noir dependenciesvalidator-keys|valKeys- Manage validator keystores for node operatorsvote-on-governance-proposal [options]- Votes on a governance proposal.
Options:
-V --version- output the version number-h --help- display help for command
Subcommands
aztec add-l1-validator
Usage: aztec add-l1-validator [options]
Adds a validator to the L1 rollup contract via a direct deposit.
Options:
--l1-rpc-urls <string> List of Ethereum host URLs. Chain identifiers
localhost and testnet can be used (comma
separated) (default:
["http://host.docker.internal:8545"], env:
ETHEREUM_HOSTS)
--network <string> Network to execute against (env: NETWORK)
-pk, --private-key <string> The private key to use sending the transaction
-m, --mnemonic <string> The mnemonic to use sending the transaction
(default: "test test test test test test test
test test test test junk")
-c, --l1-chain-id <number> Chain ID of the ethereum host (default: 31337,
env: L1_CHAIN_ID)
--attester <address> ethereum address of the attester
--withdrawer <address> ethereum address of the withdrawer
--bls-secret-key <string> The BN254 scalar field element used as a secret
key for BLS signatures. Will be associated with
the attester address.
--move-with-latest-rollup Whether to move with the latest rollup (default:
true)
--rollup <string> Rollup contract address
-h, --help display help for command
aztec advance-epoch
Usage: aztec advance-epoch [options]
Use L1 cheat codes to warp time until the next epoch.
Options:
--l1-rpc-urls <string> List of Ethereum host URLs. Chain identifiers
localhost and testnet can be used (comma separated)
(default: ["http://host.docker.internal:8545"], env:
ETHEREUM_HOSTS)
-n, --node-url <string> URL of the Aztec node (default:
"http://host.docker.internal:8080", env:
AZTEC_NODE_URL)
-h, --help display help for command
aztec block-number
Usage: aztec block-number [options]
Gets the current Aztec L2 block number.
Options:
-n, --node-url <string> URL of the Aztec node (default:
"http://host.docker.internal:8080", env:
AZTEC_NODE_URL)
-h, --help display help for command
aztec bridge-erc20
Usage: aztec bridge-erc20 [options] <amount> <recipient>
Bridges ERC20 tokens to L2.
Arguments:
amount The amount of Fee Juice to mint and bridge.
recipient Aztec address of the recipient.
Options:
--l1-rpc-urls <string> List of Ethereum host URLs. Chain identifiers
localhost and testnet can be used (comma
separated) (default:
["http://host.docker.internal:8545"], env:
ETHEREUM_HOSTS)
-m, --mnemonic <string> The mnemonic to use for deriving the Ethereum
address that will mint and bridge (default: "test
test test test test test test test test test test
junk")
--mint Mint the tokens on L1 (default: false)
--private If the bridge should use the private flow
(default: false)
-c, --l1-chain-id <number> Chain ID of the ethereum host (default: 31337,
env: L1_CHAIN_ID)
-t, --token <string> The address of the token to bridge
-p, --portal <string> The address of the portal contract
-f, --faucet <string> The address of the faucet contract (only used if
minting)
--l1-private-key <string> The private key to use for deployment
--json Output the claim in JSON format
-h, --help display help for command
aztec check
Check a local package and all of its dependencies for errors
Usage: nargo check [OPTIONS]
Options:
--package <PACKAGE>
The name of the package to run the command on. By default run on the first one found moving up along the ancestors of the current directory
--workspace
Run on all packages in the workspace
--overwrite
Force overwrite of existing files
--expression-width <EXPRESSION_WIDTH>
Specify the backend expression width that should be targeted
--bounded-codegen
Generate ACIR with the target backend expression width. The default is to generate ACIR without a bound and split expressions after code generation. Activating this flag can sometimes provide optimizations for certain programs
--force
Force a full recompilation
--print-acir
Display the ACIR for compiled circuit
--deny-warnings
Treat all warnings as errors
--silence-warnings
Suppress warnings
--debug-comptime-in-file <DEBUG_COMPTIME_IN_FILE>
Enable printing results of comptime evaluation: provide a path suffix for the module to debug, e.g. "package_name/src/main.nr"
--skip-underconstrained-check
Flag to turn off the compiler check for under constrained values. Warning: This can improve compilation speed but can also lead to correctness errors. This check should always be run on production code
--skip-brillig-constraints-check
Flag to turn off the compiler check for missing Brillig call constraints. Warning: This can improve compilation speed but can also lead to correctness errors. This check should always be run on production code
--count-array-copies
Count the number of arrays that are copied in an unconstrained context for performance debugging
--enable-brillig-constraints-check-lookback
Flag to turn on the lookback feature of the Brillig call constraints check, allowing tracking argument values before the call happens preventing certain rare false positives (leads to a slowdown on large rollout functions)
--inliner-aggressiveness <INLINER_AGGRESSIVENESS>
Setting to decide on an inlining strategy for Brillig functions. A more aggressive inliner should generate larger programs but more optimized A less aggressive inliner should generate smaller programs
[default: 9223372036854775807]
--pedantic-solving
Use pedantic ACVM solving, i.e. double-check some black-box function assumptions when solving. This is disabled by default
-Z, --unstable-features <UNSTABLE_FEATURES>
Unstable features to enable for this current build.
If non-empty, it disables unstable features required in crate manifests.
--no-unstable-features
Disable any unstable features required in crate manifests
-h, --help
Print help (see a summary with '-h')
aztec codegen
Usage: aztec codegen [options] <noir-abi-path>
Validates and generates an Aztec Contract ABI from Noir ABI.
Arguments:
noir-abi-path Path to the Noir ABI or project dir.
Options:
-o, --outdir <path> Output folder for the generated code.
-f, --force Force code generation even when the contract has not
changed.
-h, --help display help for command
aztec compile
Aztec Compile - Compile Aztec Noir contracts
This command compiles Aztec Noir contracts using nargo and then automatically
postprocesses them to generate Aztec-specific artifacts including:
- Transpiled contract artifacts
- Verification keys
The compiled contracts will be placed in the target/ directory by default.
AZTEC-SPECIFIC NOTES:
- Working directory must be under $HOME due to Docker containerization
- Compilation automatically includes contract postprocessing
- Use standard nargo compile options (see below)
ENVIRONMENT VARIABLES:
AZTEC_PATH Path to Aztec installation (default: $HOME/.aztec)
VERSION Aztec version to use (default: from $AZTEC_PATH/default_version)
DOCKER_REPO Docker repository (default: aztecprotocol/aztec)
---
Underlying nargo compile options:
Compile the program and its secret execution trace into ACIR format
Usage: nargo compile [OPTIONS]
Options:
--package <PACKAGE>
The name of the package to run the command on. By default run on the first one found moving up along the ancestors of the current directory
--workspace
Run on all packages in the workspace
--expression-width <EXPRESSION_WIDTH>
Specify the backend expression width that should be targeted
--bounded-codegen
Generate ACIR with the target backend expression width. The default is to generate ACIR without a bound and split expressions after code generation. Activating this flag can sometimes provide optimizations for certain programs
--force
Force a full recompilation
--print-acir
Display the ACIR for compiled circuit
--deny-warnings
Treat all warnings as errors
--silence-warnings
Suppress warnings
--debug-comptime-in-file <DEBUG_COMPTIME_IN_FILE>
Enable printing results of comptime evaluation: provide a path suffix for the module to debug, e.g. "package_name/src/main.nr"
--skip-underconstrained-check
Flag to turn off the compiler check for under constrained values. Warning: This can improve compilation speed but can also lead to correctness errors. This check should always be run on production code
--skip-brillig-constraints-check
Flag to turn off the compiler check for missing Brillig call constraints. Warning: This can improve compilation speed but can also lead to correctness errors. This check should always be run on production code
--count-array-copies
Count the number of arrays that are copied in an unconstrained context for performance debugging
--enable-brillig-constraints-check-lookback
Flag to turn on the lookback feature of the Brillig call constraints check, allowing tracking argument values before the call happens preventing certain rare false positives (leads to a slowdown on large rollout functions)
--inliner-aggressiveness <INLINER_AGGRESSIVENESS>
Setting to decide on an inlining strategy for Brillig functions. A more aggressive inliner should generate larger programs but more optimized A less aggressive inliner should generate smaller programs
[default: 9223372036854775807]
--pedantic-solving
Use pedantic ACVM solving, i.e. double-check some black-box function assumptions when solving. This is disabled by default
-Z, --unstable-features <UNSTABLE_FEATURES>
Unstable features to enable for this current build.
If non-empty, it disables unstable features required in crate manifests.
--no-unstable-features
Disable any unstable features required in crate manifests
-h, --help
Print help (see a summary with '-h')
aztec compute-selector
Usage: aztec compute-selector [options] <functionSignature>
Given a function signature, it computes a selector
Arguments:
functionSignature Function signature to compute selector for e.g. foo(Field)
Options:
-h, --help display help for command
aztec debug-rollup
Usage: aztec debug-rollup [options]
Debugs the rollup contract.
Options:
--l1-rpc-urls <string> List of Ethereum host URLs. Chain identifiers
localhost and testnet can be used (comma
separated) (default:
["http://host.docker.internal:8545"], env:
ETHEREUM_HOSTS)
-c, --l1-chain-id <number> Chain ID of the ethereum host (default: 31337,
env: L1_CHAIN_ID)
--rollup <address> ethereum address of the rollup contract
-h, --help display help for command
aztec decode-enr
Usage: aztec decode-enr [options] <enr>
Decodes and ENR record
Arguments:
enr The encoded ENR string
Options:
-h, --help display help for command
aztec deploy-l1-contracts
Usage: aztec deploy-l1-contracts [options]
Deploys all necessary Ethereum contracts for Aztec.
Options:
--l1-rpc-urls <string> List of Ethereum host URLs. Chain
identifiers localhost and testnet can be
used (comma separated) (default:
["http://host.docker.internal:8545"], env:
ETHEREUM_HOSTS)
-pk, --private-key <string> The private key to use for deployment
--validators <string> Comma separated list of validators
-m, --mnemonic <string> The mnemonic to use in deployment
(default: "test test test test test test
test test test test test junk")
-i, --mnemonic-index <number> The index of the mnemonic to use in
deployment (default: 0)
-c, --l1-chain-id <number> Chain ID of the ethereum host (default:
31337, env: L1_CHAIN_ID)
--salt <number> The optional salt to use in deployment
--json Output the contract addresses in JSON
format
--test-accounts Populate genesis state with initial fee
juice for test accounts
--sponsored-fpc Populate genesis state with a testing
sponsored FPC contract
--accelerated-test-deployments Fire and forget deployment transactions,
use in testing only (default: false)
--real-verifier Deploy the real verifier (default: false)
--existing-token <address> Use an existing ERC20 for both fee and
staking
--create-verification-json [path] Create JSON file for etherscan contract
verification (default: false)
-h, --help display help for command
aztec deploy-new-rollup
Usage: aztec deploy-new-rollup [options]
Deploys a new rollup contract and adds it to the registry (if you are the
owner).
Options:
-r, --registry-address <string> The address of the registry contract
--l1-rpc-urls <string> List of Ethereum host URLs. Chain
identifiers localhost and testnet can be
used (comma separated) (default:
["http://host.docker.internal:8545"], env:
ETHEREUM_HOSTS)
-pk, --private-key <string> The private key to use for deployment
--validators <string> Comma separated list of validators
-m, --mnemonic <string> The mnemonic to use in deployment
(default: "test test test test test test
test test test test test junk")
-i, --mnemonic-index <number> The index of the mnemonic to use in
deployment (default: 0)
-c, --l1-chain-id <number> Chain ID of the ethereum host (default:
31337, env: L1_CHAIN_ID)
--salt <number> The optional salt to use in deployment
--json Output the contract addresses in JSON
format
--test-accounts Populate genesis state with initial fee
juice for test accounts
--sponsored-fpc Populate genesis state with a testing
sponsored FPC contract
--real-verifier Deploy the real verifier (default: false)
--create-verification-json [path] Create JSON file for etherscan contract
verification (default: false)
-h, --help display help for command
aztec deposit-governance-tokens
Usage: aztec deposit-governance-tokens [options]
Deposits governance tokens to the governance contract.
Options:
-r, --registry-address <string> The address of the registry contract
--recipient <string> The recipient of the tokens
-a, --amount <string> The amount of tokens to deposit
--mint Mint the tokens on L1 (default: false)
--l1-rpc-urls <string> List of Ethereum host URLs. Chain
identifiers localhost and testnet can be
used (comma separated) (default:
["http://host.docker.internal:8545"], env:
ETHEREUM_HOSTS)
-c, --l1-chain-id <number> Chain ID of the ethereum host (default:
31337, env: L1_CHAIN_ID)
-p, --private-key <string> The private key to use to deposit
-m, --mnemonic <string> The mnemonic to use to deposit (default:
"test test test test test test test test
test test test junk")
-i, --mnemonic-index <number> The index of the mnemonic to use to deposit
(default: 0)
-h, --help display help for command
aztec example-contracts
Usage: aztec example-contracts [options]
Lists the example contracts available to deploy from @aztec/noir-contracts.js
Options:
-h, --help display help for command
aztec execute-governance-proposal
Usage: aztec execute-governance-proposal [options]
Executes a governance proposal.
Options:
-p, --proposal-id <string> The ID of the proposal
-r, --registry-address <string> The address of the registry contract
--wait <boolean> Whether to wait until the proposal is
executable
--l1-rpc-urls <string> List of Ethereum host URLs. Chain
identifiers localhost and testnet can be
used (comma separated) (default:
["http://host.docker.internal:8545"], env:
ETHEREUM_HOSTS)
-c, --l1-chain-id <number> Chain ID of the ethereum host (default:
31337, env: L1_CHAIN_ID)
-pk, --private-key <string> The private key to use to vote
-m, --mnemonic <string> The mnemonic to use to vote (default: "test
test test test test test test test test test
test junk")
-i, --mnemonic-index <number> The index of the mnemonic to use to vote
(default: 0)
-h, --help display help for command
aztec fast-forward-epochs
Help for this command is currently unavailable due to a technical issue with option serialization.
aztec fmt
Format the Noir files in a workspace
Usage: nargo fmt [OPTIONS]
Options:
--check Run noirfmt in check mode
--package <PACKAGE> The name of the package to run the command on. By default run on the first one found moving up along the ancestors of the current directory
--workspace Run on all packages in the workspace
-h, --help Print help
aztec generate-bls-keypair
Usage: aztec generate-bls-keypair [options]
Generate a BLS keypair with convenience flags
Options:
--mnemonic <mnemonic> Mnemonic for BLS derivation
--ikm <hex> Initial keying material for BLS (alternative to
mnemonic)
--bls-path <path> EIP-2334 path (default m/12381/3600/0/0/0)
--g2 Derive on G2 subgroup
--compressed Output compressed public key
--json Print JSON output to stdout
--out <file> Write output to file
-h, --help display help for command
aztec generate-bootnode-enr
Usage: aztec generate-bootnode-enr [options] <privateKey> <p2pIp> <p2pPort>
Generates the encoded ENR record for a bootnode.
Arguments:
privateKey The peer id private key of the bootnode
p2pIp The bootnode P2P IP address
p2pPort The bootnode P2P port
Options:
-c, --l1-chain-id <number> Chain ID of the ethereum host (default: 31337,
env: L1_CHAIN_ID)
-h, --help display help for command