Cli Reference
Configuration notes:
- The environment variable name corresponding to each flag is shown as $ENV_VAR on the right hand side.
- If two subsystems can contain the same configuration option, only one needs to be provided. For example,
--archiver.blobSinkUrland--sequencer.blobSinkUrlpoint to the same value.
MISC
--network <value> ($NETWORK)
Network to run Aztec on
--enable-version-check (default: true) ($ENABLE_VERSION_CHECK)
Check if the node is running the latest version and is following the latest rollup
--sync-mode <value> (default: snapshot) ($SYNC_MODE)
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.
--snapshots-urls <value> (default: ) ($SYNC_SNAPSHOTS_URLS)
Base URLs for snapshots index, comma-separated.
--fisherman-mode ($FISHERMAN_MODE)
Whether to run in fisherman mode.
LOCAL_NETWORK
--local-network
Starts Aztec Local Network
--local-network.l1Mnemonic <value> (default: test test test test test test test test test test test junk)($MNEMONIC)
Mnemonic for L1 accounts. Will be used
--local-network.testAccounts (default: true) ($TEST_ACCOUNTS)
Deploy test accounts on local network start
API
--port <value> (default: 8080) ($AZTEC_PORT)
Port to run the Aztec Services on
--admin-port <value> (default: 8880) ($AZTEC_ADMIN_PORT)
Port to run admin APIs of Aztec Services on
--admin-api-key-hash <value> ($AZTEC_ADMIN_API_KEY_HASH)
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.
--disable-admin-api-key ($AZTEC_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.
--reset-admin-api-key ($AZTEC_RESET_ADMIN_API_KEY)
Force-generate a new admin API key, replacing any previously persisted key hash. The new key is displayed once at startup.
--node-debug ($AZTEC_NODE_DEBUG)
Expose debug endpoints (e.g. mineBlock) on the main RPC port
--api-prefix <value> ($API_PREFIX)
Prefix for API routes on any service that is started
--rpcMaxBatchSize <value> (default: 100) ($RPC_MAX_BATCH_SIZE)
Maximum allowed batch size for JSON RPC batch requests.
--rpcMaxBodySize <value> (default: 1mb) ($RPC_MAX_BODY_SIZE)
Maximum allowed batch size for JSON RPC batch requests.
ETHEREUM
--l1-chain-id <value> ($L1_CHAIN_ID)
The chain ID of the ethereum host.
--l1-rpc-urls <value> ($ETHEREUM_HOSTS)
List of URLs of Ethereum RPC nodes that services will connect to (comma separated).
--l1-consensus-host-urls <value> ($L1_CONSENSUS_HOST_URLS)
List of URLs of the Ethereum consensus nodes that services will connect to (comma separated)
--l1-consensus-host-api-keys <value> ($L1_CONSENSUS_HOST_API_KEYS)
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
--l1-consensus-host-api-key-headers <value> ($L1_CONSENSUS_HOST_API_KEY_HEADERS)
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>"
L1 CONTRACTS
--registry-address <value> ($REGISTRY_CONTRACT_ADDRESS)
The deployed L1 registry contract address.
--rollup-version <value> ($ROLLUP_VERSION)
The version of the rollup.
STORAGE
--data-directory <value> ($DATA_DIRECTORY)
Optional dir to store data. If omitted will store in memory.
--data-store-map-size-kb <value> (default: 134217728) ($DATA_STORE_MAP_SIZE_KB)
The maximum possible size of a data store DB in KB. Can be overridden by component-specific options.
WORLD STATE
--world-state-data-directory <value> ($WS_DATA_DIRECTORY)
Optional directory for the world state database
--world-state-db-map-size-kb <value> ($WS_DB_MAP_SIZE_KB)
The maximum possible size of the world state DB in KB. Overwrites the general dataStoreMapSizeKb.
--world-state-checkpoint-history <value> (default: 64) ($WS_NUM_HISTORIC_CHECKPOINTS)
The number of historic checkpoints worth of blocks to maintain. Values less than 1 mean all history is maintained
AZTEC NODE
--node
Starts Aztec Node with options
ARCHIVER
--archiver.blobSinkMapSizeKb <value> ($BLOB_SINK_MAP_SIZE_KB)
The maximum possible size of the blob sink DB in KB. Overwrites the general dataStoreMapSizeKb.
--archiver.blobAllowEmptySources <value> ($BLOB_ALLOW_EMPTY_SOURCES)
Whether to allow having no blob sources configured during startup
--archiver.blobFileStoreUrls <value> ($BLOB_FILE_STORE_URLS)
URLs for filestore blob archive, comma-separated. Tried in order until blobs are found.
--archiver.blobFileStoreUploadUrl <value> ($BLOB_FILE_STORE_UPLOAD_URL)
URL for uploading blobs to filestore (s3://, gs://, file://)
--archiver.blobHealthcheckUploadIntervalMinutes <value> ($BLOB_HEALTHCHECK_UPLOAD_INTERVAL_MINUTES)
Interval in minutes for uploading healthcheck file to file store (default: 60 = 1 hour)
--archiver.blobPreferFilestores <value> ($BLOB_PREFER_FILESTORES)
Whether to prefer filestores over consensus clients when fetching blobs. Default: false.
--archiver.blobFileStoreTimeoutMs <value> ($BLOB_FILE_STORE_TIMEOUT_MS)
Timeout in ms for HTTP requests to the blob file store. Default: 10000 (10s).
--archiver.archiveApiUrl <value> ($BLOB_ARCHIVE_API_URL)
The URL of the archive API
--archiver.archiverPollingIntervalMS <value> (default: 500) ($ARCHIVER_POLLING_INTERVAL_MS)
The polling interval in ms for retrieving new L2 blocks and encrypted logs.
--archiver.archiverBatchSize <value> (default: 100) ($ARCHIVER_BATCH_SIZE)
The number of L2 blocks the archiver will attempt to download at a time.
--archiver.archiverStoreMapSizeKb <value> ($ARCHIVER_STORE_MAP_SIZE_KB)
The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKb.
--archiver.blockDurationMs <value> ($SEQ_BLOCK_DURATION_MS)
Duration per block in milliseconds when building multiple blocks per slot. Used to derive orphan proposed block pruning timing.
--archiver.checkpointProposalSyncGraceSeconds <value> ($CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS)
Consensus grace in seconds for a received checkpoint proposal to materialize into local proposed state.
--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) ($MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS)
Maximum allowed drift in seconds between the Ethereum client and current time.
--archiver.ethereumAllowNoDebugHosts <value> (default: true) ($ETHEREUM_ALLOW_NO_DEBUG_HOSTS)
Whether to allow starting the archiver without debug/trace method support on Ethereum hosts
--archiver.archiverSkipHistoricalLogsCheck <value> ($ARCHIVER_SKIP_HISTORICAL_LOGS_CHECK)
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.
--archiver.orphanPruneNoProposalTolerance <value> (default: 1) ($ARCHIVER_ORPHAN_PRUNE_NO_PROPOSAL_TOLERANCE)
Local tolerance in seconds before pruning an orphan block when no checkpoint proposal was received.
--archiver.skipOrphanProposedBlockPruning <value> ($ARCHIVER_SKIP_ORPHAN_PROPOSED_BLOCK_PRUNING)
Skip pruning orphan proposed blocks that have no matching proposed checkpoint.
SEQUENCER
--sequencer
Starts Aztec Sequencer with options
--sequencer.blockDurationMs <value> (default: 3000) ($SEQ_BLOCK_DURATION_MS)
Duration per block in milliseconds, used to derive how many blocks fit in a slot.
--sequencer.validatorPrivateKeys <value> (default: [Redacted]) ($VALIDATOR_PRIVATE_KEYS)
List of private keys of the validators participating in attestation duties
--sequencer.validatorAddresses <value> (default: ) ($VALIDATOR_ADDRESSES)
List of addresses of the validators to use with remote signers
--sequencer.disableValidator <value> ($VALIDATOR_DISABLED)
Do not run the validator
--sequencer.disabledValidators <value> (default: )
Temporarily disable these specific validator addresses
--sequencer.attestationPollingIntervalMs <value> (default: 200) ($VALIDATOR_ATTESTATIONS_POLLING_INTERVAL_MS)
Interval between polling for new attestations
--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 and always attest (default: false)
--sequencer.skipPushProposedBlocksToArchiver <value>
Skip pushing proposed blocks to archiver (default: true)
--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> ($VALIDATOR_MAX_L2_BLOCK_GAS)
Maximum L2 block gas for validation. Proposals exceeding this limit are rejected.
--sequencer.validateMaxDABlockGas <value> ($VALIDATOR_MAX_DA_BLOCK_GAS)
Maximum DA block gas for validation. Proposals exceeding this limit are rejected.
--sequencer.validateMaxTxsPerBlock <value> ($VALIDATOR_MAX_TX_PER_BLOCK)
Maximum transactions per block for validation. Proposals exceeding this limit are rejected.
--sequencer.validateMaxTxsPerCheckpoint <value> ($VALIDATOR_MAX_TX_PER_CHECKPOINT)
Maximum transactions per checkpoint for validation. Proposals exceeding this limit are rejected.
--sequencer.nodeId <value> ($VALIDATOR_HA_NODE_ID)
The unique identifier for this node
--sequencer.pollingIntervalMs <value> (default: 100) ($VALIDATOR_HA_POLLING_INTERVAL_MS)
The number of ms to wait between polls when a duty is being signed
--sequencer.signingTimeoutMs <value> (default: 3000) ($VALIDATOR_HA_SIGNING_TIMEOUT_MS)
The maximum time to wait for a duty being signed to complete
--sequencer.maxStuckDutiesAgeMs <value> ($VALIDATOR_HA_MAX_STUCK_DUTIES_AGE_MS)
The maximum age of a stuck duty in ms (defaults to 2x Aztec slot duration)
--sequencer.cleanupOldDutiesAfterHours <value> ($VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H)
Optional: clean up old duties after this many hours (disabled if not set)
--sequencer.signingProtectionMapSizeKb <value> ($SIGNING_PROTECTION_MAP_SIZE_KB)
Maximum size of the local signing-protection LMDB store in KB. Overwrites the general dataStoreMapSizeKb.
--sequencer.haSigningEnabled <value> ($VALIDATOR_HA_SIGNING_ENABLED)
Whether HA signing / slashing protection is enabled
--sequencer.databaseUrl <value> ($VALIDATOR_HA_DATABASE_URL)
PostgreSQL connection string for validator HA signer (format: postgresql://user:password@host:port/database)
--sequencer.poolMaxCount <value> (default: 10) ($VALIDATOR_HA_POOL_MAX)
Maximum number of clients in the pool
--sequencer.poolMinCount <value> ($VALIDATOR_HA_POOL_MIN)
Minimum number of clients in the pool
--sequencer.poolIdleTimeoutMs <value> (default: 10000) ($VALIDATOR_HA_POOL_IDLE_TIMEOUT_MS)
Idle timeout in milliseconds
--sequencer.poolConnectionTimeoutMs <value> ($VALIDATOR_HA_POOL_CONNECTION_TIMEOUT_MS)
Connection timeout in milliseconds (0 means no timeout)
--sequencer.sequencerPollingIntervalMS <value> (default: 500) ($SEQ_POLLING_INTERVAL_MS)
The number of ms to wait between polling for checking to build on the next slot.
--sequencer.maxTxsPerCheckpoint <value> ($SEQ_MAX_TX_PER_CHECKPOINT)
The maximum number of txs across all blocks in a checkpoint.
--sequencer.minTxsPerBlock <value> (default: 1) ($SEQ_MIN_TX_PER_BLOCK)
The minimum number of txs to include in a 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> ($SEQ_PUBLISH_TXS_WITH_PROPOSALS)
Whether to publish txs with proposals.
--sequencer.maxL2BlockGas <value> ($SEQ_MAX_L2_BLOCK_GAS)
The maximum L2 block gas.
--sequencer.maxDABlockGas <value> ($SEQ_MAX_DA_BLOCK_GAS)
The maximum DA block gas.
--sequencer.perBlockAllocationMultiplier <value> (default: 1.2) ($SEQ_PER_BLOCK_ALLOCATION_MULTIPLIER)
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.
--sequencer.perBlockDAAllocationMultiplier <value> (default: 1.5) ($SEQ_PER_BLOCK_DA_ALLOCATION_MULTIPLIER)
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.
--sequencer.redistributeCheckpointBudget <value> (default: true) ($SEQ_REDISTRIBUTE_CHECKPOINT_BUDGET)
Redistribute remaining checkpoint budget evenly across remaining blocks instead of allowing a single block to consume the entire remaining budget.
--sequencer.coinbase <value> ($COINBASE)
Recipient of block reward.
--sequencer.feeRecipient <value> ($FEE_RECIPIENT)
Address to receive fees.
--sequencer.acvmWorkingDirectory <value> ($ACVM_WORKING_DIRECTORY)
The working directory to use for simulation/proving
--sequencer.acvmBinaryPath <value> ($ACVM_BINARY_PATH)
The path to the ACVM binary
--sequencer.governanceProposerPayload <value> ($GOVERNANCE_PROPOSER_PAYLOAD_ADDRESS)
The address of the payload for the governanceProposer
--sequencer.l1PublishingTime <value> (default: 12) ($SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT)
How much time in seconds to allow in the slot for publishing the L1 transaction.
--sequencer.secondsBeforeInvalidatingBlockAsCommitteeMember <value> (default: 144) ($SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_COMMITTEE_MEMBER)
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.
--sequencer.secondsBeforeInvalidatingBlockAsNonCommitteeMember <value> (default: 432) ($SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_NON_COMMITTEE_MEMBER)
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.
--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.shuffleAttestationOrdering <value>
Shuffle attestation ordering to create invalid ordering (for testing only)
--sequencer.expectedBlockProposalsPerSlot <value> ($SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT)
Expected number of block proposals per slot for P2P peer scoring. 0 (default) disables block proposal scoring. Set to a positive value to enable.
--sequencer.checkpointProposalSyncGraceSeconds <value> (default: 6) ($CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS)
Consensus grace in seconds for a received checkpoint proposal to materialize into local proposed state. Defaults to twice the block duration.
--sequencer.maxTxsPerBlock <value> ($SEQ_MAX_TX_PER_BLOCK)
The maximum number of txs to include in a block.
--sequencer.attestationPropagationTime <value> (default: 2) ($SEQ_ATTESTATION_PROPAGATION_TIME)
How many seconds it takes for proposals and attestations to travel across the p2p layer (one-way).
--sequencer.checkpointProposalPrepareTime <value> (default: 1) ($SEQ_CHECKPOINT_PROPOSAL_PREPARE_TIME)
Local time in seconds between the last block build finishing and the checkpoint proposal being ready for p2p send.
--sequencer.minBlockDuration <value> (default: 2) ($SEQ_MIN_BLOCK_DURATION)
Minimum block-building time in seconds still worth allocating if the proposer starts late.
--sequencer.maxBlocksPerCheckpoint <value> (default: 24) ($MAX_BLOCKS_PER_CHECKPOINT)
Maximum number of blocks the sequencer packs into a single checkpoint, and the maximum indexWithinCheckpoint accepted on inbound block proposals.
--sequencer.buildCheckpointIfEmpty <value> ($SEQ_BUILD_CHECKPOINT_IF_EMPTY)
Have sequencer build and publish an empty checkpoint if there are no txs
--sequencer.minBlocksForCheckpoint <value>
Minimum number of blocks required for a checkpoint proposal (test only)
--sequencer.skipPublishingCheckpointsPercent <value> ($SEQ_SKIP_CHECKPOINT_PUBLISH_PERCENT)
Percent probability (0 - 100) of sequencer skipping checkpoint publishing (testing only)
--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.txPublicSetupAllowListExtend <value> ($TX_PUBLIC_SETUP_ALLOWLIST)
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 +.
--sequencer.keyStoreDirectory <value> ($KEY_STORE_DIRECTORY)
Location of key store directory
--sequencer.sequencerPublisherPrivateKeys <value> (default: ) ($SEQ_PUBLISHER_PRIVATE_KEYS)
The private keys to be used by the sequencer publisher.
--sequencer.sequencerPublisherAddresses <value> (default: ) ($SEQ_PUBLISHER_ADDRESSES)
The addresses of the publishers to use with remote signers
--sequencer.blobAllowEmptySources <value> ($BLOB_ALLOW_EMPTY_SOURCES)
Whether to allow having no blob sources configured during startup
--sequencer.blobFileStoreUrls <value> ($BLOB_FILE_STORE_URLS)
URLs for filestore blob archive, comma-separated. Tried in order until blobs are found.
--sequencer.blobFileStoreUploadUrl <value> ($BLOB_FILE_STORE_UPLOAD_URL)
URL for uploading blobs to filestore (s3://, gs://, file://)
--sequencer.blobHealthcheckUploadIntervalMinutes <value> ($BLOB_HEALTHCHECK_UPLOAD_INTERVAL_MINUTES)
Interval in minutes for uploading healthcheck file to file store (default: 60 = 1 hour)
--sequencer.blobPreferFilestores <value> ($BLOB_PREFER_FILESTORES)
Whether to prefer filestores over consensus clients when fetching blobs. Default: false.
--sequencer.blobFileStoreTimeoutMs <value> ($BLOB_FILE_STORE_TIMEOUT_MS)
Timeout in ms for HTTP requests to the blob file store. Default: 10000 (10s).
--sequencer.archiveApiUrl <value> ($BLOB_ARCHIVE_API_URL)
The URL of the archive API
--sequencer.sequencerPublisherAllowInvalidStates <value> (default: true) ($SEQ_PUBLISHER_ALLOW_INVALID_STATES)
True to use publishers in invalid states (timed out, cancelled, etc) if no other is available
--sequencer.sequencerPublisherForwarderAddress <value> ($SEQ_PUBLISHER_FORWARDER_ADDRESS)
Address of the forwarder contract to wrap all L1 transactions through (for testing purposes only)
--sequencer.l1TxFailedStore <value> ($L1_TX_FAILED_STORE)
Store for failed L1 transaction inputs (test networks only). Format: gs://bucket/path
--sequencer.publisherFundingThreshold <value> ($PUBLISHER_FUNDING_THRESHOLD)
Min ETH balance below which a publisher gets funded. Specified in ether (e.g. 0.1). Unset = funding disabled.
--sequencer.publisherFundingAmount <value> ($PUBLISHER_FUNDING_AMOUNT)
Amount of ETH to send when funding a publisher. Specified in ether (e.g. 0.5). Unset = funding disabled.
PROVER NODE
--prover-node
Starts Aztec Prover Node with options
--proverNode.keyStoreDirectory <value> ($KEY_STORE_DIRECTORY)
Location of key store directory
--proverNode.acvmWorkingDirectory <value> ($ACVM_WORKING_DIRECTORY)
The working directory to use for simulation/proving
--proverNode.acvmBinaryPath <value> ($ACVM_BINARY_PATH)
The path to the ACVM binary
--proverNode.bbWorkingDirectory <value> ($BB_WORKING_DIRECTORY)
The working directory to use for proving
--proverNode.bbBinaryPath <value> ($BB_BINARY_PATH)
The path to the bb binary
--proverNode.bbSkipCleanup <value> ($BB_SKIP_CLEANUP)
Whether to skip cleanup of bb temporary files
--proverNode.numConcurrentIVCVerifiers <value> (default: 8) ($BB_NUM_IVC_VERIFIERS)
Max concurrent verifications for the RPC verifier (QueuedIVCVerifier).
--proverNode.bbIVCConcurrency <value> (default: 1) ($BB_IVC_CONCURRENCY)
Thread count for the RPC IVC verifier.
--proverNode.bbChonkVerifyMaxBatch <value> (default: 16) ($BB_CHONK_VERIFY_MAX_BATCH)
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.
--proverNode.bbChonkVerifyConcurrency <value> (default: 6) ($BB_CHONK_VERIFY_BATCH_CONCURRENCY)
Thread count for the peer batch verifier parallel reduce. 0 = auto.
--proverNode.bbDebugOutputDir <value> ($BB_DEBUG_OUTPUT_DIR)
When set, bb.js operations write input/output files and log equivalent CLI commands to this directory
--proverNode.nodeUrl <value> ($AZTEC_NODE_URL)
The URL to the Aztec node to take proving jobs from
--proverNode.proverId <value> ($PROVER_ID)
Hex value that identifies the prover. Defaults to the address used for submitting proofs if not set.
--proverNode.failedProofStore <value> ($PROVER_FAILED_PROOF_STORE)
Store for failed proof inputs. Google cloud storage is only supported at the moment. Set this value as gs://bucket-name/path/to/store.
--proverNode.enqueueConcurrency <value> (default: 50) ($PROVER_ENQUEUE_CONCURRENCY)
Max concurrent jobs the orchestrator serializes and enqueues to the broker.
--proverNode.blobSinkMapSizeKb <value> ($BLOB_SINK_MAP_SIZE_KB)
The maximum possible size of the blob sink DB in KB. Overwrites the general dataStoreMapSizeKb.
--proverNode.blobAllowEmptySources <value> ($BLOB_ALLOW_EMPTY_SOURCES)
Whether to allow having no blob sources configured during startup
--proverNode.blobFileStoreUrls <value> ($BLOB_FILE_STORE_URLS)
URLs for filestore blob archive, comma-separated. Tried in order until blobs are found.
--proverNode.blobFileStoreUploadUrl <value> ($BLOB_FILE_STORE_UPLOAD_URL)
URL for uploading blobs to filestore (s3://, gs://, file://)
--proverNode.blobHealthcheckUploadIntervalMinutes <value> ($BLOB_HEALTHCHECK_UPLOAD_INTERVAL_MINUTES)
Interval in minutes for uploading healthcheck file to file store (default: 60 = 1 hour)
--proverNode.blobPreferFilestores <value> ($BLOB_PREFER_FILESTORES)
Whether to prefer filestores over consensus clients when fetching blobs. Default: false.
--proverNode.blobFileStoreTimeoutMs <value> ($BLOB_FILE_STORE_TIMEOUT_MS)
Timeout in ms for HTTP requests to the blob file store. Default: 10000 (10s).
--proverNode.archiveApiUrl <value> ($BLOB_ARCHIVE_API_URL)
The URL of the archive API
--proverNode.proverPublisherAllowInvalidStates <value> (default: true) ($PROVER_PUBLISHER_ALLOW_INVALID_STATES)
True to use publishers in invalid states (timed out, cancelled, etc) if no other is available
--proverNode.proverPublisherForwarderAddress <value> ($PROVER_PUBLISHER_FORWARDER_ADDRESS)
Address of the forwarder contract to wrap all L1 transactions through (for testing purposes only)
--proverNode.publisherFundingThreshold <value> ($PUBLISHER_FUNDING_THRESHOLD)
Min ETH balance below which a publisher gets funded. Specified in ether (e.g. 0.1). Unset = funding disabled.
--proverNode.publisherFundingAmount <value> ($PUBLISHER_FUNDING_AMOUNT)
Amount of ETH to send when funding a publisher. Specified in ether (e.g. 0.5). Unset = funding disabled.
--proverNode.proverPublisherPrivateKeys <value> (default: ) ($PROVER_PUBLISHER_PRIVATE_KEYS)
The private keys to be used by the prover publisher.
--proverNode.proverPublisherAddresses <value> (default: ) ($PROVER_PUBLISHER_ADDRESSES)
The addresses of the publishers to use with remote signers
--proverNode.proverNodeMaxPendingJobs <value> (default: 10) ($PROVER_NODE_MAX_PENDING_JOBS)
The maximum number of pending jobs for the prover node
--proverNode.proverNodePollingIntervalMs <value> (default: 1000) ($PROVER_NODE_POLLING_INTERVAL_MS)
The interval in milliseconds to poll for new jobs
--proverNode.proverNodeMaxParallelBlocksPerEpoch <value> ($PROVER_NODE_MAX_PARALLEL_BLOCKS_PER_EPOCH)
The Maximum number of blocks to process in parallel while proving an epoch
--proverNode.proverNodeFailedEpochStore <value> ($PROVER_NODE_FAILED_EPOCH_STORE)
File store where to upload node state when an epoch fails to be proven
--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) ($PROVER_NODE_TX_GATHERING_INTERVAL_MS)
How often to check that tx data is available
--proverNode.txGatheringBatchSize <value> (default: 10) ($PROVER_NODE_TX_GATHERING_BATCH_SIZE)
How many transactions to gather from a node in a single request
--proverNode.txGatheringMaxParallelRequestsPerNode <value> (default: 100) ($PROVER_NODE_TX_GATHERING_MAX_PARALLEL_REQUESTS_PER_NODE)
How many tx requests to make in parallel to each node
--proverNode.txGatheringTimeoutMs <value> (default: 120000) ($PROVER_NODE_TX_GATHERING_TIMEOUT_MS)
How long to wait for tx data to be available before giving up
--proverNode.proverNodeDisableProofPublish <value> ($PROVER_NODE_DISABLE_PROOF_PUBLISH)
Whether the prover node skips publishing proofs to L1
--proverNode.web3SignerUrl <value> ($WEB3_SIGNER_URL)
URL of the Web3Signer instance
PROVER BROKER
--prover-broker
Starts Aztec proving job broker
--proverBroker.proverBrokerJobTimeoutMs <value> (default: 30000) ($PROVER_BROKER_JOB_TIMEOUT_MS)
Jobs are retried if not kept alive for this long
--proverBroker.proverBrokerPollIntervalMs <value> (default: 1000) ($PROVER_BROKER_POLL_INTERVAL_MS)
The interval to check job health status
--proverBroker.proverBrokerJobMaxRetries <value> (default: 3) ($PROVER_BROKER_JOB_MAX_RETRIES)
If starting a prover broker locally, the max number of retries per proving job
--proverBroker.proverBrokerBatchSize <value> (default: 100) ($PROVER_BROKER_BATCH_SIZE)
The prover broker writes jobs to disk in batches
--proverBroker.proverBrokerBatchIntervalMs <value> (default: 50) ($PROVER_BROKER_BATCH_INTERVAL_MS)
How often to flush batches to disk
--proverBroker.proverBrokerMaxEpochsToKeepResultsFor <value> (default: 1) ($PROVER_BROKER_MAX_EPOCHS_TO_KEEP_RESULTS_FOR)
The maximum number of epochs to keep results for
--proverBroker.proverBrokerStoreMapSizeKb <value> ($PROVER_BROKER_STORE_MAP_SIZE_KB)
The size of the prover broker's database. Will override the dataStoreMapSizeKb if set.
--proverBroker.proverBrokerDebugReplayEnabled <value> ($PROVER_BROKER_DEBUG_REPLAY_ENABLED)
Enable debug replay mode for replaying proving jobs from stored inputs
PROVER AGENT
--prover-agent
Starts Aztec Prover Agent with options
--proverAgent.proverAgentCount <value> (default: 1) ($PROVER_AGENT_COUNT)
Whether this prover has a local prover agent
--proverAgent.proverAgentPollIntervalMs <value> (default: 1000) ($PROVER_AGENT_POLL_INTERVAL_MS)
The interval agents poll for jobs at
--proverAgent.proverAgentProofTypes <value> ($PROVER_AGENT_PROOF_TYPES)
The types of proofs the prover agent can generate
--proverAgent.proverBrokerUrl <value> ($PROVER_BROKER_HOST)
The URL where this agent takes jobs from
--proverAgent.realProofs <value> (default: true) ($PROVER_REAL_PROOFS)
Whether to construct real proofs
--proverAgent.proverTestDelayType <value> (default: fixed) ($PROVER_TEST_DELAY_TYPE)
The type of artificial delay to introduce
--proverAgent.proverTestDelayMs <value> ($PROVER_TEST_DELAY_MS)
Artificial delay to introduce to all operations to the test prover.
--proverAgent.proverTestDelayFactor <value> (default: 1) ($PROVER_TEST_DELAY_FACTOR)
If using realistic delays, what percentage of realistic times to apply.
--proverAgent.proverTestVerificationDelayMs <value> (default: 10) ($PROVER_TEST_VERIFICATION_DELAY_MS)
The delay (ms) to inject during fake proof verification
--proverAgent.cancelJobsOnStop <value> ($PROVER_CANCEL_JOBS_ON_STOP)
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.
--proverAgent.proofStore <value> ($PROVER_PROOF_STORE)
Optional proof input store for the prover
P2P SUBSYSTEM
--p2p-enabled [value] ($P2P_ENABLED)
Enable P2P subsystem
--p2p.validateMaxTxsPerBlock <value> ($VALIDATOR_MAX_TX_PER_BLOCK)
Maximum transactions per block for validation. Overrides maxTxsPerBlock for gossip validation when set.
--p2p.validateMaxTxsPerCheckpoint <value> ($VALIDATOR_MAX_TX_PER_CHECKPOINT)
Maximum transactions per checkpoint for validation. Used as fallback for maxTxsPerBlock when that is not set.
--p2p.p2pDiscoveryDisabled <value> ($P2P_DISCOVERY_DISABLED)
A flag dictating whether the P2P discovery system should be disabled.
--p2p.blockCheckIntervalMS <value> (default: 100) ($P2P_BLOCK_CHECK_INTERVAL_MS)
The frequency in which to check for new L2 blocks.
--p2p.debugDisableColocationPenalty <value> ($DEBUG_P2P_DISABLE_COLOCATION_PENALTY)
DEBUG: Disable colocation penalty - NEVER set to true in production
--p2p.peerCheckIntervalMS <value> (default: 30000) ($P2P_PEER_CHECK_INTERVAL_MS)
The frequency in which to check for new peers.
--p2p.peerFailedBanTimeMs <value> (default: 300000) ($P2P_PEER_FAILED_BAN_TIME_MS)
How long to ban a peer after it fails maximum dial attempts.
--p2p.l2QueueSize <value> (default: 1000) ($P2P_L2_QUEUE_SIZE)
Size of queue of L2 blocks to store.
--p2p.listenAddress <value> (default: 0.0.0.0) ($P2P_LISTEN_ADDR)
The listen address. ipv4 address.
--p2p.p2pPort <value> (default: 40400) ($P2P_PORT)
The port for the P2P service. Defaults to 40400
--p2p.p2pBroadcastPort <value> ($P2P_BROADCAST_PORT)
The port to broadcast the P2P service on (included in the node's ENR). Defaults to P2P_PORT.
--p2p.p2pIp <value> ($P2P_IP)
The IP address for the P2P service. ipv4 address.
--p2p.peerIdPrivateKey <value> ($PEER_ID_PRIVATE_KEY)
An optional peer id private key. If blank, will generate a random key.
--p2p.peerIdPrivateKeyPath <value> ($PEER_ID_PRIVATE_KEY_PATH)
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.
--p2p.bootstrapNodes <value> (default: ) ($BOOTSTRAP_NODES)
A list of bootstrap peer ENRs to connect to. Separated by commas.
--p2p.bootstrapNodeEnrVersionCheck <value> ($P2P_BOOTSTRAP_NODE_ENR_VERSION_CHECK)
Whether to check the version of the bootstrap node ENR.
--p2p.bootstrapNodesAsFullPeers <value> ($P2P_BOOTSTRAP_NODES_AS_FULL_PEERS)
Whether to consider our configured bootnodes as full peers
--p2p.maxPeerCount <value> (default: 100) ($P2P_MAX_PEERS)
The maximum number of peers to connect to.
--p2p.queryForIp <value> ($P2P_QUERY_FOR_IP)
If announceUdpAddress or announceTcpAddress are not provided, query for the IP address of the machine. Default is false.
--p2p.publicIpServices <value> (default: https://api.ipify.org/,https://checkip.amazonaws.com/,https://ifconfig.me/ip,https://icanhazip.com/)($P2P_PUBLIC_IP_SERVICES)
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.
--p2p.gossipsubInterval <value> (default: 700) ($P2P_GOSSIPSUB_INTERVAL_MS)
The interval of the gossipsub heartbeat to perform maintenance tasks.
--p2p.gossipsubD <value> (default: 8) ($P2P_GOSSIPSUB_D)
The D parameter for the gossipsub protocol.
--p2p.gossipsubDlo <value> (default: 4) ($P2P_GOSSIPSUB_DLO)
The Dlo parameter for the gossipsub protocol.
--p2p.gossipsubDhi <value> (default: 12) ($P2P_GOSSIPSUB_DHI)
The Dhi parameter for the gossipsub protocol.
--p2p.gossipsubDLazy <value> (default: 8) ($P2P_GOSSIPSUB_DLAZY)
The Dlazy parameter for the gossipsub protocol.
--p2p.gossipsubFloodPublish <value> ($P2P_GOSSIPSUB_FLOOD_PUBLISH)
Whether to flood publish messages. - For testing purposes only
--p2p.gossipsubMcacheLength <value> (default: 12) ($P2P_GOSSIPSUB_MCACHE_LENGTH)
The number of gossipsub interval message cache windows to keep.
--p2p.gossipsubMcacheGossip <value> (default: 3) ($P2P_GOSSIPSUB_MCACHE_GOSSIP)
How many message cache windows to include when gossiping with other peers.
--p2p.gossipsubSeenTTL <value> (default: 1200000) ($P2P_GOSSIPSUB_SEEN_TTL)
How long to keep message IDs in the seen cache.
--p2p.maxGossipClockDisparityMs <value> (default: 500) ($P2P_MAX_GOSSIP_CLOCK_DISPARITY_MS)
Maximum clock-disparity tolerance (ms) applied to both ends of proposal/attestation gossip receive windows.
--p2p.gossipsubTxTopicWeight <value> (default: 1) ($P2P_GOSSIPSUB_TX_TOPIC_WEIGHT)
The weight of the tx topic for the gossipsub protocol.
--p2p.gossipsubTxInvalidMessageDeliveriesWeight <value> (default: -20) ($P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT)
The weight of the tx invalid message deliveries for the gossipsub protocol.
--p2p.gossipsubTxInvalidMessageDeliveriesDecay <value> (default: 0.5) ($P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY)
Determines how quickly the penalty for invalid message deliveries decays over time. Between 0 and 1.
--p2p.peerPenaltyValues <value> (default: 2,10,50) ($P2P_PEER_PENALTY_VALUES)
The values for the peer scoring system. Passed as a comma separated list of values in order: low, mid, high tolerance errors.
--p2p.peerBanDurationSeconds <value> (default: 86400) ($P2P_PEER_BAN_DURATION_SECONDS)
How long (in seconds) a peer is banned for once its score drops below the ban threshold.
--p2p.doubleSpendSeverePeerPenaltyWindow <value> (default: 30) ($P2P_DOUBLE_SPEND_SEVERE_PEER_PENALTY_WINDOW)
The "age" (in L2 blocks) of a tx after which we heavily penalize a peer for sending it.
--p2p.blockRequestBatchSize <value> (default: 20) ($P2P_BLOCK_REQUEST_BATCH_SIZE)
The number of blocks to fetch in a single batch.
--p2p.archivedTxLimit <value> ($P2P_ARCHIVED_TX_LIMIT)
The number of transactions that will be archived. If the limit is set to 0 then archiving will be disabled.
--p2p.trustedPeers <value> (default: ) ($P2P_TRUSTED_PEERS)
A list of trusted peer ENRs that will always be persisted. Separated by commas.
--p2p.privatePeers <value> (default: ) ($P2P_PRIVATE_PEERS)
A list of private peer ENRs that will always be persisted and not be used for discovery. Separated by commas.
--p2p.preferredPeers <value> (default: ) ($P2P_PREFERRED_PEERS)
A list of preferred peer ENRs that will always be persisted and not be used for discovery. Separated by commas.
--p2p.p2pStoreMapSizeKb <value> ($P2P_STORE_MAP_SIZE_KB)
The maximum possible size of the P2P DB in KB. Overwrites the general dataStoreMapSizeKb.
--p2p.txPublicSetupAllowListExtend <value> ($TX_PUBLIC_SETUP_ALLOWLIST)
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 +.
--p2p.maxPendingTxCount <value> (default: 1000) ($P2P_MAX_PENDING_TX_COUNT)
The maximum number of pending txs before evicting lower priority txs.
--p2p.seenMessageCacheSize <value> (default: 100000) ($P2P_SEEN_MSG_CACHE_SIZE)
The number of messages to keep in the seen message cache
--p2p.txValidationCacheSize <value> (default: 5000) ($P2P_TX_VALIDATION_CACHE_SIZE)
Maximum number of items to keep in the tx validation LRU cache.
--p2p.p2pDisableStatusHandshake <value> ($P2P_DISABLE_STATUS_HANDSHAKE)
True to disable the status handshake on peer connected.
--p2p.p2pAllowOnlyValidators <value> ($P2P_ALLOW_ONLY_VALIDATORS)
True to only permit validators to connect.
--p2p.p2pMaxFailedAuthAttemptsAllowed <value> (default: 3) ($P2P_MAX_AUTH_FAILED_ATTEMPTS_ALLOWED)
Number of auth attempts to allow before peer is banned. Number is inclusive
--p2p.dropTransactionsProbability <value> ($P2P_DROP_TX_CHANCE)
The probability that a transaction is discarded (0 - 1). - For testing purposes only
--p2p.disableTransactions <value> ($TRANSACTIONS_DISABLED)
Whether transactions are disabled for this node. This means transactions will be rejected at the RPC and P2P layers.
--p2p.txPoolDeleteTxsAfterReorg <value> ($P2P_TX_POOL_DELETE_TXS_AFTER_REORG)
Whether to delete transactions from the pool after a reorg instead of moving them back to pending.
--p2p.debugP2PInstrumentMessages <value> ($DEBUG_P2P_INSTRUMENT_MESSAGES)
Alters the format of p2p messages to include things like broadcast timestamp FOR TESTING ONLY
--p2p.broadcastEquivocatedProposals <value>
Broadcast block proposals even when a conflicting proposal for the same slot already exists in the pool (for testing purposes only).
--p2p.skipIncomingProposals <value>
Drop incoming block and checkpoint proposals at the libp2p dispatch layer (for testing only)
--p2p.skipProposalSlotValidation <value>
Accept proposal gossip regardless of slot timing (for testing only)
--p2p.skipCheckpointProposalValidation <value>
Skip checkpoint proposal validation and always attest, broadcasting the attestation before processing the embedded last block
--p2p.minTxPoolAgeMs <value> (default: 2000) ($P2P_MIN_TX_POOL_AGE_MS)
Minimum age (ms) a transaction must have been in the pool before it is eligible for block building.
--p2p.slashDataWithholdingToleranceSlots <value> (default: 3) ($SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS)
L2 slots to wait after a checkpoint slot before declaring its txs missing. Drives both the data-withholding slasher check and the missing-tx collection deadline.
--p2p.p2pMissingTxCollectionDeadlineSlots <value> ($P2P_MISSING_TX_COLLECTION_DEADLINE_SLOTS)
Optional deadline (in L2 slots after the block slot) for collecting missing txs for unproven mined blocks. Clamped up to the data-withholding tolerance window so collection never gives up before the slash verdict.
--p2p.priceBumpPercentage <value> (default: 10) ($P2P_RPC_PRICE_BUMP_PERCENTAGE)
Minimum percentage fee increase required to replace an existing tx via RPC. Even at 0%, replacement still requires paying at least 1 unit more.
--p2p.expectedBlockProposalsPerSlot <value> ($SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT)
Expected number of block proposals per slot for P2P peer scoring. 0 (default) disables block proposal scoring. Set to a positive value to enable.
--p2p.maxTxsPerBlock <value> ($SEQ_MAX_TX_PER_BLOCK)
The maximum number of txs to include in a block.
--p2p.checkpointProposalSyncGraceSeconds <value> (default: 6) ($CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS)
Consensus grace in seconds for a received checkpoint proposal to materialize into local proposed state. Defaults to twice the block duration.
--p2p.maxBlocksPerCheckpoint <value> (default: 24) ($MAX_BLOCKS_PER_CHECKPOINT)
Maximum number of blocks the sequencer packs into a single checkpoint, and the maximum indexWithinCheckpoint accepted on inbound block proposals.
--p2p.blockDurationMs <value> (default: 3000) ($SEQ_BLOCK_DURATION_MS)
Duration per block in milliseconds, used to derive how many blocks fit in a slot.
--p2p.overallRequestTimeoutMs <value> (default: 10000) ($P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS)
The overall timeout for a request response operation.
--p2p.individualRequestTimeoutMs <value> (default: 10000) ($P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS)
The timeout for an individual request response peer interaction.
--p2p.dialTimeoutMs <value> (default: 5000) ($P2P_REQRESP_DIAL_TIMEOUT_MS)
How long to wait for the dial protocol to establish a connection
--p2p.p2pOptimisticNegotiation <value> ($P2P_REQRESP_OPTIMISTIC_NEGOTIATION)
Whether to use optimistic protocol negotiation when dialing to another peer (opposite of `negotiateFully`).
--p2p.batchTxRequesterSmartParallelWorkerCount <value> (default: 10) ($P2P_BATCH_TX_REQUESTER_SMART_PARALLEL_WORKER_COUNT)
Max concurrent requests to smart peers for batch tx requester.
--p2p.batchTxRequesterDumbParallelWorkerCount <value> (default: 10) ($P2P_BATCH_TX_REQUESTER_DUMB_PARALLEL_WORKER_COUNT)
Max concurrent requests to dumb peers for batch tx requester.
--p2p.batchTxRequesterTxBatchSize <value> (default: 8) ($P2P_BATCH_TX_REQUESTER_TX_BATCH_SIZE)
Max transactions per request / chunk size for batch tx requester.
--p2p.batchTxRequesterBadPeerThreshold <value> (default: 2) ($P2P_BATCH_TX_REQUESTER_BAD_PEER_THRESHOLD)
Failures before a peer is considered bad (see > threshold logic).
--p2p.txCollectionFastNodesTimeoutBeforeReqRespMs <value> (default: 200) ($TX_COLLECTION_FAST_NODES_TIMEOUT_BEFORE_REQ_RESP_MS)
How long to wait before starting reqresp for fast collection
--p2p.txCollectionFastNodeIntervalMs <value> (default: 500) ($TX_COLLECTION_FAST_NODE_INTERVAL_MS)
How many ms to wait between retried request to a node via RPC during fast collection
--p2p.txCollectionNodeRpcUrls <value> (default: ) ($TX_COLLECTION_NODE_RPC_URLS)
A comma-separated list of Aztec node RPC URLs to use for tx collection
--p2p.txCollectionFastMaxParallelRequestsPerNode <value> (default: 4) ($TX_COLLECTION_FAST_MAX_PARALLEL_REQUESTS_PER_NODE)
Maximum number of parallel requests to make to a node during fast collection
--p2p.txCollectionNodeRpcMaxBatchSize <value> (default: 50) ($TX_COLLECTION_NODE_RPC_MAX_BATCH_SIZE)
Maximum number of transactions to request from a node in a single batch
--p2p.txCollectionFileStoreUrls <value> (default: ) ($TX_COLLECTION_FILE_STORE_URLS)
A comma-separated list of file store URLs (s3://, gs://, file://, http://) for tx collection
--p2p.txCollectionFileStoreFastDelayMs <value> (default: 2000) ($TX_COLLECTION_FILE_STORE_FAST_DELAY_MS)
Delay in ms from reqresp start before file store collection begins
--p2p.txCollectionFileStoreFastWorkerCount <value> (default: 5) ($TX_COLLECTION_FILE_STORE_FAST_WORKER_COUNT)
Number of concurrent workers for fast file store collection
--p2p.txCollectionFileStoreFastBackoffBaseMs <value> (default: 1000) ($TX_COLLECTION_FILE_STORE_FAST_BACKOFF_BASE_MS)
Base backoff time in ms for fast file store collection retries
--p2p.txCollectionFileStoreFastBackoffMaxMs <value> (default: 5000) ($TX_COLLECTION_FILE_STORE_FAST_BACKOFF_MAX_MS)
Max backoff time in ms for fast file store collection retries
--p2p.txFileStoreUrl <value> ($TX_FILE_STORE_URL)
URL for uploading txs to file storage (s3://, gs://, file://)
--p2p.txFileStoreUploadConcurrency <value> (default: 10) ($TX_FILE_STORE_UPLOAD_CONCURRENCY)
Maximum number of concurrent tx uploads
--p2p.txFileStoreMaxQueueSize <value> (default: 1000) ($TX_FILE_STORE_MAX_QUEUE_SIZE)
Maximum queue size for pending uploads (oldest dropped when exceeded)
--p2p.txFileStoreEnabled <value> ($TX_FILE_STORE_ENABLED)
Enable uploading transactions to file storage
P2P BOOTSTRAP
--p2p-bootstrap
Starts Aztec P2P Bootstrap with options
--p2pBootstrap.p2pBroadcastPort <value> ($P2P_BROADCAST_PORT)
The port to broadcast the P2P service on (included in the node's ENR). Defaults to P2P_PORT.
--p2pBootstrap.peerIdPrivateKeyPath <value> ($PEER_ID_PRIVATE_KEY_PATH)
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.
--p2pBootstrap.queryForIp <value> ($P2P_QUERY_FOR_IP)
If announceUdpAddress or announceTcpAddress are not provided, query for the IP address of the machine. Default is false.
--p2pBootstrap.publicIpServices <value> (default: https://api.ipify.org/,https://checkip.amazonaws.com/,https://ifconfig.me/ip,https://icanhazip.com/)($P2P_PUBLIC_IP_SERVICES)
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.
TELEMETRY
--tel.metricsCollectorUrl <value> ($OTEL_EXPORTER_OTLP_METRICS_ENDPOINT)
The URL of the telemetry collector for metrics
--tel.tracesCollectorUrl <value> ($OTEL_EXPORTER_OTLP_TRACES_ENDPOINT)
The URL of the telemetry collector for traces
--tel.logsCollectorUrl <value> ($OTEL_EXPORTER_OTLP_LOGS_ENDPOINT)
The URL of the telemetry collector for logs
--tel.otelCollectIntervalMs <value> (default: 60000) ($OTEL_COLLECT_INTERVAL_MS)
The interval at which to collect metrics
--tel.otelExportTimeoutMs <value> (default: 30000) ($OTEL_EXPORT_TIMEOUT_MS)
The timeout for exporting metrics
--tel.otelExcludeMetrics <value> (default: ) ($OTEL_EXCLUDE_METRICS)
A list of metric prefixes to exclude from export
--tel.otelMinTraceDurationMs <value> (default: 10) ($OTEL_MIN_TRACE_DURATION_MS)
The minimum successful trace duration to export in milliseconds. Set to 0 to export all traces.
--tel.otelBspMaxQueueSize <value> (default: 2048) ($OTEL_BSP_MAX_QUEUE_SIZE)
The maximum number of completed spans to queue before export.
--tel.otelIncludeMetrics <value> (default: ) ($OTEL_INCLUDE_METRICS)
A list of metric prefixes to include in export (ignored if OTEL_EXCLUDE_METRICS is set)
--tel.publicMetricsCollectorUrl <value> ($PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT)
A URL to publish a subset of metrics for public consumption
--tel.publicMetricsCollectFrom <value> (default: ) ($PUBLIC_OTEL_COLLECT_FROM)
The role types to collect metrics from
--tel.publicIncludeMetrics <value> (default: ) ($PUBLIC_OTEL_INCLUDE_METRICS)
A list of metric prefixes to publicly export
--tel.publicMetricsOptOut <value> (default: true) ($PUBLIC_OTEL_OPT_OUT)
Whether to opt out of sharing optional telemetry
BOT
--bot
Starts Aztec Bot with options
--bot.nodeUrl <value> ($AZTEC_NODE_URL)
The URL to the Aztec node to check for tx pool status.
--bot.nodeAdminUrl <value> ($AZTEC_NODE_ADMIN_URL)
The URL to the Aztec node admin API to force-flush txs if configured.
--bot.l1Mnemonic <value> ($BOT_L1_MNEMONIC)
The mnemonic for the account to bridge fee juice from L1.
--bot.l1PrivateKey <value> ($BOT_L1_PRIVATE_KEY)
The private key for the account to bridge fee juice from L1.
--bot.l1ToL2MessageTimeoutSeconds <value> (default: 3600) ($BOT_L1_TO_L2_TIMEOUT_SECONDS)
How long to wait for L1 to L2 messages to become available on L2
--bot.senderPrivateKey <value> ($BOT_PRIVATE_KEY)
Signing private key for the sender account.
--bot.senderSalt <value> ($BOT_ACCOUNT_SALT)
The salt to use to deploy the sender account.
--bot.tokenSalt <value> (default: 0x0000000000000000000000000000000000000000000000000000000000000001)($BOT_TOKEN_SALT)
The salt to use to deploy the token contract.
--bot.txIntervalSeconds <value> (default: 60) ($BOT_TX_INTERVAL_SECONDS)
Every how many seconds should a new tx be sent.
--bot.privateTransfersPerTx <value> (default: 1) ($BOT_PRIVATE_TRANSFERS_PER_TX)
How many private token transfers are executed per tx.
--bot.publicTransfersPerTx <value> (default: 1) ($BOT_PUBLIC_TRANSFERS_PER_TX)
How many public token transfers are executed per tx.
--bot.feePaymentMethod <value> (default: fee_juice) ($BOT_FEE_PAYMENT_METHOD)
How to handle fee payments. (Options: fee_juice)
--bot.minFeePadding <value> (default: 3) ($BOT_MIN_FEE_PADDING)
How much is the bot willing to overpay vs. the current base fee
--bot.noStart <value> ($BOT_NO_START)
True to not automatically setup or start the bot on initialization.
--bot.txMinedWaitSeconds <value> (default: 180) ($BOT_TX_MINED_WAIT_SECONDS)
How long to wait for a tx to be mined before reporting an error.
--bot.followChain <value> (default: NONE) ($BOT_FOLLOW_CHAIN)
Which chain the bot follows
--bot.maxPendingTxs <value> (default: 128) ($BOT_MAX_PENDING_TXS)
Do not send a tx if the node's tx pool already has this many pending txs.
--bot.flushSetupTransactions <value> ($BOT_FLUSH_SETUP_TRANSACTIONS)
Make a request for the sequencer to build a block after each setup transaction.
--bot.l2GasLimit <value> ($BOT_L2_GAS_LIMIT)
L2 gas limit for the tx (empty to let the bot's wallet estimate).
--bot.daGasLimit <value> ($BOT_DA_GAS_LIMIT)
DA gas limit for the tx (empty to let the bot's wallet estimate).
--bot.contract <value> (default: TokenContract) ($BOT_TOKEN_CONTRACT)
Token contract to use
--bot.maxConsecutiveErrors <value> ($BOT_MAX_CONSECUTIVE_ERRORS)
The maximum number of consecutive errors before the bot shuts down
--bot.stopWhenUnhealthy <value> ($BOT_STOP_WHEN_UNHEALTHY)
Stops the bot if service becomes unhealthy
--bot.botMode <value> (default: transfer) ($BOT_MODE)
Bot mode: transfer, amm, or crosschain
--bot.l2ToL1MessagesPerTx <value> (default: 1) ($BOT_L2_TO_L1_MESSAGES_PER_TX)
Number of L2→L1 messages per tx (crosschain mode)
--bot.l1ToL2SeedCount <value> (default: 1) ($BOT_L1_TO_L2_SEED_COUNT)
Max L1→L2 messages to keep in-flight (crosschain mode)
PXE
--pxe.l2BlockBatchSize <value> (default: 50) ($PXE_L2_BLOCK_BATCH_SIZE)
Maximum amount of blocks to pull from the stream in one request when synchronizing
--pxe.proverEnabled <value> (default: true) ($PXE_PROVER_ENABLED)
Enable real proofs
--pxe.syncChainTip <value> (default: proposed) ($PXE_SYNC_CHAIN_TIP)
Which chain tip to sync to (proposed, checkpointed, proven, finalized)
--pxe.autoSync <value> (default: true) ($PXE_AUTO_SYNC)
Whether PXE syncs with the node automatically before each operation. Disable to let the caller (e.g. a wallet) drive syncs explicitly via pxe.sync().
--pxe.nodeUrl <value> ($AZTEC_NODE_URL)
Custom Aztec Node URL to connect to
TXE
--txe
Starts Aztec TXE with options