Skip to main content

Start Operator

Run the Operator Service using the start command with your Vault address and node endpoints.

If you did not use Operator Service to generate keys or the hot wallet, you will need to provide the relevant paths via flags — see Keystore & Wallet below.

Choose the format matching your installation method:

./operator start \
--vault=0xf27...10ad9 \
--consensus-endpoints=https://consensus-node \
--execution-endpoints=https://execution-node
IconSetup Complete

Congratulations! Your Operator Service is now running and ready to trigger validator registrations within your Vault. Monitor the logs to ensure validators are being registered successfully.

Optional Flags

Keystore & Wallet

Only needed if you didn't use the Operator Service to generate keys and hot wallet.

FlagDescription
--keystores-dirDirectory with validator keys in EIP-2335 ↗ format. Must contain a single password.txt or per-keystore password files (e.g., keystore1.json, keystore1.txt)
--keystores-password-filePath to the password file for decrypting keystores
--hot-wallet-filePath to the password-protected hot wallet private key file
--hot-wallet-password-filePath to the hot wallet password file
--deposit-data-filePath to deposit_data.json. Default: file generated with create-keys command

Additional Capabilities

FlagDescription
--harvest-vaultSyncs Vault state every 12 hours via updateState, reducing gas costs for users
--remote-signer-urlThe base URL of the remote signer (e.g., http://signer:9000)
--hashi-vault-urlThe base URL of the HashiCorp Vault service (e.g., http://vault:8200)
--hashi-vault-tokenAuthentication token for accessing HashiCorp Vault
--hashi-vault-key-pathKey path(s) in the K/V secret engine where validator signing keys are stored
--hashi-vault-key-prefixKey prefix(es) in the K/V secret engine under which validator signing keys are stored
--hashi-vault-parallelismHow many requests to K/V secrets engine to do in parallel

Tuning & Limits

FlagDescription
--min-validators-registrationMinimum number of validators required to start registration
--max-fee-per-gas-gweiMaximum gas fee per transaction. Default: 10 Gwei (Ethereum), 2 Gwei (Gnosis)
--pool-sizeNumber of CPU cores used to load and create keystores. Default: all cores. Set to half your CPU cores to prevent overloading

Logging

FlagDescription
--verboseEnable debug mode
--log-levelSet logging level: fatal, error, warning, info, debug
--log-formatLog record format: plain or json
--enable-metricsEnable Prometheus metrics server
--metrics-hostPrometheus metrics host. Default: 127.0.0.1
--metrics-portPrometheus metrics port. Default: 9100
--metrics-prefixPrometheus metrics prefix. Default: sw_operator
IconEnvironment Variables

Operator Service can be configured via environment variables instead of CLI flags. Copy this example file ↗ and save it as .env. Adjust as necessary based on your node configuration.

Load environment variables before running Operator Service:

export $(grep -v '^#' .env | xargs)

Next Steps

For monitoring, validator recovery, and other operational tasks shared across versions, see the main Operator documentation →.