Generate Keys

Staking keys play a crucial role in Ethereum staking as validators use them to sign attestations and proposals. These keys are also necessary for depositing the 32 ETH stake. Additionally, the staking keys will be used to set the Withdrawal Address for receiving rewards and making final withdrawals.

As a user looking to participate in staking, you will need to generate your own staking keys.

In this section, we will provide detailed instructions on generating and securely managing your staking keys using the Wagyu Key Generator software.

AVADO ETH2.0 Key Generator deprecated

AVADO used to provide an “ETH2.0 Key Generator” package for generating the staking keys. This is no longer used. It is recommended that you use the Wagyu Key Generator software as detailed below.

Before you Begin

Before you begin the key generation process, there are a few important points to keep in mind:

  1. Prepare pen and paper to write down important information. This includes the 24-word secret recovery phrase (also called the “mnemonic”, or the “seed phrase”) and the keystore password. Safely storing and keeping these details secure is your responsibility.

  2. It is vital to have multiple secure backups of your secret recovery phrase and password. The secret recovery phrase is the only way to withdraw your stake, so treat it with extreme care. Losing this information will result in permanent loss of access to your funds.

Warning: Keep your secret recovery phrase safe

If you lose the 24 word mnemonic phrase, no one will be able to help you.

  1. If possible, use an "air-gapped" computer during the key generation process. An air-gapped computer is one that is not and has not been connected to any network, minimizing the risk of exposing your secret recovery phrase. If an air-gapped computer is not available, ensure you disconnect from the internet by turning off all networking options (unplugging Ethernet, switching off Wi-Fi, etc.) while generating your keys.

Tips: For advanced users, consider using a live operating system like Tails installed on a USB drive, and run it on a computer with disabled network capabilities for added security.

Step 1: Install the Wagyu Key Generator on your Computer

Wagyu Key Generator is a user-friendly, free, and open-source GUI application that facilitates the creation of Ethereum staking keys. With Wagyu, generating keys is a seamless and intuitive process, eliminating the need for users to type any commands on the command line.

Visit https://wagyu.gg/ and download the Wagyu Key Generator for your computer’s operating system. Make sure you download from the official site, and not from anywhere else.

When you first attempt to run the software, your computer may warn you that this is an unrecognized app. Given that you have downloaded the software from its official site, you can proceed to override the default security setting.

Assume you’ve installed Wagyu to the Applications folder. In the Finder on your Mac, navigate to the Applications folder and locate the Wagyu app. Right-click the app icon, then choose Open from the shortcut menu. Then choose Open again to open it. The app will be saved as an exception to your security settings, and next time you can open it normally by double-clicking it.

Once complete the Key Generator will open:

On the Welcome screen, if you see the “INTERNET DETECTED” message on the upper-left, this is a reminder that your computer is still connected to the internet. This is a good time to unplug the ethernet cable, and turn off the Wi-Fi.

Step 2: Create your Secret Recovery Phrase

If this is the first time you generate an Ethereum staking key, click Create New Secret Recovery Phrase to start.

Select Mainnet for Network.

Wagyu reminds you again the importance of keeping both your secret recovery phrase and you validator keys safe and secure. Heed the warnings!

When you’re ready, click Create to generate the secret recovery phrase.

This is your 24-word secret recovery phrase. Write it down, make multiple copies, and refrain from using the clipboard to copy or otherwise storing it electronically. When you're ready, click Next.

This is your chance to check the you’ve got your secret recovery phrase complete and correct.

Step 3: Creating your Keys

In the next screen, Create Keys, there are three important pieces of information that need consideration.

Number of New Keys

This is the number of validator keys you want to generate. Each validator requires a deposit of 32 ETH.

If you’re creating only one validator, enter “1” here. You will obtain one keystore file, and one deposit data file. The deposit data file will contain information for depositing one lot of 32 ETH stake. You’ll need to upload this deposit data file to the Ethereum Launchpad web site to make the deposit.

If you intend to create multiple validators, enter a number larger than “1”. Keep in mind that:

  • You will obtain multiple keystore files, one for each validator;

  • However, you will still receive one deposit data file that contains information for multiple lots of 32 ETH stake;

  • During the deposit step, you will be asked to deposit for all of validators specified, that is, 64 ETH for 2 validators, 96 ETH for 3 validators, and so on.

Consider whether you want to make all the deposits at once, or start with a smaller batch and deposit for additional validators later. You can easily come back to create additional validator keys and a corresponding deposit data file at a later stage.

Password

This is the password for your keystore file(s). You will upload the keystore files to your validators on the AVADO and you will need this password at that time. Remember to write down this password and keep it secure along with the secret recovery phrase.

Ethereum Withdrawal Address

This is your Ethereum address for receiving consensus rewards and making the final withdrawal of your stake. Ensure that you have control over this address, preferably using a secure wallet address such as a hardware wallet.

Be cautious when selecting the address as it can only be set once and cannot be changed later. If you lose the private key of this address, you will lose access to your deposit and rewards.

Warning: Do NOT use an exchange address!

Using an exchange address as your Withdrawal Address for staking is extremely risky. Most exchanges are not equipped to handle Ethereum staking rewards and withdrawals. As a result, you will likely face significant challenges or even be unable to retrieve your deposit and rewards.

Although setting the Withdrawal Address is optional at this point, it's recommended that you set it now for added security. This ensures that if your secret recovery phrase, or even your AVADO, is stolen in the future, the perpetrators won't be able to divert your funds from the Withdrawal Address since this cannot be changed. Hence, it's advisable to decide and set your Withdrawal Address now for better protection.

If you nevertheless prefer to set the Withdrawal Address at a later time, you can leave the Ethereum Withdrawal Address box empty. You can always set the Withdrawal Address later using your 24-word secret recovery phrase, and using tools like AVADO's ETH Withdrawal Address Tool.

When you are ready, click Next to continue. You will be asked to re-type the keystore password in the next screen to confirm.

Step 4: Create your “deposit_data” and “keystore” files

Now choose a folder where you will be receiving your keystore file(s) and deposit data file. If you’re doing this offline, as recommended, put the files on a USB stick to move them to your internet connected machine.

Click Create to proceed. After a short while, you will obtain the following output files:

  • Keystore file(s) (keystore-xxxxxxx.json), one for each validator. You will need these files to set up your validators to “sign” transactions. Do not share with anyone.

  • Deposit data file (deposit_data-xxxxxx.json). There should only be one file. This file represents the public information about your validator. You will need this file to deposit your 32 ETH per validator at the Ethereum Launchpad site.

In the event these files are lost or become inaccessible, they can always be recreated from your secret recovery phrase. See Re-generate or Generate More Keys for instructions.

Congratulations, you’ve successfully generated your staking keys!

Next Steps

Now, let's take a moment to revisit The Solo Staker's Journey diagram to understand what you have accomplished so far.

  • You have created the deposit data file, which needs to be uploaded to the deposit site along with a 32 ETH deposit per validator.

  • You have generated the keystore file(s), which can be imported into your validators.

  • You have obtained the seed phrase, which serves as a backup and can be used to regenerate the keystore files and deposit data file if needed. It also allows you to generate additional new keys in the future. Furthermore, if you haven't set the withdrawal address yet, the seed phrase can be used to set it.

With these steps completed, you can now proceed to make your deposit!

Last updated