Configuration
Complete reference for all Armchain node (armnode) command-line flags. You can also export a config file and customize it. See Configuration File (TOML) at the bottom.
General
--datadir
~/.armnode
Data directory for databases and keystore
--genesis
-
Path to genesis file (required for joining a network)
--config
-
Path to TOML configuration file
--fakenet
-
Run as fakenet validator (n/N format)
--cache
3600
Megabytes of memory allocated for internal caching (minimum 3600)
--syncmode
full
Blockchain sync mode (full, snap)
--gcmode
archive
Garbage collection mode (archive, full, light). Note: Unlike Geth, Armchain defaults to archive. See Node Types.
--db.preset
ldb-1
Database layout preset (ldb-1, pbl-1, legacy-ldb, legacy-pbl). See Node Types - Database Configuration.
--nousb
false
Disable USB hardware wallet monitoring. Note: Hardware wallets (USB/Ledger/Trezor) have not been upgraded to support ML-DSA44 PQC keys. This flag is retained for compatibility but HW wallet signing is not currently functional.
--verbosity
3
Log verbosity (0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail)
Network (P2P)
--port
5050
P2P listening port
--maxpeers
50
Maximum number of network peers
--bootnodes
-
Comma-separated enode URLs for bootstrapping
--nat
any
NAT port mapping (any, none, upnp, extip:IP)
--nodiscover
false
Disable peer discovery
--netrestrict
-
Restrict network to CIDR ranges
HTTP JSON-RPC
--http
false
Enable HTTP RPC server
--http.addr
localhost
HTTP RPC listening address
--http.port
18545
HTTP RPC port
--http.api
eth,net,web3
Comma-separated API namespaces to expose
--http.corsdomain
""
Comma-separated list of allowed CORS domains
--http.vhosts
localhost
Comma-separated list of allowed virtual hosts
WebSocket
--ws
false
Enable WebSocket RPC server
--ws.addr
localhost
WebSocket listening address
--ws.port
18546
WebSocket port
--ws.api
eth,net,web3
Comma-separated API namespaces to expose
--ws.origins
-
Allowed WebSocket origins
Validator
--validator.id
-
Validator ID (required for validators)
--validator.pubkey
-
Validator public key (ML-DSA44 hex)
--validator.password
-
Path to file containing validator key password
RPC Limits
--rpc.gascap
50000000
Gas cap for eth_call and eth_estimateGas
--rpc.txfeecap
1
Transaction fee cap in ARM
--rpc.timeout
5s
HTTP RPC timeout
--rpc.allow-unprotected-txs
false
Allow non-EIP-155 transactions
Account Management
--allow-insecure-unlock
false
Allow account unlock over HTTP (dangerous!)
--unlock
-
Comma-separated account addresses to unlock
--password
-
Password file for account unlock
Performance Tuning
--cache
3600
Memory cache in MB (minimum 3600; increase for better performance)
--cache.database
-
Percentage of cache for database
--cache.gc
-
Percentage of cache for trie pruning
--maxpeers
50
Peer count (more peers = more bandwidth but better connectivity)
Tracing and Debugging
--tracing
false
Enable Jaeger tracing
--verbosity
3
Log verbosity level
--pprof
false
Enable pprof HTTP server
--pprof.port
6060
pprof port
API Namespaces
Available namespaces for --http.api and --ws.api:
eth
Standard Ethereum API (transactions, blocks, state, logs)
net
Network information (version, peer count, listening)
web3
Web3 utilities (client version, SHA3)
personal
Account management (create, unlock, sign)
txpool
Transaction pool inspection (pending, queued)
debug
Debugging and tracing (trace transaction, stack traces)
admin
Node administration (peers, node info, datadir)
arm
Armchain-specific methods
dag
DAG-specific queries (events, epochs)
Subcommands
Configuration File (TOML)
Export a configuration file and customize it:
Example TOML structure:
Then start with:
Environment Variables
GOPROXY
Go module proxy (used during build)
HOME
Home directory (default datadir location)
Further Reading
Node Types and Configurations: GC modes, sync modes, database presets, and resource requirements
Fakenet: Local development network options
Last updated