Erigon 3.1 CLI Options
The Erigon 3 CLI has a wide range of flags that can be used to customize its behavior. Here's a breakdown of some of the flags, see Options for the full list:
General Options
These flags cover the general behavior and configuration of the Erigon client.
--datadir value
: Specifies the data directory for the databases.- Default:
/home/usr/.local/share/erigon
- Default:
--ethash.dagdir value
: Sets the directory to store the ethash mining DAGs.- Default:
/home/usr/.local/share/erigon-ethash
- Default:
--config value
: Sets Erigon flags using a YAML/TOML file.--version, -v
: Prints the version information.--help, -h
: Displays help information.--chain value
: Sets the name of the network to join.- Default:
mainnet
- Default:
--networkid value
: Explicitly sets the network ID.- Default:
1
- Default:
--identity value
: Sets a custom node name.--externalcl
: Enables the external consensus layer.- Default:
false
, means that Caplin is enabled.
- Default:
--override.osaka value
: Manually specifies the Osaka fork time.- Default:
0
- Default:
--vmdebug
: Records information for VM and contract debugging.- Default:
false
- Default:
--gdbme
: Restarts Erigon under gdb for debugging.- Default:
false
- Default:
--ethstats value
: The reporting URL for an ethstats service.--trusted-setup-file value
: Absolute path to atrusted_setup.json
file.--persist.receipts, --experiment.persist.receipts.v2
: Downloads historical receipts.- Default:
true
for minimal and full nodes,false
for archive nodes
- Default:
Database and Caching
These flags control database performance and memory usage.
--db.pagesize value
: Sets the fixed page size for the database.- Default:
16KB
- Default:
--db.size.limit value
: Sets a runtime limit on the chaindata database size.- Default:
1TB
- Default:
--db.writemap
: EnablesWRITE_MAP
for fast database writes.- Default:
true
- Default:
--db.read.concurrency value
: Limits the number of parallel database reads.- Default:
1408
- Default:
--database.verbosity value
: Enables internal database logs.- Default:
2
- Default:
--batchSize value
: Sets the batch size for the execution stage.- Default:
512M
- Default:
--bodies.cache value
: Sets the size limit for the block bodies cache.- Default:
268435456
- Default:
--state.cache value
: Sets the amount of data to store in the StateCache.- Default:
0MB
- Default:
--sync.parallel-state-flushing
: Enables parallel state flushing.- Default:
true
- Default:
Pruning and Snapshots
Flags for managing how old chain data is handled and stored.
--prune.mode value
: Selects a pruning preset (full
,archive
,minimal
,blocks
).- Default:
"full"
- Default:
--prune.distance value
: Keeps state history for the latestN
blocks.- Default:
0
- Default:
--prune.distance.blocks value
: Keeps block history for the latestN
blocks.- Default:
0
- Default:
--prune.experimental.include-commitment-history, --experimental.commitment-history
: Enables fastereth_getProof
for executed blocks.- Default:
false
- Default:
--snap.keepblocks
: Keeps ancient blocks in the database for debugging.- Default:
false
- Default:
--snap.stop
: Stops generating new snapshots.- Default:
false
- Default:
--snap.state.stop
: Stops generating new state files.- Default:
false
- Default:
--snap.skip-state-snapshot-download
: Skips state download and starts from genesis.- Default:
false
- Default:
Transaction Pool (TxPool)
Options for configuring the transaction pool.
--txpool.api.addr value
: The TxPool API network address.- Default: Uses the value of
--private.api.addr
- Default: Uses the value of
--txpool.disable
: Disables the internal transaction pool.- Default:
false
- Default:
--txpool.pricelimit value
: Sets the minimum gas price for acceptance into the pool.- Default:
1
- Default:
--txpool.pricebump value
: Sets the price bump percentage to replace a transaction.- Default:
10
- Default:
--txpool.blobpricebump value
: Sets the price bump percentage for replacing a type-3 blob transaction.- Default:
100
- Default:
--txpool.accountslots value
: Sets the number of executable transaction slots per account.- Default:
16
- Default:
--txpool.blobslots value
: Sets the maximum number of blobs per account.- Default:
540
- Default:
--txpool.totalblobpoollimit value
: Sets the total limit on the number of all blobs in the pool.- Default:
5400
- Default:
--txpool.globalslots value
: Sets the maximum number of executable transaction slots for all accounts.- Default:
10000
- Default:
--txpool.globalbasefeeslots value
: Sets the maximum number of non-executable transactions with insufficient base fees.- Default:
30000
- Default:
--txpool.globalqueue value
: Sets the maximum number of non-executable transaction slots for all accounts.- Default:
30000
- Default:
--txpool.trace.senders value
: A comma-separated list of addresses whose transactions will be traced.--txpool.commit.every value
: Sets how often transactions are committed to storage.- Default:
15s
- Default:
--txpool.gossip.disable
: Disables P2P gossip of transactions.- Default:
false
- Default:
Network and Peers
These flags manage network connectivity, peer discovery, and traffic control.
--port value
: The main network listening port.- Default:
30303
- Default:
--p2p.protocol value
: The version of theeth
P2P protocol.- Default:
68
,67
- Default:
--p2p.allowed-ports value
: A comma-separated list of allowed ports for different P2P protocols.- Default:
30303, 30304, 30305, 30306, 30307
- Default:
--nat value
: The NAT port mapping mechanism.--nodiscover
: Disables peer discovery.- Default:
false
- Default:
--v5disc
: Enables the experimental RLPx V5 (Topic Discovery) mechanism.- Default:
false
- Default:
--netrestrict value
: Restricts network communication to specific IP networks.--nodekey value
: The P2P node key file.--nodekeyhex value
: The P2P node key as a hexadecimal string.--discovery.dns value
: Sets DNS discovery entry points.--bootnodes value
: Comma-separated enode URLs for P2P discovery bootstrap.--staticpeers value
: Comma-separated enode URLs to connect to.--trustedpeers value
: Comma-separated enode URLs for trusted peers.--maxpeers value
: The maximum number of network peers.- Default:
32
- Default:
RPC & API
Flags for configuring various RPC servers and their behavior.
--private.api.addr value
: The internal gRPC API address for Erigon's components.- Default:
127.0.0.1:9090
- Default:
--private.api.ratelimit value
: Limits the number of simultaneous internal API requests.- Default:
31872
- Default:
--http
: Enables the JSON-RPC HTTP server.- Default:
true
- Default:
--http.enabled
: An alternative flag to enable the HTTP server.- Default:
true
- Default:
--graphql
: Enables the GraphQL endpoint.- Default:
false
- Default:
--http.addr value
: The HTTP-RPC server listening interface.- Default:
localhost
- Default:
--http.port value
: The HTTP-RPC server listening port.- Default:
8545
- Default:
--authrpc.addr value
: The HTTP-RPC server listening interface for the Engine API.- Default:
localhost
- Default:
--authrpc.port value
: The HTTP-RPC server listening port for the Engine API.- Default:
8551
- Default:
--authrpc.jwtsecret value
: The path to the JWT secret file for the consensus layer.--http.compression
: Enables compression over HTTP-RPC.- Default:
true
- Default:
--http.corsdomain value
: A comma-separated list of domains for cross-origin requests.--http.vhosts value
: A comma-separated list of virtual hostnames.- Default:
localhost
- Default:
--authrpc.vhosts value
: A comma-separated list of virtual hostnames for the Engine API.- Default:
localhost
- Default:
--http.api value
: The APIs offered over the HTTP-RPC interface.- Default:
eth,erigon,engine
- Default:
--ws
: Enables the WS-RPC server.- Default:
false
- Default:
--ws.port value
: The WS-RPC server listening port.- Default:
8546
- Default:
--ws.compression
: Enables compression over WebSocket.- Default:
true
- Default:
--rpc.batch.concurrency value
: Limits the number of goroutines for batch requests.- Default:
2
- Default:
--rpc.streaming.disable
: Disables JSON streaming for heavy endpoints.- Default:
false
- Default:
--rpc.accessList value
: Specifies a granular API allowlist.--rpc.gascap value
: Sets a cap on gas usage foreth_call
/estimateGas
.- Default:
50000000
- Default:
--rpc.batch.limit value
: Sets the maximum number of requests in a batch.- Default:
100
- Default:
--rpc.returndata.limit value
: Sets the maximum return data size foreth_call
.- Default:
100000
- Default:
--rpc.allow-unprotected-txs
: Allows unprotected transactions via RPC.- Default:
false
- Default:
--rpc.txfeecap value
: Sets a cap on transaction fees in ether.- Default:
1
- Default:
--rpc.slow value
: Logs RPC requests slower than the specified threshold.- Default:
0s
- Default:
--rpc.evmtimeout value
: The maximum time to wait for an EVM call.- Default:
5m0s
- Default:
--rpc.overlay.getlogstimeout value
: The maximum time to wait foroverlay_getLogs
.- Default:
5m0s
- Default:
--rpc.overlay.replayblocktimeout value
: The maximum time to wait to replay a single block.- Default:
10s
- Default:
--rpc.subscription.filters.maxlogs value
: Maximum logs to store per subscription.- Default:
0
- Default:
--rpc.subscription.filters.maxheaders value
: Maximum block headers to store per subscription.- Default:
0
- Default:
--rpc.subscription.filters.maxtxs value
: Maximum transactions to store per subscription.- Default:
0
- Default:
--rpc.subscription.filters.maxaddresses value
: Maximum addresses per subscription to filter logs by.- Default:
0
- Default:
--rpc.subscription.filters.maxtopics value
: Maximum topics per subscription to filter logs by.- Default:
0
- Default:
--http.timeouts.read value
: Maximum duration for reading a request.- Default:
30s
- Default:
--http.timeouts.write value
: Maximum duration before timing out a response write.- Default:
30m0s
- Default:
--http.timeouts.idle value
: Maximum idle time for a connection with keep-alives enabled.- Default:
2m0s
- Default:
--authrpc.timeouts.read value
: Maximum read duration for an Engine API request.- Default:
30s
- Default:
--authrpc.timeouts.write value
: Maximum write duration for an Engine API response.- Default:
30m0s
- Default:
--authrpc.timeouts.idle value
: Maximum idle time for an Engine API connection.- Default:
2m0s
- Default:
--healthcheck
: Enables gRPC health checks.- Default:
false
- Default:
Logging and Profiling
Flags for controlling logging and performance profiling.
--log.json
: Formats console logs with JSON.- Default:
false
- Default:
--log.console.json
: Formats console logs with JSON.- Default:
false
- Default:
--log.dir.json
: Formats file logs with JSON.- Default:
false
- Default:
--verbosity value
: Sets the log level for console logs.- Default:
info
- Default:
--log.console.verbosity value
: Sets the log level for console logs.- Default:
info
- Default:
--log.dir.disable
: Disables disk logging.- Default:
false
- Default:
--log.dir.path value
: The path to store user and error logs.--log.dir.prefix value
: The file name prefix for logs stored on disk.--log.dir.verbosity value
: Sets the log verbosity for disk logs.- Default:
info
- Default:
--log.delays
: Enables block delay logging.- Default:
false
- Default:
--pprof
: Enables the pprof HTTP server.- Default:
false
- Default:
--pprof.addr value
: The pprof HTTP server listening interface.- Default:
127.0.0.1
- Default:
--pprof.port value
: The pprof HTTP server listening port.- Default:
6060
- Default:
--pprof.cpuprofile value
: Writes a CPU profile to a file.--trace value
: Writes an execution trace to a file.--vmtrace value
: Sets the provider tracer.--vmtrace.jsonconfig value
: Sets the tracer's configuration.--metrics
: Enables metrics collection and reporting.- Default:
false
- Default:
--metrics.addr value
: The stand-alone metrics HTTP server listening interface.- Default:
127.0.0.1
- Default:
--metrics.port value
: The metrics HTTP server listening port.- Default:
6061
- Default:
Consensus and Forks
Flags related to consensus mechanisms and network forks.
--clique.checkpoint value
: The number of blocks after which to save the vote snapshot.- Default:
10
- Default:
--clique.snapshots value
: The number of recent vote snapshots to keep in memory.- Default:
1024
- Default:
--clique.signatures value
: The number of recent block signatures to keep in memory.- Default:
16384
- Default:
--clique.datadir value
: The path to the clique database folder.--fakepow
: Disables proof-of-work verification.- Default:
false
- Default:
--gpo.blocks value
: The number of recent blocks to check for gas prices.- Default:
20
- Default:
--gpo.percentile value
: The percentile of recent transaction gas prices to use for a suggested gas price.- Default:
60
- Default:
--proposer.disable
: Disables the PoS proposer.- Default:
false
- Default:
--bor.heimdall value
: The URL of the Heimdall service.- Default:
http://localhost:1317
- Default:
--bor.withoutheimdall
: Runs without the Heimdall service.- Default:
false
- Default:
--bor.period
: Overrides the bor block period.- Default:
false
- Default:
--bor.minblocksize
: Ignores the bor block period and waits forblocksize
transactions.- Default:
false
- Default:
--polygon.pos.ssf
: Enables Polygon PoS Single Slot Finality.- Default:
false
- Default:
--polygon.pos.ssf.block value
: Enables Polygon PoS Single Slot Finality from a specific block.- Default:
0
- Default:
Sentry
Flags for configuring the Sentry component.
--sentry.api.addr value
: A comma-separated list of sentry addresses.--sentry.log-peer-info
: Logs detailed peer info when a peer connects or disconnects.- Default:
false
- Default:
--sentinel.addr value
: The address for the sentinel component.- Default:
localhost
- Default:
--sentinel.port value
: The port for the sentinel component.- Default:
7777
- Default:
--sentinel.bootnodes value
: Comma-separated enode URLs for P2P discovery bootstrap for the sentinel.--sentinel.staticpeers value
: Connects to comma-separated consensus static peers.
Downloader
Flags for controlling the downloader component.
--downloader.api.addr value
: The downloader address.--downloader.disable.ipv4
: Disables IPv4 for the downloader.- Default:
false
- Default:
--downloader.disable.ipv6
: Disables IPv6 for the downloader.- Default:
false
- Default:
--no-downloader
: Disables the downloader component.- Default:
false
- Default:
--downloader.verify
: Verifies snapshots on startup.- Default:
false
- Default:
--sync.loop.throttle value
: Sets the minimum time between sync loop starts.--sync.loop.block.limit value
: Sets the maximum number of blocks to process per loop iteration.- Default:
5000
- Default:
--sync.loop.break.after value
: Sets the last stage of the sync loop to run.--bad.block value
: Marks a block as bad and forces a reorg.--webseed value
: Comma-separated URLs for network support infrastructure.
Caplin (Consensus Layer)
Flags for configuring the Caplin consensus layer.
--caplin.discovery.addr value
: The address for the Caplin DISCV5 protocol.- Default:
0.0.0.0
- Default:
--caplin.discovery.port value
: The port for the Caplin DISCV5 protocol.- Default:
4000
- Default:
--caplin.discovery.tcpport value
: The TCP port for the Caplin DISCV5 protocol.- Default:
4001
- Default:
--caplin.checkpoint-sync-url value
: The checkpoint sync endpoint.--caplin.subscribe-all-topics
: Subscribes to all gossip topics.- Default:
false
- Default:
--caplin.max-peer-count value
: The maximum number of peers to connect to.- Default:
128
- Default:
--caplin.enable-upnp
: Enables NAT porting for Caplin.- Default:
false
- Default:
--caplin.max-inbound-traffic-per-peer value
: The maximum inbound traffic per second per peer.- Default:
1MB
- Default:
--caplin.max-outbound-traffic-per-peer value
: The maximum outbound traffic per second per peer.- Default:
1MB
- Default:
--caplin.adaptable-maximum-traffic-requirements
: Makes the node adaptable to traffic based on the number of validators.- Default:
true
- Default:
--caplin.blocks-archive
: Enables backfilling for blocks.- Default:
false
- Default:
--caplin.blobs-archive
: Enables backfilling for blobs.- Default:
false
- Default:
--caplin.states-archive
: Enables the archival node for historical states.- Default:
false
- Default:
--caplin.blobs-immediate-backfill
: Tells Caplin to immediately backfill blobs.- Default:
false
- Default:
--caplin.blobs-no-pruning
: Disables blob pruning.- Default:
false
- Default:
--caplin.checkpoint-sync.disable
: Disables checkpoint sync.- Default:
false
- Default:
--caplin.snapgen
: Enables snapshot generation.- Default:
false
- Default:
--caplin.mev-relay-url value
: The MEV relay endpoint.--caplin.validator-monitor
: Enables Caplin validator monitoring metrics.- Default:
false
- Default:
--caplin.custom-config value
: Sets a custom config for Caplin.--caplin.custom-genesis value
: Sets a custom genesis for Caplin.--caplin.use-engine-api
: Uses the Engine API for internal Caplin.- Default:
false
- Default:
Shutter Network Encrypted Transactions
Flags for configuring the Shutter Network encrypted transactions mempool.
--shutter
: Enables the Shutter encrypted transactions mempool.- Default:
false
- Default:
--shutter.p2p.bootstrap.nodes value
: Overrides the default P2P bootstrap nodes.--shutter.p2p.listen.port value
: Overrides the default P2P listen port.- Default:
0
- Default:
Downloader
Flags for managing the Downloader for data synchronization.
--torrent.port value
: The port to listen for the BitTorrent protocol.- Default:
42069
- Default:
--torrent.maxpeers value
: An unused parameter.- Default:
100
- Default:
--torrent.conns.perfile value
: The number of connections per file.- Default:
10
- Default:
--torrent.trackers.disable
: Disables conventional BitTorrent trackers.- Default:
false
- Default:
--torrent.upload.rate value
: The upload rate in bytes per second.- Default:
32mb
- Default:
--torrent.download.rate value
: The download rate in bytes per second.--torrent.webseed.download.rate value
: The download rate for webseeds.--torrent.verbosity value
: Sets the verbosity level for BitTorrent logs.- Default:
1
- Default: