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

# Aztec CLI Reference

*This documentation is auto-generated from the `aztec` CLI help output.*

*Generated: Tue 27 Oct 2026 21:26:48 UTC*

*Command: `aztec`*

## Table of Contents

* [aztec](#aztec)

  * [aztec add-l1-validator](#aztec-add-l1-validator)

  * [aztec advance-epoch](#aztec-advance-epoch)

  * [aztec block-number](#aztec-block-number)

  * [aztec codegen](#aztec-codegen)

  * [aztec compile](#aztec-compile)

  * [aztec compute-genesis-values](#aztec-compute-genesis-values)

  * [aztec debug-rollup](#aztec-debug-rollup)

  * [aztec decode-enr](#aztec-decode-enr)

  * [aztec deploy-l1-contracts](#aztec-deploy-l1-contracts)

  * [aztec deploy-new-rollup](#aztec-deploy-new-rollup)

  * [aztec deposit-governance-tokens](#aztec-deposit-governance-tokens)

  * [aztec execute-governance-proposal](#aztec-execute-governance-proposal)

  * [aztec fast-forward-epochs](#aztec-fast-forward-epochs)

  * [aztec generate-bls-keypair](#aztec-generate-bls-keypair)

  * [aztec generate-bootnode-enr](#aztec-generate-bootnode-enr)

  * [aztec generate-keys](#aztec-generate-keys)

  * [aztec generate-l1-account](#aztec-generate-l1-account)

  * [aztec generate-p2p-private-key](#aztec-generate-p2p-private-key)

  * [aztec get-block](#aztec-get-block)

  * [aztec get-current-min-fee](#aztec-get-current-min-fee)

  * [aztec get-l1-addresses](#aztec-get-l1-addresses)

  * [aztec get-l1-balance](#aztec-get-l1-balance)

  * [aztec get-l1-to-l2-message-witness](#aztec-get-l1-to-l2-message-witness)

  * [aztec get-logs](#aztec-get-logs)

  * [aztec get-node-info](#aztec-get-node-info)

  * [aztec init](#aztec-init)

  * [aztec initiate-withdraw-by-attester](#aztec-initiate-withdraw-by-attester)

  * [aztec initiate-withdraw-by-attester-batch](#aztec-initiate-withdraw-by-attester-batch)

  * [aztec migrate-ha-db](#aztec-migrate-ha-db)

    * [aztec migrate-ha-db down](#aztec-migrate-ha-db-down)
    * [aztec migrate-ha-db up](#aztec-migrate-ha-db-up)

  * [aztec new](#aztec-new)

  * [aztec preload-crs](#aztec-preload-crs)

  * [aztec profile](#aztec-profile)

    * [aztec profile flamegraph](#aztec-profile-flamegraph)
    * [aztec profile gates](#aztec-profile-gates)

  * [aztec propose-with-lock](#aztec-propose-with-lock)

  * [aztec prover](#aztec-prover)

    * [aztec prover get-jobs](#aztec-prover-get-jobs)
    * [aztec prover start-proof](#aztec-prover-start-proof)

  * [aztec prune-rollup](#aztec-prune-rollup)

  * [aztec remove-l1-validator](#aztec-remove-l1-validator)

  * [aztec sequencers](#aztec-sequencers)

  * [aztec setup-protocol-contracts](#aztec-setup-protocol-contracts)

  * [aztec sign-attester-exit](#aztec-sign-attester-exit)

  * [aztec start](#aztec-start)

  * [aztec test](#aztec-test)

  * [aztec trigger-seed-snapshot](#aztec-trigger-seed-snapshot)

  * [aztec update](#aztec-update)

  * [aztec validator-keys|valKeys](#aztec-validator-keysvalkeys)

  * [aztec vote-on-governance-proposal](#aztec-vote-on-governance-proposal)

## aztec

Aztec command line interface

**Usage:**

```bash
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.
* `codegen [options] <noir-abi-path>` - Validates and generates an Aztec Contract ABI from Noir ABI.
* `compile [nargo-args...]` - Compile Aztec Noir contracts using nargo and postprocess them to generate transpiled artifacts and verification keys. All options are forwarded to nargo compile.
* `compute-genesis-values [options]` - Computes genesis values (VK tree root, protocol contracts hash, genesis archive root).
* `debug-rollup [options]` - Debugs the rollup contract.
* `decode-enr <enr>` - Decodes an ENR record
* `deploy-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.
* `execute-governance-proposal [options]` - Executes a governance proposal.
* `fast-forward-epochs [options]` - Fast forwards the epoch of the L1 rollup contract.
* `generate-bls-keypair [options]` - Generate a BLS keypair with convenience flags
* `generate-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.
* `get-block [options] [blockNumber]` - Gets info for a given block or latest.
* `get-current-min-fee [options]` - Gets the current base 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 public logs for a contract and tag, optionally restricted by block range or tx hash.
* `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 command
* `init` - creates a new Aztec Noir workspace in the current directory.
* `initiate-withdraw-by-attester [options]` - Initiates a withdrawal signed by the position's attester.
* `initiate-withdraw-by-attester-batch [options]` - Relays a JSON array of attester-signed withdrawal authorizations.
* `migrate-ha-db` - Run validator-ha-signer database migrations
* `new <name>` - creates a new Aztec Noir workspace in its own directory (or creates a new contract-test crates pair and adds it to the current workspace if run in workspace).
* `preload-crs` - Preload the points data needed for proving and verifying
* `profile` - Profile compiled Aztec artifacts.
* `propose-with-lock [options]` - Makes a proposal to governance with a lock
* `prover` - Operate a prover node via its admin JSON-RPC endpoint
* `prune-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 contracts
* `sign-attester-exit [options]` - Signs an exit authorization locally and writes a JSON array for batch submission.
* `start [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 TXE and runs "nargo test" using it as the oracle resolver.
* `trigger-seed-snapshot [options]` - Triggers a seed snapshot for the next epoch.
* `update [options] [projectPath]` - Updates Nodejs and Noir dependencies
* `validator-keys|valKeys` - Manage validator keystores for node operators
* `vote-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

Adds a validator to the L1 rollup contract via a direct deposit.

**Usage:**

```bash
aztec add-l1-validator [options]
```

**Options:**

* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost: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)
* `--no-move-with-latest-rollup` - Keep the stake on this rollup after an upgrade
* `--rollup <string>` - Rollup contract address
* `-h, --help` - display help for command

### aztec advance-epoch

Use L1 cheat codes to warp time until the next epoch.

**Usage:**

```bash
aztec advance-epoch [options]
```

**Options:**

* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost:8545"], env: ETHEREUM\_HOSTS)
* `-n, --node-url <string>` - URL of the Aztec node (default: "<http://localhost:8080>", env: AZTEC\_NODE\_URL)
* `-h, --help` - display help for command

### aztec block-number

Gets the current Aztec L2 block number.

**Usage:**

```bash
aztec block-number [options]
```

**Options:**

* `-n, --node-url <string>` - URL of the Aztec node (default: "<http://localhost:8080>", env: AZTEC\_NODE\_URL)
* `-h, --help` - display help for command

### aztec codegen

Validates and generates an Aztec Contract ABI from Noir ABI.

**Usage:**

```bash
aztec codegen [options] <noir-abi-path>
```

**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

Compile Aztec Noir contracts using nargo and postprocess them to generate transpiled artifacts and verification keys. All options are forwarded to nargo compile.

**Usage:**

```bash
aztec compile [options] [nargo-args...]
```

**Options:**

* `-h, --help` - display help for command
* `--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
* `--force` - Force a full recompilation
* `--print-acir` - Display the ACIR for compiled circuit, including the Brillig bytecode
* `--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
* `--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]
* `-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-genesis-values

Computes genesis values (VK tree root, protocol contracts hash, genesis archive root).

**Usage:**

```bash
aztec compute-genesis-values [options]
```

**Options:**

* `--test-accounts <boolean>` - Include initial test accounts in genesis state (env: TEST\_ACCOUNTS)
* `--sponsored-fpc <boolean>` - Include sponsored FPC contract in genesis state (env: SPONSORED\_FPC)
* `-h, --help` - display help for command

### aztec debug-rollup

Debugs the rollup contract.

**Usage:**

```bash
aztec debug-rollup [options]
```

**Options:**

* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost: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

Decodes and ENR record

**Usage:**

```bash
aztec decode-enr [options] <enr>
```

**Options:**

* `-h, --help` - display help for command

### aztec deploy-l1-contracts

Deploys all necessary Ethereum contracts for Aztec.

**Usage:**

```bash
aztec deploy-l1-contracts [options]
```

**Options:**

* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost: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)
* `--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)
* `--existing-token <address>` - Use an existing ERC20 for both fee and staking
* `-h, --help` - display help for command

### aztec deploy-new-rollup

Deploys a new rollup contract and adds it to the registry (if you are the owner).

**Usage:**

```bash
aztec deploy-new-rollup [options]
```

**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\://localhost: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)
* `--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)
* `-h, --help` - display help for command

### aztec deposit-governance-tokens

Deposits governance tokens to the governance contract.

**Usage:**

```bash
aztec deposit-governance-tokens [options]
```

**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\://localhost: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 execute-governance-proposal

Executes a governance proposal.

**Usage:**

```bash
aztec execute-governance-proposal [options]
```

**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\://localhost: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 generate-bls-keypair

Generate a BLS keypair with convenience flags

**Usage:**

```bash
aztec generate-bls-keypair [options]
```

**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)
* `--bls-key-derivation-v6` - Replace any BLS key whose estimated proof-of-possession gas exceeds the budget with the next deterministic candidate from the same mnemonic (BLS key derivation v6, budget 270000 gas). ETH keys never change. Pass it again to regenerate the same keys.
* `--bls-key-derivation-max-gas <gas>` - Stricter budget for the estimated proof-of-possession verification gas of each BLS key. The L1 limit (GSE proofOfPossessionGasLimit) is 300,000 gas from the v6 upgrade, and governance may change it; the default budget is 270000, that cap minus a 10% margin. Must be between 137790 and 270000. Without --bls-key-derivation-v6, an over-budget key is an error. Pass the same value again to regenerate the same keys.
* `--skip-bls-key-gas-check` - Keep the first derived BLS key even if its proof-of-possession check could exceed the L1 gas cap (for example, a key already registered).
* `--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

Generates the encoded ENR record for a bootnode.

**Usage:**

```bash
aztec generate-bootnode-enr [options] <privateKey> <p2pIp> <p2pPort>
```

**Options:**

* `-c, --l1-chain-id <number>` - Chain ID of the ethereum host (default: 31337, env: L1\_CHAIN\_ID)
* `-h, --help` - display help for command

### aztec generate-keys

Generates and encryption and signing private key pair.

**Usage:**

```bash
aztec generate-keys [options]
```

**Options:**

* `--json` - Output the keys in JSON format
* `-h, --help` - display help for command

### aztec generate-l1-account

Generates a new private key for an account on L1.

**Usage:**

```bash
aztec generate-l1-account [options]
```

**Options:**

* `--json` - Output the private key in JSON format
* `-h, --help` - display help for command

### aztec generate-p2p-private-key

Generates a private key that can be used for running a node on a LibP2P network.

**Usage:**

```bash
aztec generate-p2p-private-key [options]
```

**Options:**

* `-h, --help` - display help for command

### aztec get-block

Gets info for a given block or latest.

**Usage:**

```bash
aztec get-block [options] [blockNumber]
```

**Options:**

* `-n, --node-url <string>` - URL of the Aztec node (default: "<http://localhost:8080>", env: AZTEC\_NODE\_URL)
* `-h, --help` - display help for command

### aztec get-current-min-fee

Gets the current base fee.

**Usage:**

```bash
aztec get-current-min-fee [options]
```

**Options:**

* `-n, --node-url <string>` - URL of the Aztec node (default: "<http://localhost:8080>", env: AZTEC\_NODE\_URL)
* `-h, --help` - display help for command

### aztec get-l1-addresses

Gets the addresses of the L1 contracts.

**Usage:**

```bash
aztec get-l1-addresses [options]
```

**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\://localhost:8545"], env: ETHEREUM\_HOSTS)
* `-v, --rollup-version <number>` - The version of the rollup
* `-c, --l1-chain-id <number>` - Chain ID of the ethereum host (default: 31337, env: L1\_CHAIN\_ID)
* `--json` - Output the addresses in JSON format
* `-h, --help` - display help for command

### aztec get-l1-balance

Gets the balance of an ERC token in L1 for the given Ethereum address.

**Usage:**

```bash
aztec get-l1-balance [options] <who>
```

**Options:**

* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost:8545"], env: ETHEREUM\_HOSTS)
* `-t, --token <string>` - The address of the token to check the balance of
* `-c, --l1-chain-id <number>` - Chain ID of the ethereum host (default: 31337, env: L1\_CHAIN\_ID)
* `--json` - Output the balance in JSON format
* `-h, --help` - display help for command

### aztec get-l1-to-l2-message-witness

Gets a L1 to L2 message witness.

**Usage:**

```bash
aztec get-l1-to-l2-message-witness [options]
```

**Options:**

* `-ca, --contract-address <address>` - Aztec address of the contract.
* `--message-hash <messageHash>` - The L1 to L2 message hash.
* `--secret <secret>` - The secret used to claim the L1 to L2 message
* `-n, --node-url <string>` - URL of the Aztec node (default: "<http://localhost:8080>", env: AZTEC\_NODE\_URL)
* `-h, --help` - display help for command

### aztec get-logs

Gets public logs for a contract and tag, optionally restricted by block range or tx hash.

**Usage:**

```bash
aztec get-logs [options]
```

**Options:**

* `-ca, --contract-address <address>` - Contract address that emitted the logs.
* `--tag <tag>` - Tag (Fr value) to filter logs by.
* `-tx, --tx-hash <txHash>` - A transaction hash to restrict the search to.
* `-fb, --from-block <blockNum>` - Initial block number for getting logs (defaults to 1).
* `-tb, --to-block <blockNum>` - Up to which block to fetch logs (defaults to latest). \<blockNumber>-\<txIndexWithinBlock>-\<logIndexWithinTx> to resume pagination after.
* `-n, --node-url <string>` - URL of the Aztec node (default: "<http://localhost:8080>", env: AZTEC\_NODE\_URL)
* `--follow` - If set, will keep polling for new logs until interrupted.
* `-h, --help` - display help for command

### aztec get-node-info

Gets the information of an Aztec node from a PXE or directly from an Aztec node.

**Usage:**

```bash
aztec get-node-info [options]
```

**Options:**

* `--json` - Emit output as json
* `-n, --node-url <string>` - URL of the Aztec node (default: "<http://localhost:8080>", env: AZTEC\_NODE\_URL)
* `-h, --help` - display help for command

### aztec init

Aztec Init - Create a new Aztec Noir project in the current directory

**Usage:**

```bash
aztec init
```

**Options:**

* `-h, --help` - Print help

### aztec initiate-withdraw-by-attester

Initiates a withdrawal signed by the position's attester.

**Usage:**

```bash
aztec initiate-withdraw-by-attester [options]
```

**Options:**

* `-pk, --private-key <string>` - The attester private key; supply this or --mnemonic (env: PRIVATE\_KEY)
* `-m, --mnemonic <string>` - Mnemonic for the attester account; a flag overrides the other credential from the environment, and PRIVATE\_KEY wins when both come from the environment (env: MNEMONIC)
* `--account-index <number>` - Mnemonic account index, matching validator-keys generation (default: 0; requires --mnemonic)
* `--address-index <number>` - Mnemonic address index: validator-keys base address index + zero-based validator position; third validator = base + 2 (default: 0; requires --mnemonic)
* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost:8545"], env: ETHEREUM\_HOSTS)
* `-c, --l1-chain-id <number>` - Chain ID of the ethereum host (default: 31337, env: L1\_CHAIN\_ID)
* `--attester <address>` - Attester address of the position to exit
* `--rollup <address>` - Rollup holding the position
* `-h, --help` - display help for command

### aztec initiate-withdraw-by-attester-batch

Relays a JSON array of attester-signed withdrawal authorizations.

**Usage:**

```bash
aztec initiate-withdraw-by-attester-batch [options]
```

**Options:**

* `-pk, --private-key <string>` - The relayer private key; supply this or --mnemonic (env: PRIVATE\_KEY)
* `-m, --mnemonic <string>` - Mnemonic for the relayer account; a flag overrides the other credential from the environment, and PRIVATE\_KEY wins when both come from the environment (env: MNEMONIC)
* `--account-index <number>` - Mnemonic account index, matching validator-keys generation (default: 0; requires --mnemonic)
* `--address-index <number>` - Mnemonic address index for the relayer paying for the transaction; attesters sign authorizations separately (default: 0; requires --mnemonic)
* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost:8545"], env: ETHEREUM\_HOSTS)
* `-c, --l1-chain-id <number>` - Chain ID of the ethereum host (default: 31337, env: L1\_CHAIN\_ID)
* `--authorizations <path>` - JSON file containing attester, decimal deadline, and signature fields
* `--rollup <address>` - Rollup holding the positions
* `--up-to-limit` - Process the largest permitted prefix instead of reverting when the whole batch is too large
* `--dry-run` - Simulate against current chain state without sending; no relayer key is required
* `-h, --help` - display help for command

### aztec migrate-ha-db

Run validator-ha-signer database migrations

**Usage:**

```bash
aztec migrate-ha-db [options] [command]
```

**Available Commands:**

* `down [options]` - Rollback the last migration
* `help [command]` - display help for command
* `up [options]` - Apply pending migrations

**Options:**

* `-h --help` - display help for command

#### Subcommands

#### aztec migrate-ha-db down

Rollback the last migration

**Usage:**

```bash
aztec migrate-ha-db down [options]
```

**Options:**

* `--database-url <string>` - PostgreSQL connection string
* `--verbose` - Enable verbose output (default: false)
* `-h, --help` - display help for command

#### aztec migrate-ha-db up

Apply pending migrations

**Usage:**

```bash
aztec migrate-ha-db up [options]
```

**Options:**

* `--database-url <string>` - PostgreSQL connection string
* `--verbose` - Enable verbose output (default: false)
* `-h, --help` - display help for command

### aztec new

Aztec New - Create a new Aztec Noir project or add a contract to an existing workspace

**Usage:**

```bash
aztec new <NAME>
```

**Options:**

* `-h, --help` - Print help

### aztec preload-crs

Preload the points data needed for proving and verifying

**Usage:**

```bash
aztec preload-crs [options]
```

**Options:**

* `-h, --help` - display help for command

### aztec profile

Profile compiled Aztec artifacts.

**Usage:**

```bash
aztec profile [options] [command]
```

**Available Commands:**

* `flamegraph <contract-artifact> <function>` - Generate a gate count flamegraph SVG for a contract function.
* `gates [options] [target-dir]` - Display gate counts for all compiled Aztec artifacts in a target directory.
* `help [command]` - display help for command

**Options:**

* `-h --help` - display help for command

#### Subcommands

#### aztec profile flamegraph

Generate a gate count flamegraph SVG for a contract function.

**Usage:**

```bash
aztec profile flamegraph [options] <contract-artifact> <function>
```

**Options:**

* `-h, --help` - display help for command

#### aztec profile gates

Display gate counts for all compiled Aztec artifacts in a target directory.

**Usage:**

```bash
aztec profile gates [options] [target-dir]
```

**Options:**

* `--json` - Output gate counts as JSON instead of a table (default: false)
* `-h, --help` - display help for command

### aztec propose-with-lock

Makes a proposal to governance with a lock

**Usage:**

```bash
aztec propose-with-lock [options]
```

**Options:**

* `-r, --registry-address <string>` - The address of the registry contract
* `-p, --payload-address <string>` - The address of the payload contract
* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost: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 propose
* `-m, --mnemonic <string>` - The mnemonic to use to propose (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 propose (default: 0)
* `--json` - Output the proposal ID in JSON format
* `-h, --help` - display help for command

### aztec prover

Operate a prover node via its admin JSON-RPC endpoint

**Usage:**

```bash
aztec prover [options] [command]
```

**Available Commands:**

* `get-jobs [options]` - Lists the prover node proving jobs
* `help [command]` - display help for command
* `start-proof [options]` - Schedules proving for the given epoch

**Options:**

* `-h --help` - display help for command

#### Subcommands

#### aztec prover get-jobs

Lists the prover node proving jobs

**Usage:**

```bash
aztec prover get-jobs [options]
```

**Options:**

* `--admin-url <url>` - URL of the prover node admin JSON-RPC endpoint
* `--api-key <key>` - Admin API key
* `-h, --help` - display help for command

#### aztec prover start-proof

Schedules proving for the given epoch

**Usage:**

```bash
aztec prover start-proof [options]
```

**Options:**

* `--epoch <n>` - Epoch number to prove
* `--admin-url <url>` - URL of the prover node admin JSON-RPC endpoint
* `--api-key <key>` - Admin API key
* `-h, --help` - display help for command

### aztec prune-rollup

Prunes the pending chain on the rollup contract.

**Usage:**

```bash
aztec prune-rollup [options]
```

**Options:**

* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost:8545"], env: ETHEREUM\_HOSTS)
* `-pk, --private-key <string>` - The private key to use for deployment
* `-m, --mnemonic <string>` - The mnemonic to use in deployment (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)
* `--rollup <address>` - ethereum address of the rollup contract
* `-h, --help` - display help for command

### aztec remove-l1-validator

Removes a validator to the L1 rollup contract.

**Usage:**

```bash
aztec remove-l1-validator [options]
```

**Options:**

* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost:8545"], env: ETHEREUM\_HOSTS)
* `-pk, --private-key <string>` - The private key to use for deployment
* `-m, --mnemonic <string>` - The mnemonic to use in deployment (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)
* `--validator <address>` - ethereum address of the validator
* `--recipient <address>` - Address that receives the withdrawn stake; it cannot be changed once set
* `--rollup <address>` - ethereum address of the rollup contract
* `-h, --help` - display help for command

### aztec sequencers

Manages or queries registered sequencers on the L1 rollup contract.

**Usage:**

```bash
aztec sequencers [options] <command> [who]
```

**Options:**

* `--recipient <address>` - For remove (required): address that receives the withdrawn stake; it cannot be changed once set
* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost:8545"])
* `-m, --mnemonic <string>` - The mnemonic for the sender of the tx (default: "test test test test test test test test test test test junk")
* `--block-number <number>` - Block number to query next sequencer for
* `-n, --node-url <string>` - URL of the Aztec node (default: "<http://localhost:8080>", env: AZTEC\_NODE\_URL)
* `-c, --l1-chain-id <number>` - Chain ID of the ethereum host (default: 31337, env: L1\_CHAIN\_ID)
* `-h, --help` - display help for command

### aztec setup-protocol-contracts

Bootstrap the blockchain by initializing all the protocol contracts

**Usage:**

```bash
aztec setup-protocol-contracts [options]
```

**Options:**

* `-n, --node-url <string>` - URL of the Aztec node (default: "<http://localhost:8080>", env: AZTEC\_NODE\_URL)
* `--testAccounts` - Deploy funded test accounts.
* `--json` - Output the contract addresses in JSON format
* `-h, --help` - display help for command

### aztec sign-attester-exit

Signs an exit authorization locally and writes a JSON array for batch submission.

**Usage:**

```bash
aztec sign-attester-exit [options]
```

**Options:**

* `-pk, --private-key <string>` - The attester private key; supply this or --mnemonic (env: PRIVATE\_KEY)
* `-m, --mnemonic <string>` - Mnemonic for the attester account; a flag overrides the other credential from the environment, and PRIVATE\_KEY wins when both come from the environment (env: MNEMONIC)
* `--account-index <number>` - Mnemonic account index, matching validator-keys generation (default: 0; requires --mnemonic)
* `--address-index <number>` - Mnemonic address index: validator-keys base address index + zero-based validator position; third validator = base + 2 (default: 0; requires --mnemonic)
* `--l1-rpc-urls <string>` - Ethereum host URLs (comma separated); when given, the chain ID they report must match, and they supply it or the rollup when those are not given (env: ETHEREUM\_HOSTS)
* `-c, --l1-chain-id <number>` - Chain ID to sign for; required unless --network or --l1-rpc-urls supplies it, and a value from L1\_CHAIN\_ID alone must be confirmed by one of them (env: L1\_CHAIN\_ID)
* `--network <string>` - Network to execute against (env: NETWORK)
* `--attester <address>` - Attester address of the position to exit
* `--rollup <address>` - Rollup holding the position; defaults to the canonical rollup of --network
* `--deadline <timestamp>` - Authorization expiry as Unix seconds
* `--output <path>` - JSON output file (must be new unless --append is used)
* `--append` - Append or create if missing, without validating existing authorizations; run initiate-withdraw-by-attester-batch --dry-run after the batch is complete
* `-h, --help` - display help for command

### aztec start

**MISC**

* `--network <value>` Network to run Aztec on *Environment: `$NETWORK`*

* `--enable-auto-shutdown` Soft-shutdown the node when the canonical rollup is no longer compatible (protocol constants diverge), keeping the health server up so K8s probes keep passing. Only applies to nodes following the canonical rollup. *Environment: `$ENABLE_AUTO_SHUTDOWN`*

* `--sync-mode <value>` (default: `snapshot`) Set sync mode to `full` to always sync via L1, `snapshot` to download a snapshot if there is no local data, `force-snapshot` to download even if there is local data. *Environment: `$SYNC_MODE`*

* `--snapshots-urls <value>` Base URLs for snapshots index, comma-separated. *Environment: `$SYNC_SNAPSHOTS_URLS`*

* `--fisherman-mode` Whether to run in fisherman mode. *Environment: `$FISHERMAN_MODE`*

* `--local-network` Starts Aztec Local Network

* `--local-network.l1Mnemonic <value>` (default: `test test test test test test test test test test test junk`) Mnemonic for L1 accounts. Will be used *Environment: `$MNEMONIC`*

* `--local-network.testAccounts` (default: `true`) Deploy test accounts on local network start *Environment: `$TEST_ACCOUNTS`*

**API**

* `--port <value>` (default: `8080`) Port to run the Aztec Services on *Environment: `$AZTEC_PORT`*

* `--admin-port <value>` (default: `8880`) Port to run admin APIs of Aztec Services on *Environment: `$AZTEC_ADMIN_PORT`*

* `--admin-api-key-hash <value>` SHA-256 hex hash of a pre-generated admin API key. When set, the node uses this hash for authentication instead of auto-generating a key. *Environment: `$AZTEC_ADMIN_API_KEY_HASH`*

* `--disable-admin-api-key` Disable API key authentication on the admin RPC endpoint. By default, a key is auto-generated, displayed once, and its hash is persisted. *Environment: `$AZTEC_DISABLE_ADMIN_API_KEY`*

* `--reset-admin-api-key [value]` Force-generate a new admin API key, replacing any previously persisted key hash. The new key is displayed once at startup. *Environment: `$AZTEC_RESET_ADMIN_API_KEY`*

* `--node-debug` Expose debug endpoints (e.g. mineBlock) on the main RPC port *Environment: `$AZTEC_NODE_DEBUG`*

* `--api-prefix <value>` Prefix for API routes on any service that is started *Environment: `$API_PREFIX`*

* `--rpcMaxBatchSize <value>` (default: `100`) Maximum allowed batch size for JSON RPC batch requests. *Environment: `$RPC_MAX_BATCH_SIZE`*

* `--rpcMaxBodySize <value>` (default: `1mb`) Maximum allowed batch size for JSON RPC batch requests. *Environment: `$RPC_MAX_BODY_SIZE`*

* `--rpc-http-keep-alive-timeout-ms <value>` (default: `5000`) HTTP keep-alive timeout for JSON RPC connections in milliseconds. *Environment: `$RPC_HTTP_KEEP_ALIVE_TIMEOUT_MS`*

* `--rpc-http-headers-timeout-ms <value>` (default: `60000`) Timeout for receiving complete HTTP headers on JSON RPC connections in milliseconds. *Environment: `$RPC_HTTP_HEADERS_TIMEOUT_MS`*

* `--rpc-cors-allowed-headers <value>` Headers allowed in cross-origin JSON RPC requests, separated by commas. *Environment: `$RPC_CORS_ALLOWED_HEADERS`*

* `--rpc-cors-allowed-origins <value>` Origins allowed to make credentialed cross-origin JSON RPC requests, separated by commas. *Environment: `$RPC_CORS_ALLOWED_ORIGINS`*

* `--rpc-cors-allow-any-origin` Allow credentialed cross-origin JSON RPC requests from any origin. *Environment: `$RPC_CORS_ALLOW_ANY_ORIGIN`*

**ETHEREUM**

* `--l1-chain-id <value>` The chain ID of the ethereum host. *Environment: `$L1_CHAIN_ID`*

* `--l1-rpc-urls <value>` List of URLs of Ethereum RPC nodes that services will connect to (comma separated). *Environment: `$ETHEREUM_HOSTS`*

* `--l1-consensus-host-urls <value>` List of URLs of the Ethereum consensus nodes that services will connect to (comma separated) *Environment: `$L1_CONSENSUS_HOST_URLS`*

* `--l1-consensus-host-api-keys <value>` List of API keys for the corresponding L1 consensus clients, if needed. Added to the end of the corresponding URL as "?key=\<api-key>" unless a header is defined *Environment: `$L1_CONSENSUS_HOST_API_KEYS`*

* `--l1-consensus-host-api-key-headers <value>` List of header names for the corresponding L1 consensus client API keys, if needed. Added to the corresponding request as "\<api-key-header>: \<api-key>" *Environment: `$L1_CONSENSUS_HOST_API_KEY_HEADERS`*

* `--registry-address <value>` The deployed L1 registry contract address. *Environment: `$REGISTRY_CONTRACT_ADDRESS`*

* `--rollup-version <value>` The version of the rollup. *Environment: `$ROLLUP_VERSION`*

**STORAGE**

* `--data-directory <value>` Optional dir to store data. If omitted will store in memory. *Environment: `$DATA_DIRECTORY`*

* `--data-store-map-size-kb <value>` (default: `134217728`) The maximum possible size of a data store DB in KB. Can be overridden by component-specific options. *Environment: `$DATA_STORE_MAP_SIZE_KB`*

**WORLD STATE**

* `--world-state-data-directory <value>` Optional directory for the world state database *Environment: `$WS_DATA_DIRECTORY`*

* `--world-state-db-map-size-kb <value>` The maximum possible size of the world state DB in KB. Overwrites the general dataStoreMapSizeKb. *Environment: `$WS_DB_MAP_SIZE_KB`*

* `--world-state-history-retention <value>` (default: `rolling:64`) World-state history retention: rolling<!-- -->:N<!-- --> retains N finalized checkpoints, pinned<!-- -->:N<!-- --> retains checkpoint N onwards, archive retains all history. *Environment: `$WS_HISTORY_RETENTION`*

**AZTEC NODE**

* `--node` Starts Aztec Node with options

**ARCHIVER**

* `--archiver.blobSinkMapSizeKb <value>` The maximum possible size of the blob sink DB in KB. Overwrites the general dataStoreMapSizeKb. *Environment: `$BLOB_SINK_MAP_SIZE_KB`*

* `--archiver.blobAllowEmptySources <value>` Whether to allow having no blob sources configured during startup *Environment: `$BLOB_ALLOW_EMPTY_SOURCES`*

* `--archiver.blobFileStoreUrls <value>` URLs for filestore blob archive, comma-separated. Tried in order until blobs are found. *Environment: `$BLOB_FILE_STORE_URLS`*

* `--archiver.blobFileStoreUploadUrl <value>` URL for uploading blobs to filestore (s3://, gs\://, file://) *Environment: `$BLOB_FILE_STORE_UPLOAD_URL`*

* `--archiver.blobHealthcheckUploadIntervalMinutes <value>` Interval in minutes for uploading healthcheck file to file store (default: 60 = 1 hour) *Environment: `$BLOB_HEALTHCHECK_UPLOAD_INTERVAL_MINUTES`*

* `--archiver.blobPreferFilestores <value>` Whether to prefer filestores over consensus clients when fetching blobs. Default: false. *Environment: `$BLOB_PREFER_FILESTORES`*

* `--archiver.blobFileStoreTimeoutMs <value>` Timeout in ms for HTTP requests to the blob file store. Default: 10000 (10s). *Environment: `$BLOB_FILE_STORE_TIMEOUT_MS`*

* `--archiver.archiveApiUrl <value>` The URL of the archive API *Environment: `$BLOB_ARCHIVE_API_URL`*

* `--archiver.archiverPollingIntervalMS <value>` (default: `500`) The polling interval in ms for retrieving new L2 blocks and encrypted logs. *Environment: `$ARCHIVER_POLLING_INTERVAL_MS`*

* `--archiver.archiverBatchSize <value>` (default: `100`) The number of L2 blocks the archiver will attempt to download at a time. *Environment: `$ARCHIVER_BATCH_SIZE`*

* `--archiver.archiverStoreMapSizeKb <value>` The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKb. *Environment: `$ARCHIVER_STORE_MAP_SIZE_KB`*

* `--archiver.blockDurationMs <value>` Duration per block in milliseconds when building multiple blocks per slot. Used to derive orphan proposed block pruning timing. *Environment: `$SEQ_BLOCK_DURATION_MS`*

* `--archiver.checkpointProposalSyncGraceSeconds <value>` Consensus grace in seconds for a received checkpoint proposal to materialize into local proposed state. *Environment: `$CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS`*

* `--archiver.skipValidateCheckpointAttestations <value>` Skip validating checkpoint attestations (for testing purposes only)

* `--archiver.skipPromoteProposedCheckpointDuringL1Sync <value>` Skip promoting proposed checkpoints during L1 sync (for testing purposes only)

* `--archiver.maxAllowedEthClientDriftSeconds <value>` (default: `300`) Maximum allowed drift in seconds between the Ethereum client and current time. *Environment: `$MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS`*

* `--archiver.ethereumAllowNoDebugHosts <value>` Whether to allow starting the archiver without debug/trace method support on Ethereum hosts *Environment: `$ETHEREUM_ALLOW_NO_DEBUG_HOSTS`*

* `--archiver.archiverSkipHistoricalLogsCheck <value>` Skip the startup check that probes the L1 RPC for historical Rollup contract logs. Set to true to bypass the check when the connected RPC node is known to prune old logs. *Environment: `$ARCHIVER_SKIP_HISTORICAL_LOGS_CHECK`*

* `--archiver.orphanPruneNoProposalTolerance <value>` (default: `1`) Local tolerance in seconds before pruning an orphan block when no checkpoint proposal was received. *Environment: `$ARCHIVER_ORPHAN_PRUNE_NO_PROPOSAL_TOLERANCE`*

* `--archiver.skipOrphanProposedBlockPruning <value>` Skip pruning orphan proposed blocks that have no matching proposed checkpoint. *Environment: `$ARCHIVER_SKIP_ORPHAN_PROPOSED_BLOCK_PRUNING`*

* `--archiver.testPreloadStandardContracts <value>` Preload the standard contracts (AuthRegistry, PublicChecks, HandshakeRegistry) into the contract store at block 0. For test environments only, and only safe when genesis seeds the matching registration/deployment nullifiers; otherwise a later onchain publish would collide with the block-0 preload. *Environment: `$TEST_PRELOAD_STANDARD_CONTRACTS`*

**SEQUENCER**

* `--sequencer` Starts Aztec Sequencer with options

* `--sequencer.blockDurationMs <value>` (default: `3000`) Duration per block in milliseconds, used to derive how many blocks fit in a slot. *Environment: `$SEQ_BLOCK_DURATION_MS`*

* `--sequencer.validatorPrivateKeys <value>` (default: `[Redacted]`) List of private keys of the validators participating in attestation duties *Environment: `$VALIDATOR_PRIVATE_KEYS`*

* `--sequencer.validatorAddresses <value>` List of addresses of the validators to use with remote signers *Environment: `$VALIDATOR_ADDRESSES`*

* `--sequencer.disableValidator <value>` Do not run the validator *Environment: `$VALIDATOR_DISABLED`*

* `--sequencer.disabledValidators <value>` Temporarily disable these specific validator addresses

* `--sequencer.attestationPollingIntervalMs <value>` (default: `200`) Interval between polling for new attestations *Environment: `$VALIDATOR_ATTESTATIONS_POLLING_INTERVAL_MS`*

* `--sequencer.alwaysReexecuteBlockProposals <value>` (default: `true`) Whether to always reexecute block proposals, even for non-validator nodes (useful for monitoring network status).

* `--sequencer.skipCheckpointProposalValidation <value>` Skip checkpoint proposal validation, including the live Inbox endpoint check, and always attest. For testing only (default: false)

* `--sequencer.skipPushProposedBlocksToArchiver <value>` Skip pushing proposed blocks to archiver (test only)

* `--sequencer.attestToEquivocatedProposals <value>` Agree to attest to equivocated checkpoint proposals (for testing purposes only)

* `--sequencer.skipProposalSlotValidation <value>` Accept proposal validation regardless of slot timing (for testing only)

* `--sequencer.validateMaxL2BlockGas <value>` Maximum L2 block gas for validation. Proposals exceeding this limit are rejected. *Environment: `$VALIDATOR_MAX_L2_BLOCK_GAS`*

* `--sequencer.validateMaxDABlockGas <value>` Maximum DA block gas for validation. Proposals exceeding this limit are rejected. *Environment: `$VALIDATOR_MAX_DA_BLOCK_GAS`*

* `--sequencer.validateMaxTxsPerBlock <value>` Maximum transactions per block for validation. Proposals exceeding this limit are rejected. *Environment: `$VALIDATOR_MAX_TX_PER_BLOCK`*

* `--sequencer.validateMaxTxsPerCheckpoint <value>` Maximum transactions per checkpoint for validation. Proposals exceeding this limit are rejected. *Environment: `$VALIDATOR_MAX_TX_PER_CHECKPOINT`*

* `--sequencer.nodeId <value>` The unique identifier for this node *Environment: `$VALIDATOR_HA_NODE_ID`*

* `--sequencer.pollingIntervalMs <value>` (default: `100`) The number of ms to wait between polls when a duty is being signed *Environment: `$VALIDATOR_HA_POLLING_INTERVAL_MS`*

* `--sequencer.peerSigningTimeoutMs <value>` (default: `3000`) How long to wait for a peer node's in-progress signing before giving up *Environment: `$VALIDATOR_HA_SIGNING_TIMEOUT_MS`*

* `--sequencer.signerCallTimeoutMs <value>` (default: `30000`) Hard upper bound in ms on a single signer call before it is aborted (default 30000) *Environment: `$VALIDATOR_SIGNER_CALL_TIMEOUT_MS`*

* `--sequencer.maxStuckDutiesAgeMs <value>` The maximum age of a stuck duty in ms (defaults to 2x Aztec slot duration) *Environment: `$VALIDATOR_HA_MAX_STUCK_DUTIES_AGE_MS`*

* `--sequencer.cleanupOldDutiesAfterHours <value>` (default: `24`) Duty retention in hours from signing start (must be positive; minimum two slots) *Environment: `$VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H`*

* `--sequencer.signingProtectionMapSizeKb <value>` Maximum size of the local signing-protection LMDB store in KB. Overwrites the general dataStoreMapSizeKb. *Environment: `$SIGNING_PROTECTION_MAP_SIZE_KB`*

* `--sequencer.allowEphemeralSigningProtection <value>` Allow local signing protection to run against an ephemeral store when no data directory is set (dev/test only). Ephemeral protection does not survive restarts, so this is unsafe for production validators. *Environment: `$VALIDATOR_ALLOW_EPHEMERAL_SIGNING_PROTECTION`*

* `--sequencer.haSigningEnabled <value>` Whether HA signing / slashing protection is enabled *Environment: `$VALIDATOR_HA_SIGNING_ENABLED`*

* `--sequencer.databaseUrl <value>` PostgreSQL connection string for validator HA signer (format: postgresql://user<!-- -->:password<!-- -->@host<!-- -->:port<!-- -->/database) *Environment: `$VALIDATOR_HA_DATABASE_URL`*

* `--sequencer.poolMaxCount <value>` (default: `10`) Maximum number of clients in the pool *Environment: `$VALIDATOR_HA_POOL_MAX`*

* `--sequencer.poolMinCount <value>` Minimum number of clients in the pool *Environment: `$VALIDATOR_HA_POOL_MIN`*

* `--sequencer.poolIdleTimeoutMs <value>` (default: `10000`) Idle timeout in milliseconds *Environment: `$VALIDATOR_HA_POOL_IDLE_TIMEOUT_MS`*

* `--sequencer.poolConnectionTimeoutMs <value>` Connection timeout in milliseconds (0 means no timeout) *Environment: `$VALIDATOR_HA_POOL_CONNECTION_TIMEOUT_MS`*

* `--sequencer.sequencerPollingIntervalMS <value>` (default: `500`) The number of ms to wait between polling for checking to build on the next slot. *Environment: `$SEQ_POLLING_INTERVAL_MS`*

* `--sequencer.maxTxsPerCheckpoint <value>` The maximum number of txs across all blocks in a checkpoint. *Environment: `$SEQ_MAX_TX_PER_CHECKPOINT`*

* `--sequencer.minTxsPerBlock <value>` (default: `1`) The minimum number of txs to include in a block. *Environment: `$SEQ_MIN_TX_PER_BLOCK`*

* `--sequencer.minValidTxsPerBlock <value>` The minimum number of valid txs (after execution) to include in a block. If not set, falls back to minTxsPerBlock.

* `--sequencer.publishTxsWithProposals <value>` Whether to publish txs with proposals. *Environment: `$SEQ_PUBLISH_TXS_WITH_PROPOSALS`*

* `--sequencer.maxL2BlockGas <value>` The maximum L2 block gas. *Environment: `$SEQ_MAX_L2_BLOCK_GAS`*

* `--sequencer.maxDABlockGas <value>` The maximum DA block gas. *Environment: `$SEQ_MAX_DA_BLOCK_GAS`*

* `--sequencer.perBlockAllocationMultiplier <value>` (default: `1.2`) Per-block gas budget multiplier for both L2 and DA gas. Budget per block is (checkpointLimit / maxBlocks) \* multiplier. Values greater than one allow early blocks to use more than their even share, relying on checkpoint-level capping for later blocks. *Environment: `$SEQ_PER_BLOCK_ALLOCATION_MULTIPLIER`*

* `--sequencer.perBlockDAAllocationMultiplier <value>` (default: `1.5`) Per-block budget multiplier applied to DA gas and blob fields in place of perBlockAllocationMultiplier. Defaults higher than the general multiplier so the largest contract class deploy fits a single block. *Environment: `$SEQ_PER_BLOCK_DA_ALLOCATION_MULTIPLIER`*

* `--sequencer.redistributeCheckpointBudget <value>` (default: `true`) Redistribute remaining checkpoint budget evenly across remaining blocks instead of allowing a single block to consume the entire remaining budget. *Environment: `$SEQ_REDISTRIBUTE_CHECKPOINT_BUDGET`*

* `--sequencer.coinbase <value>` Recipient of block reward. *Environment: `$COINBASE`*

* `--sequencer.feeRecipient <value>` Address to receive fees. *Environment: `$FEE_RECIPIENT`*

* `--sequencer.noirExecuteWorkingDirectory <value>` The working directory to use for simulation/proving *Environment: `$NOIR_EXECUTE_WORKING_DIRECTORY`*

* `--sequencer.noirExecuteBinaryPath <value>` The path to the noir-execute binary *Environment: `$NOIR_EXECUTE_BINARY_PATH`*

* `--sequencer.governanceProposerPayload <value>` The address of the payload for the governanceProposer *Environment: `$GOVERNANCE_PROPOSER_PAYLOAD_ADDRESS`*

* `--sequencer.governanceProposerForcePayloadVote <value>` Keep signalling the configured governance payload even if a proposal referencing it was already executed. *Environment: `$GOVERNANCE_PROPOSER_FORCE_PAYLOAD_VOTE`*

* `--sequencer.l1PublishingTime <value>` (default: `12`) How much time in seconds to allow in the slot for publishing the L1 transaction. *Environment: `$SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT`*

* `--sequencer.secondsBeforeInvalidatingBlockAsCommitteeMember <value>` (default: `144`) How many seconds to wait before trying to invalidate a block from the pending chain as a committee member (zero to never invalidate). The next proposer is expected to invalidate, so the committee acts as a fallback. *Environment: `$SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_COMMITTEE_MEMBER`*

* `--sequencer.secondsBeforeInvalidatingBlockAsNonCommitteeMember <value>` (default: `432`) How many seconds to wait before trying to invalidate a block from the pending chain as a non-committee member (zero to never invalidate). The next proposer is expected to invalidate, then the committee, so other sequencers act as a fallback. *Environment: `$SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_NON_COMMITTEE_MEMBER`*

* `--sequencer.skipWaitForValidParentCheckpointOnL1 <value>` Bypass the parent checkpoint validity check before submitting a pipelined checkpoint, allowing the proposer to publish even when the parent landed on L1 with invalid attestations (for testing only)

* `--sequencer.broadcastInvalidBlockProposal <value>` Broadcast invalid block proposals with corrupted state (for testing only)

* `--sequencer.invalidBlockProposalIndexWithinCheckpoint <value>` Broadcast an invalid block proposal only at this indexWithinCheckpoint (for testing only)

* `--sequencer.broadcastInvalidCheckpointProposalOnly <value>` Broadcast invalid checkpoint proposals while keeping the underlying block proposals valid (for testing only). When unset, the checkpoint follows broadcastInvalidBlockProposal.

* `--sequencer.injectFakeAttestation <value>` Inject a fake attestation (for testing only)

* `--sequencer.injectHighSValueAttestation <value>` Inject a malleable attestation with a high-s value (for testing only)

* `--sequencer.injectUnrecoverableSignatureAttestation <value>` Inject an attestation with an unrecoverable signature (for testing only)

* `--sequencer.injectYParityAttestation <value>` Inject a non-proposer attestation slot in yParity form in the packed L1 tuple (for testing only)

* `--sequencer.republishAfterFakeAttestation <value>` Publish the checkpoint with a fake attestation first, then invalidate it and publish it again with the collected attestations within the same slot (for testing only)

* `--sequencer.shuffleAttestationOrdering <value>` Shuffle attestation ordering to create invalid ordering (for testing only)

* `--sequencer.expectedBlockProposalsPerSlot <value>` Expected number of block proposals per slot for P2P peer scoring. 0 (default) disables block proposal scoring. Set to a positive value to enable. *Environment: `$SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT`*

* `--sequencer.checkpointProposalSyncGraceSeconds <value>` (default: `6`) Consensus grace in seconds for a received checkpoint proposal to materialize into local proposed state. Defaults to twice the block duration. *Environment: `$CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS`*

* `--sequencer.maxTxsPerBlock <value>` The maximum number of txs to include in a block. *Environment: `$SEQ_MAX_TX_PER_BLOCK`*

* `--sequencer.attestationPropagationTime <value>` (default: `2`) How many seconds it takes for proposals and attestations to travel across the p2p layer (one-way). *Environment: `$SEQ_ATTESTATION_PROPAGATION_TIME`*

* `--sequencer.checkpointProposalPrepareTime <value>` (default: `1`) Local time in seconds between the last block build finishing and the checkpoint proposal being ready for p2p send. *Environment: `$SEQ_CHECKPOINT_PROPOSAL_PREPARE_TIME`*

* `--sequencer.minBlockDuration <value>` (default: `2`) Minimum block-building time in seconds still worth allocating if the proposer starts late. *Environment: `$SEQ_MIN_BLOCK_DURATION`*

* `--sequencer.maxBlocksPerCheckpoint <value>` (default: `24`) Maximum number of blocks the sequencer packs into a single checkpoint, and the maximum indexWithinCheckpoint accepted on inbound block proposals. *Environment: `$MAX_BLOCKS_PER_CHECKPOINT`*

* `--sequencer.buildCheckpointIfEmpty <value>` Have sequencer build and publish an empty checkpoint if there are no txs *Environment: `$SEQ_BUILD_CHECKPOINT_IF_EMPTY`*

* `--sequencer.minBlocksForCheckpoint <value>` Minimum number of blocks required for a checkpoint proposal (test only)

* `--sequencer.skipPublishingCheckpointsPercent <value>` Percent probability (0 - 100) of sequencer skipping checkpoint publishing (testing only) *Environment: `$SEQ_SKIP_CHECKPOINT_PUBLISH_PERCENT`*

* `--sequencer.skipBroadcastProposals <value>` Skip broadcasting checkpoint and block proposals via gossipsub when proposer (for testing only)

* `--sequencer.skipBroadcastCheckpointProposal <value>` Skip broadcasting only the CheckpointProposal via gossipsub when proposer; the held last block is broadcast standalone instead so peers still receive it as a proposed-but-uncheckpointed tip (for testing only)

* `--sequencer.pauseProposingForSlots <value>` List of slots for which the sequencer will not produce a proposal (for testing only). Attestation paths are unaffected.

* `--sequencer.minPeersToPropose <value>` (default: `1`) Minimum number of connected p2p peers required to build and propose a checkpoint (zero to disable the check). Ignored when p2p is disabled by config. *Environment: `$SEQ_MIN_PEERS_TO_PROPOSE`*

* `--sequencer.allowUnsafeInboxCatchupCapacity <value>` Allow starting with fewer block opportunities per checkpoint than a mandatory streaming-Inbox backlog needs (for testing only).

* `--sequencer.txPublicSetupAllowListExtend <value>` Additional entries to extend the default setup allow list. Format: I<!-- -->:address<!-- -->:selector\[<!-- -->:flags<!-- -->],C<!-- -->:classId<!-- -->:selector\[<!-- -->:flags<!-- -->]. Flags: os (onlySelf), rn (rejectNullMsgSender), cl=N (calldataLength), joined with +. *Environment: `$TX_PUBLIC_SETUP_ALLOWLIST`*

* `--sequencer.keyStoreDirectory <value>` Location of key store directory *Environment: `$KEY_STORE_DIRECTORY`*

* `--sequencer.sequencerPublisherPrivateKeys <value>` The private keys to be used by the sequencer publisher. *Environment: `$SEQ_PUBLISHER_PRIVATE_KEYS`*

* `--sequencer.sequencerPublisherAddresses <value>` The addresses of the publishers to use with remote signers *Environment: `$SEQ_PUBLISHER_ADDRESSES`*

* `--sequencer.blobAllowEmptySources <value>` Whether to allow having no blob sources configured during startup *Environment: `$BLOB_ALLOW_EMPTY_SOURCES`*

* `--sequencer.blobFileStoreUrls <value>` URLs for filestore blob archive, comma-separated. Tried in order until blobs are found. *Environment: `$BLOB_FILE_STORE_URLS`*

* `--sequencer.blobFileStoreUploadUrl <value>` URL for uploading blobs to filestore (s3://, gs\://, file://) *Environment: `$BLOB_FILE_STORE_UPLOAD_URL`*

* `--sequencer.blobHealthcheckUploadIntervalMinutes <value>` Interval in minutes for uploading healthcheck file to file store (default: 60 = 1 hour) *Environment: `$BLOB_HEALTHCHECK_UPLOAD_INTERVAL_MINUTES`*

* `--sequencer.blobPreferFilestores <value>` Whether to prefer filestores over consensus clients when fetching blobs. Default: false. *Environment: `$BLOB_PREFER_FILESTORES`*

* `--sequencer.blobFileStoreTimeoutMs <value>` Timeout in ms for HTTP requests to the blob file store. Default: 10000 (10s). *Environment: `$BLOB_FILE_STORE_TIMEOUT_MS`*

* `--sequencer.archiveApiUrl <value>` The URL of the archive API *Environment: `$BLOB_ARCHIVE_API_URL`*

* `--sequencer.sequencerPublisherAllowInvalidStates <value>` (default: `true`) True to use publishers in invalid states (timed out, cancelled, etc) if no other is available *Environment: `$SEQ_PUBLISHER_ALLOW_INVALID_STATES`*

* `--sequencer.sequencerPublisherForwarderAddress <value>` Address of the forwarder contract to wrap all L1 transactions through (for testing purposes only) *Environment: `$SEQ_PUBLISHER_FORWARDER_ADDRESS`*

* `--sequencer.sequencerPublisherPreviousL1BlockWaitTimeoutMs <value>` (default: `8000`) How long to wait for the previous L1 block before sending scheduled publisher txs anyway, in milliseconds. *Environment: `$SEQ_PUBLISHER_PREVIOUS_L1_BLOCK_WAIT_TIMEOUT_MS`*

* `--sequencer.sequencerPublisherPreviousL1BlockWaitPollIntervalMs <value>` (default: `500`) Poll interval while waiting for the previous L1 block before scheduled publisher txs, in milliseconds. *Environment: `$SEQ_PUBLISHER_PREVIOUS_L1_BLOCK_WAIT_POLL_INTERVAL_MS`*

* `--sequencer.l1TxFailedStore <value>` Store for failed L1 transaction inputs (test networks only). Format: gs\://bucket/path *Environment: `$L1_TX_FAILED_STORE`*

* `--sequencer.publisherFundingThreshold <value>` Min ETH balance below which a publisher gets funded. Specified in ether (e.g. 0.1). Unset = funding disabled. *Environment: `$PUBLISHER_FUNDING_THRESHOLD`*

* `--sequencer.publisherFundingAmount <value>` Amount of ETH to send when funding a publisher. Specified in ether (e.g. 0.5). Unset = funding disabled. *Environment: `$PUBLISHER_FUNDING_AMOUNT`*

* `--sequencer.publisherLowBalanceWarningMultiplier <value>` (default: `4`) Warn when a publisher balance is below this multiple of the ETH required for a reference L1 send (a first-of-epoch proposal for sequencers, an epoch proof for provers) at current fees. Publishers that cannot afford a send are never used for it. *Environment: `$PUBLISHER_LOW_BALANCE_WARNING_MULTIPLIER`*

**PROVER NODE**

* `--prover-node` Starts Aztec Prover Node with options

* `--proverNode.keyStoreDirectory <value>` Location of key store directory *Environment: `$KEY_STORE_DIRECTORY`*

* `--proverNode.noirExecuteWorkingDirectory <value>` The working directory to use for simulation/proving *Environment: `$NOIR_EXECUTE_WORKING_DIRECTORY`*

* `--proverNode.noirExecuteBinaryPath <value>` The path to the noir-execute binary *Environment: `$NOIR_EXECUTE_BINARY_PATH`*

* `--proverNode.bbWorkingDirectory <value>` The working directory to use for proving *Environment: `$BB_WORKING_DIRECTORY`*

* `--proverNode.bbBinaryPath <value>` The path to the bb binary *Environment: `$BB_BINARY_PATH`*

* `--proverNode.bbSkipCleanup <value>` Whether to skip cleanup of bb temporary files *Environment: `$BB_SKIP_CLEANUP`*

* `--proverNode.numConcurrentIVCVerifiers <value>` (default: `8`) Max concurrent verifications for the RPC verifier (QueuedIVCVerifier). *Environment: `$BB_NUM_IVC_VERIFIERS`*

* `--proverNode.bbIVCConcurrency <value>` (default: `1`) Thread count for the RPC IVC verifier. *Environment: `$BB_IVC_CONCURRENCY`*

* `--proverNode.bbChonkVerifyMaxBatch <value>` (default: `16`) Upper bound on proofs per batch for the peer chonk batch verifier. Proofs are verified immediately as they arrive; this only caps how many can accumulate while a batch is already being processed. *Environment: `$BB_CHONK_VERIFY_MAX_BATCH`*

* `--proverNode.bbChonkVerifyConcurrency <value>` (default: `6`) Thread count for the peer batch verifier parallel reduce. 0 = auto. *Environment: `$BB_CHONK_VERIFY_BATCH_CONCURRENCY`*

* `--proverNode.bbDebugOutputDir <value>` When set, bb.js operations write input/output files and log equivalent CLI commands to this directory *Environment: `$BB_DEBUG_OUTPUT_DIR`*

* `--proverNode.nodeUrl <value>` The URL to the Aztec node to take proving jobs from *Environment: `$AZTEC_NODE_URL`*

* `--proverNode.proverId <value>` Hex value that identifies the prover. Defaults to the address used for submitting proofs if not set. *Environment: `$PROVER_ID`*

* `--proverNode.failedProofStore <value>` Store for failed proof inputs. Google cloud storage is only supported at the moment. Set this value as gs\://bucket-name/path/to/store. *Environment: `$PROVER_FAILED_PROOF_STORE`*

* `--proverNode.enqueueConcurrency <value>` (default: `50`) Max concurrent jobs the orchestrator serializes and enqueues to the broker. *Environment: `$PROVER_ENQUEUE_CONCURRENCY`*

* `--proverNode.blobSinkMapSizeKb <value>` The maximum possible size of the blob sink DB in KB. Overwrites the general dataStoreMapSizeKb. *Environment: `$BLOB_SINK_MAP_SIZE_KB`*

* `--proverNode.blobAllowEmptySources <value>` Whether to allow having no blob sources configured during startup *Environment: `$BLOB_ALLOW_EMPTY_SOURCES`*

* `--proverNode.blobFileStoreUrls <value>` URLs for filestore blob archive, comma-separated. Tried in order until blobs are found. *Environment: `$BLOB_FILE_STORE_URLS`*

* `--proverNode.blobFileStoreUploadUrl <value>` URL for uploading blobs to filestore (s3://, gs\://, file://) *Environment: `$BLOB_FILE_STORE_UPLOAD_URL`*

* `--proverNode.blobHealthcheckUploadIntervalMinutes <value>` Interval in minutes for uploading healthcheck file to file store (default: 60 = 1 hour) *Environment: `$BLOB_HEALTHCHECK_UPLOAD_INTERVAL_MINUTES`*

* `--proverNode.blobPreferFilestores <value>` Whether to prefer filestores over consensus clients when fetching blobs. Default: false. *Environment: `$BLOB_PREFER_FILESTORES`*

* `--proverNode.blobFileStoreTimeoutMs <value>` Timeout in ms for HTTP requests to the blob file store. Default: 10000 (10s). *Environment: `$BLOB_FILE_STORE_TIMEOUT_MS`*

* `--proverNode.archiveApiUrl <value>` The URL of the archive API *Environment: `$BLOB_ARCHIVE_API_URL`*

* `--proverNode.proverPublisherAllowInvalidStates <value>` (default: `true`) True to use publishers in invalid states (timed out, cancelled, etc) if no other is available *Environment: `$PROVER_PUBLISHER_ALLOW_INVALID_STATES`*

* `--proverNode.publisherFundingThreshold <value>` Min ETH balance below which a publisher gets funded. Specified in ether (e.g. 0.1). Unset = funding disabled. *Environment: `$PUBLISHER_FUNDING_THRESHOLD`*

* `--proverNode.publisherFundingAmount <value>` Amount of ETH to send when funding a publisher. Specified in ether (e.g. 0.5). Unset = funding disabled. *Environment: `$PUBLISHER_FUNDING_AMOUNT`*

* `--proverNode.publisherLowBalanceWarningMultiplier <value>` (default: `4`) Warn when a publisher balance is below this multiple of the ETH required for a reference L1 send (a first-of-epoch proposal for sequencers, an epoch proof for provers) at current fees. Publishers that cannot afford a send are never used for it. *Environment: `$PUBLISHER_LOW_BALANCE_WARNING_MULTIPLIER`*

* `--proverNode.proverPublisherPrivateKeys <value>` The private keys to be used by the prover publisher. *Environment: `$PROVER_PUBLISHER_PRIVATE_KEYS`*

* `--proverNode.proverPublisherAddresses <value>` The addresses of the publishers to use with remote signers *Environment: `$PROVER_PUBLISHER_ADDRESSES`*

* `--proverNode.proverNodeMaxPendingJobs <value>` (default: `10`) The maximum number of pending jobs for the prover node *Environment: `$PROVER_NODE_MAX_PENDING_JOBS`*

* `--proverNode.proverNodePollingIntervalMs <value>` (default: `1000`) The interval in milliseconds to poll for new jobs *Environment: `$PROVER_NODE_POLLING_INTERVAL_MS`*

* `--proverNode.proverNodeMaxParallelBlocksPerEpoch <value>` The Maximum number of blocks to process in parallel while proving an epoch *Environment: `$PROVER_NODE_MAX_PARALLEL_BLOCKS_PER_EPOCH`*

* `--proverNode.proverNodeFailedEpochStore <value>` File store where to upload node state when an epoch fails to be proven *Environment: `$PROVER_NODE_FAILED_EPOCH_STORE`*

* `--proverNode.proverNodeEpochProvingDelayMs <value>` Optional delay in milliseconds to wait for late-arriving events (e.g. reorgs) to settle before starting top-tree proving for an epoch

* `--proverNode.txGatheringIntervalMs <value>` (default: `1000`) How often to check that tx data is available *Environment: `$PROVER_NODE_TX_GATHERING_INTERVAL_MS`*

* `--proverNode.txGatheringBatchSize <value>` (default: `10`) How many transactions to gather from a node in a single request *Environment: `$PROVER_NODE_TX_GATHERING_BATCH_SIZE`*

* `--proverNode.txGatheringMaxParallelRequestsPerNode <value>` (default: `100`) How many tx requests to make in parallel to each node *Environment: `$PROVER_NODE_TX_GATHERING_MAX_PARALLEL_REQUESTS_PER_NODE`*

* `--proverNode.txGatheringTimeoutMs <value>` (default: `120000`) How long to wait for tx data to be available before giving up *Environment: `$PROVER_NODE_TX_GATHERING_TIMEOUT_MS`*

* `--proverNode.proverNodeDisableProofPublish <value>` Whether the prover node skips publishing proofs to L1 *Environment: `$PROVER_NODE_DISABLE_PROOF_PUBLISH`*

* `--proverNode.proverNodeDisableFullEpochProving <value>` Whether the prover node skips proving complete epochs on its own. It still proves partial epochs requested through the startProof admin API, e.g. by a sidecar that pays for early withdrawal proofs. *Environment: `$PROVER_NODE_DISABLE_FULL_EPOCH_PROVING`*

* `--proverNode.proofSubmissionTargetAddress <value>` Optional L1 address the submitEpochRootProof tx is sent to. Must expose the identical submitEpochRootProof ABI and forward to the rollup. Defaults to the rollup address. *Environment: `$PROVER_NODE_PROOF_SUBMISSION_TARGET_ADDRESS`*

* `--proverNode.web3SignerUrl <value>` URL of the Web3Signer instance *Environment: `$WEB3_SIGNER_URL`*

**PROVER BROKER**

* `--prover-broker` Starts Aztec proving job broker

* `--proverBroker.proverBrokerJobTimeoutMs <value>` (default: `30000`) Jobs are retried if not kept alive for this long *Environment: `$PROVER_BROKER_JOB_TIMEOUT_MS`*

* `--proverBroker.proverBrokerPollIntervalMs <value>` (default: `1000`) The interval to check job health status *Environment: `$PROVER_BROKER_POLL_INTERVAL_MS`*

* `--proverBroker.proverBrokerJobMaxRetries <value>` (default: `3`) If starting a prover broker locally, the max number of retries per proving job *Environment: `$PROVER_BROKER_JOB_MAX_RETRIES`*

* `--proverBroker.proverBrokerBatchSize <value>` (default: `100`) The prover broker writes jobs to disk in batches *Environment: `$PROVER_BROKER_BATCH_SIZE`*

* `--proverBroker.proverBrokerBatchIntervalMs <value>` (default: `50`) How often to flush batches to disk *Environment: `$PROVER_BROKER_BATCH_INTERVAL_MS`*

* `--proverBroker.proverBrokerMaxEpochsToKeepResultsFor <value>` (default: `1`) The maximum number of epochs to keep results for *Environment: `$PROVER_BROKER_MAX_EPOCHS_TO_KEEP_RESULTS_FOR`*

* `--proverBroker.proverBrokerStoreMapSizeKb <value>` The size of the prover broker's database. Will override the dataStoreMapSizeKb if set. *Environment: `$PROVER_BROKER_STORE_MAP_SIZE_KB`*

* `--proverBroker.proverBrokerDebugReplayEnabled <value>` Enable debug replay mode for replaying proving jobs from stored inputs *Environment: `$PROVER_BROKER_DEBUG_REPLAY_ENABLED`*

**PROVER AGENT**

* `--prover-agent` Starts Aztec Prover Agent with options

* `--proverAgent.proverAgentCount <value>` (default: `1`) Whether this prover has a local prover agent *Environment: `$PROVER_AGENT_COUNT`*

* `--proverAgent.proverAgentPollIntervalMs <value>` (default: `1000`) The interval agents poll for jobs at *Environment: `$PROVER_AGENT_POLL_INTERVAL_MS`*

* `--proverAgent.proverAgentProofTypes <value>` The types of proofs the prover agent can generate *Environment: `$PROVER_AGENT_PROOF_TYPES`*

* `--proverAgent.proverBrokerUrl <value>` The URL where this agent takes jobs from *Environment: `$PROVER_BROKER_HOST`*

* `--proverAgent.realProofs <value>` (default: `true`) Whether to construct real proofs *Environment: `$PROVER_REAL_PROOFS`*

* `--proverAgent.proverTestDelayType <value>` (default: `fixed`) The type of artificial delay to introduce *Environment: `$PROVER_TEST_DELAY_TYPE`*

* `--proverAgent.proverTestDelayMs <value>` Artificial delay to introduce to all operations to the test prover. *Environment: `$PROVER_TEST_DELAY_MS`*

* `--proverAgent.proverTestDelayFactor <value>` (default: `1`) If using realistic delays, what percentage of realistic times to apply. *Environment: `$PROVER_TEST_DELAY_FACTOR`*

* `--proverAgent.proverTestVerificationDelayMs <value>` (default: `10`) The delay (ms) to inject during fake proof verification *Environment: `$PROVER_TEST_VERIFICATION_DELAY_MS`*

* `--proverAgent.cancelJobsOnStop <value>` Whether to abort pending proving jobs when the orchestrator is cancelled. When false (default), jobs remain in the broker queue and can be reused on restart/reorg. *Environment: `$PROVER_CANCEL_JOBS_ON_STOP`*

* `--proverAgent.proofStore <value>` Optional proof input store for the prover *Environment: `$PROVER_PROOF_STORE`*

* `--p2p-enabled [value]` Enable P2P subsystem *Environment: `$P2P_ENABLED`*

* `--p2p.validateMaxTxsPerBlock <value>` Maximum transactions per block for validation. Overrides maxTxsPerBlock for gossip validation when set. *Environment: `$VALIDATOR_MAX_TX_PER_BLOCK`*

* `--p2p.validateMaxTxsPerCheckpoint <value>` Maximum transactions per checkpoint for validation. Used as fallback for maxTxsPerBlock when that is not set. *Environment: `$VALIDATOR_MAX_TX_PER_CHECKPOINT`*

* `--p2p.p2pDiscoveryDisabled <value>` A flag dictating whether the P2P discovery system should be disabled. *Environment: `$P2P_DISCOVERY_DISABLED`*

* `--p2p.blockCheckIntervalMS <value>` (default: `100`) The frequency in which to check for new L2 blocks. *Environment: `$P2P_BLOCK_CHECK_INTERVAL_MS`*

* `--p2p.debugDisableColocationPenalty <value>` DEBUG: Disable colocation penalty - NEVER set to true in production *Environment: `$DEBUG_P2P_DISABLE_COLOCATION_PENALTY`*

* `--p2p.peerCheckIntervalMS <value>` (default: `30000`) The frequency in which to check for new peers. *Environment: `$P2P_PEER_CHECK_INTERVAL_MS`*

* `--p2p.peerFailedBanTimeMs <value>` (default: `300000`) How long to ban a peer after it fails maximum dial attempts. *Environment: `$P2P_PEER_FAILED_BAN_TIME_MS`*

* `--p2p.l2QueueSize <value>` (default: `1000`) Size of queue of L2 blocks to store. *Environment: `$P2P_L2_QUEUE_SIZE`*

* `--p2p.listenAddress <value>` (default: `0.0.0.0`) The listen address. ipv4 address. *Environment: `$P2P_LISTEN_ADDR`*

* `--p2p.p2pPort <value>` (default: `40400`) The port for the P2P service. Defaults to 40400 *Environment: `$P2P_PORT`*

* `--p2p.p2pBroadcastPort <value>` The port to broadcast the P2P service on (included in the node's ENR). Defaults to P2P\_PORT. *Environment: `$P2P_BROADCAST_PORT`*

* `--p2p.p2pIp <value>` The IP address for the P2P service. ipv4 address. *Environment: `$P2P_IP`*

* `--p2p.peerIdPrivateKey <value>` An optional peer id private key. If blank, will generate a random key. *Environment: `$PEER_ID_PRIVATE_KEY`*

* `--p2p.peerIdPrivateKeyPath <value>` An optional path to store generated peer id private keys. If blank, will default to storing any generated keys in the root of the data directory. *Environment: `$PEER_ID_PRIVATE_KEY_PATH`*

* `--p2p.bootstrapNodes <value>` A list of bootstrap peer ENRs to connect to. Separated by commas. *Environment: `$BOOTSTRAP_NODES`*

* `--p2p.bootstrapNodeEnrVersionCheck <value>` Whether to check the version of the bootstrap node ENR. *Environment: `$P2P_BOOTSTRAP_NODE_ENR_VERSION_CHECK`*

* `--p2p.bootstrapNodesAsFullPeers <value>` Whether to consider our configured bootnodes as full peers *Environment: `$P2P_BOOTSTRAP_NODES_AS_FULL_PEERS`*

* `--p2p.maxPeerCount <value>` (default: `100`) The maximum number of peers to connect to. *Environment: `$P2P_MAX_PEERS`*

* `--p2p.p2pHealthMinPeers <value>` Minimum number of connected peers for p2p to be reported as healthy on the status endpoint. Zero never fails the check. *Environment: `$P2P_HEALTH_MIN_PEERS`*

* `--p2p.queryForIp <value>` If announceUdpAddress or announceTcpAddress are not provided, query for the IP address of the machine. Default is false. *Environment: `$P2P_QUERY_FOR_IP`*

* `--p2p.publicIpServices <value>` (default: `https://api.ipify.org/,https://checkip.amazonaws.com/,https://ifconfig.me/ip,https://icanhazip.com/`) Comma-separated HTTPS URLs that return plain-text public IPv4. Used when P2P\_QUERY\_FOR\_IP is true and P2P\_IP is unset. Tried in order until one succeeds. *Environment: `$P2P_PUBLIC_IP_SERVICES`*

* `--p2p.gossipsubInterval <value>` (default: `700`) The interval of the gossipsub heartbeat to perform maintenance tasks. *Environment: `$P2P_GOSSIPSUB_INTERVAL_MS`*

* `--p2p.gossipsubD <value>` (default: `8`) The D parameter for the gossipsub protocol. *Environment: `$P2P_GOSSIPSUB_D`*

* `--p2p.gossipsubDlo <value>` (default: `4`) The Dlo parameter for the gossipsub protocol. *Environment: `$P2P_GOSSIPSUB_DLO`*

* `--p2p.gossipsubDhi <value>` (default: `12`) The Dhi parameter for the gossipsub protocol. *Environment: `$P2P_GOSSIPSUB_DHI`*

* `--p2p.gossipsubDLazy <value>` (default: `8`) The Dlazy parameter for the gossipsub protocol. *Environment: `$P2P_GOSSIPSUB_DLAZY`*

* `--p2p.gossipsubFloodPublish <value>` Whether to flood publish messages. - For testing purposes only *Environment: `$P2P_GOSSIPSUB_FLOOD_PUBLISH`*

* `--p2p.gossipsubMcacheLength <value>` (default: `12`) The number of gossipsub interval message cache windows to keep. *Environment: `$P2P_GOSSIPSUB_MCACHE_LENGTH`*

* `--p2p.gossipsubMcacheGossip <value>` (default: `3`) How many message cache windows to include when gossiping with other peers. *Environment: `$P2P_GOSSIPSUB_MCACHE_GOSSIP`*

* `--p2p.gossipsubSeenTTL <value>` (default: `1200000`) How long to keep message IDs in the seen cache. *Environment: `$P2P_GOSSIPSUB_SEEN_TTL`*

* `--p2p.maxGossipClockDisparityMs <value>` (default: `500`) Maximum clock-disparity tolerance (ms) applied to both ends of proposal/attestation gossip receive windows. *Environment: `$P2P_MAX_GOSSIP_CLOCK_DISPARITY_MS`*

* `--p2p.gossipsubTxTopicWeight <value>` (default: `1`) The weight of the tx topic for the gossipsub protocol. *Environment: `$P2P_GOSSIPSUB_TX_TOPIC_WEIGHT`*

* `--p2p.gossipsubTxInvalidMessageDeliveriesWeight <value>` (default: `-20`) The weight of the tx invalid message deliveries for the gossipsub protocol. *Environment: `$P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT`*

* `--p2p.gossipsubTxInvalidMessageDeliveriesDecay <value>` (default: `0.5`) Determines how quickly the penalty for invalid message deliveries decays over time. Between 0 and 1. *Environment: `$P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY`*

* `--p2p.peerPenaltyValues <value>` (default: `2,10,50`) The values for the peer scoring system. Passed as a comma separated list of values in order: low, mid, high tolerance errors. *Environment: `$P2P_PEER_PENALTY_VALUES`*

* `--p2p.peerBanDurationSeconds <value>` (default: `86400`) How long (in seconds) a peer is banned for once its score drops below the ban threshold. *Environment: `$P2P_PEER_BAN_DURATION_SECONDS`*

* `--p2p.doubleSpendSeverePeerPenaltyWindow <value>` (default: `30`)

### aztec test

*No help information available for this command.*

### aztec trigger-seed-snapshot

Triggers a seed snapshot for the next epoch.

**Usage:**

```bash
aztec trigger-seed-snapshot [options]
```

**Options:**

* `-pk, --private-key <string>` - The private key to use for deployment
* `-m, --mnemonic <string>` - The mnemonic to use in deployment (default: "test test test test test test test test test test test junk")
* `--rollup <address>` - ethereum address of the rollup contract
* `--l1-rpc-urls <string>` - List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated) (default: \["http\://localhost:8545"], env: ETHEREUM\_HOSTS)
* `-c, --l1-chain-id <number>` - Chain ID of the ethereum host (default: 31337, env: L1\_CHAIN\_ID)
* `-h, --help` - display help for command

### aztec update

Updates Nodejs and Noir dependencies

**Usage:**

```bash
aztec update [options] [projectPath]
```

**Options:**

* `--contract [paths...]` - Paths to contracts to update dependencies (default: \[])
* `--aztec-version <semver>` - The version to update Aztec packages to. Defaults to latest (default: "latest")
* `-h, --help` - display help for command

### aztec validator-keys|valKeys

*This subcommand does not provide its own help information.*

### aztec vote-on-governance-proposal

Votes on a governance proposal.

**Usage:**

```bash
aztec vote-on-governance-proposal [options]
```

**Options:**

* `-p, --proposal-id <string>` - The ID of the proposal
* `-a, --vote-amount <string>` - The amount of tokens to vote
* `--in-favor <boolean>` - Whether to vote in favor of the proposal. Use "yea" for true, any other value for false.
* `--wait <boolean>` - Whether to wait until the proposal is active
* `-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\://localhost: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
