Setting up Validator Keys
🌱 1. Obtain testnet ETH
🔑 2. Generate validator keys
Before continuing please have the following:

Before continuing please understand the following:
Offline Key Generation Best Practices: The mnemonic seed (24 words) to your validator should be protected by keeping them offline. Use Tails OS (see option 3) or a Linux Live USB with staking-deposit-cli (Option 1) or Wagyu to generate keys.
If this is not possible, at least physically disconnect from the network by unplugging ethernet cable or disconnecting from Wifi.
Ways to create your validator keys:
Result: There are two types of files generated.
Keystore file(s)
[i.e.. keystore-16945983.json]
Controls the validator's ability to sign transactions
Imported and loaded into your validator
Keep private. Do not share with anyone
Can be recreated from your mnemonic seed/secret recovery phrase
Deposit data file(s)
[i.e. deposit_data-16945983.json]
Public information about your validator
Required to execute your deposit through the Ethereum Launchpad
Can be recreated from your mnemonic seed/secret recovery phrase
⬆️ 3. Transfer validator keys to node
After creating the validator keys offline, you'll want to copy these validator keys to your node.
To align with this guide's steps, make the default validator_keys path on your node.
mkdir -p $HOME/staking-deposit-cli/validator_keys
To transfer validator key files to your node from your local computer, consider using:
After transfering the files, verify that the keystore-m files are in the proper location on your node.
ls -l $HOME/staking-deposit-cli/validator_keys
Expected sample output:
-r--r----- 1 ethereum ethereum 706 Oct 1 02:33 deposit_data-1696645983.json
-r--r----- 1 ethereum ethereum 710 Oct 1 02:33 keystore-m_12381_3600_0_0_0-161664283.json
👩💻 4. Deposit transactions at the Launchpad
Follow the walk-through at the Launchpad: https://holesky.launchpad.ethstaker.cc
Do not send real mainnet ETH during this process! 🛑 Use only Holesky ETH.
Upload your
deposit_data-#########.json
found in thevalidator_keys
directory.Connect the launchpad with your wallet, review and accept terms. Ensure you're connected to Holešky network.
Confirm the transaction(s). There's one deposit transaction of 32 ETH for each validator.
Deposit Example: If you want to run 3 validators you will need to have (32 x 3) = 96 Holesky ETH plus some extra to cover the gas fees.
Verify Deposit Contract: Your transaction is depositing your ETH to the Holesky Deposit Contract address.Check, double-check, triple-check that the Holesky Deposit Contract address is correct.
0x4242424242424242424242424242424242424242
Ledger Nano Hardware wallet users: If you encounter difficulty making the deposit transaction, enable blind signing and contract data.
4. Review backups
🔥 Critical Crypto Reminder: Keep your mnemonics, keep your ETH.
Stay Offline: Write down your mnemonic seed offline. Not email. Not cloud.
More than 1 backup of mnemonic: Multiple copies with multiple locations is better. Best stored in a metal seed.
Verify your hardware wallet's backup: Most important of all data, this is where your withdrawal address belongs and ultimately controls the 32 ETH
In case of recovery: Stored on a USB key, keep copies of
validator_keys directory
- contains all the keystore .json fileskeystore password - used to encrypt keystore files
🎉Validator key setup and deposits are complete!
Last updated