Skip to content

Keysplit Command

The keysplit command is used to split validator keys for distributed validation on the SSV network.

anchor keysplit <SUBCOMMAND> [OPTIONS]

Where <SUBCOMMAND> is one of:

  • manual - Split keys with manually provided operator data
  • onchain - Split keys using operator data from the blockchain

Both subcommands share these Options

OptionDescriptionDefault
--keystore-path <PATH>Path to validator keystore fileRequired
--password-file <PATH>Path to a file containing the password for the validator keystore (if omitted, password will be prompted)None
--owner <ADDRESS>EOA address that owns the validatorRequired
--output-path <OUTPUT PATH>Path for output fileRequired
--operators <IDS>Comma-separated list of operator IDsRequired
-d, --data-dir <DIR>Data directory for node files~/.anchor/{network}
--network <NETWORK>Network to use (mainnet, holesky, hoodi)hoodi
-t, --testnet-dir <DIR>Directory containing testnet specsNone
--debug-level <DEBUG_LEVEL>Verbosity level for terminal logsINFO
-h, --helpDisplay help information

Manual Keysplit Subcommand

anchor keysplit manual [OPTIONS]

Additional Options:

OptionDescriptionDefault
--nonce <NONCE>Nonce for the owner addressRequired
--public-keys <KEYS>...RSA public keys for the operatorsRequired

Onchain Keysplit Subcommand

anchor keysplit onchain [OPTIONS]

Additional Options:

OptionDescriptionDefault
--rpc <ENDPOINT>RPC endpoint to access L1 dataRequired

Examples

Manual key splitting

anchor keysplit manual \
  --keystore-path /path/to/validator_keystore.json \
  --password-file /path/to/password.txt \
  --owner 0x123abc... \
  --operators 1,2,3,4 \
  --output-path /path/to/output.json \
  --nonce 0 \
  --public-keys key1 key2 key3 key4 \
  --network hoodi

Onchain key splitting

anchor keysplit onchain \
  --keystore-path /path/to/validator_keystore.json \
  --password-file /path/to/password.txt \
  --owner 0x123abc... \
  --operators 1,2,3,4 \
  --output-path /path/to/output.json \
  --rpc https://eth-mainnet.provider.com \
  --network mainnet

These commands will generate a json file to be uploaded to the SSV network webapp when registering a validator.