e2

How do I upgrade my withdrawal credentials from BLS key to ETH address?
Upgrading from BLS to ETH keys is required to receiving rewards or un-stake. If you already used an ETH address instead of BLS keys when creating your validator, you do not need to upgrade.

To begin, you'll need to obtain Ethdo for your computer. The most convenient method is to download a precompiled binary compatible with your operating system. Visit the Ethdo releases page at https://github.com/wealdtech/ethdo/releases to find the appropriate binary for your system.

Here are sample instructions on how to download and install the Ethdo precompiled binary
  1. Set up the installation location for Ethdo. In this example, we'll demonstrate the process using the terminal app, but you can achieve the same result using your operating system's graphical user interface.
    mkdir ethdo && cd ethdo
  2. Download the appropriate binary from the Ethdo releases page. In this example, we'll use the curl command, but feel free to download the file using your preferred web browser.
    curl -OL https://github.com/wealdtech/ethdo/releases/download/[SUITABLE_FILE]
  3. Extract the contents of the downloaded file. While you can use the tar command-line utility to unpack the archive, it is not required. Many operating systems provide built-in tools or graphical user interfaces for extracting files without needing to use the command line.
    tar -zxf [DOWNLOADED_FILE_NAME]
  4. Having successfully extracted the Ethdo binary, you can now proceed with the upgrade process.

Our instructions are one special case covered by Ethdo, and for extra security we include using an air gapped computer for part of the process. You can also refer the regular Ethdo instructions here: https://github.com/wealdtech/ethdo/blob/master/docs/changingwithdrawalcredentials.md#online-and-offline-process

Keep in mind that if you plan to use an offline computer, you'll also need to install the Ethdo binary on that machine.

If you have multiple withdrawal credentials, you will need to repeat the following process for each of them

  1. First, on the internet-connected machine, execute the following command:
    ./ethdo validator credentials set --prepare-offline
  2. This command will generate a file named offline-preparation.json. Transfer this file to your offline computer, and proceed with the next steps there.
  3. You will need the private key of your BLS withdrawal credential. If you have this already, skip to step 4. You can re-derive your BLS private key from the mnemonic and path used to create it. The command is:
    ./ethdo account derive --mnemonic="your 12 or 24 word mnemonic here" --path="m/12381/3600/0/0" --show-private-key

    The path usually looks like m/12381/3600/0/0, but if you used a modified cli tool from Staked to create your BLS keys, then your path will have an additional /0 at the end, so the full path should look like: m/12381/3600/0/0/0

  4. Next, run the command to produce the actual upgrade transactions:
    ./ethdo validator credentials set --offline --private-key=[PRIV_KEY_FROM_STEP_3] --withdrawal-address=[NEW_ETH_WITHDRAWAL_ADDRESS]
  5. That will produce a file called change-operations.json. This file is safe to move back to an online computer.
  6. Access the ETH monitor dashboard on the Staked website at: https://staked.us/v/eth2/monitor
  7. Click on the Orange Upgrade Addresses button above the validator table. This will open a JSON file upload modal. Upload the change-operations.json file and click on the blue Confirm and Start Upgrading button.
  8. Alternatively, you can broadcast the upgrade transaction using Ethdo’s node or any beacon node.