Skip to main content
All CollectionsValidator Nodes & Masternodes
How to Change your Ethereum withdrawal credentials from 0x00 to 0x01 (deposit-cli)
How to Change your Ethereum withdrawal credentials from 0x00 to 0x01 (deposit-cli)

Windows, Mac & Linux

Allnodes Team avatar
Written by Allnodes Team
Updated over a month ago

Never share your seed phrase or mnemonic with anyone, EVER. Allnodes will never ask you for it. If someone asks for it, they are scammers pretending to be Allnodes admins. Block and report them immediately.

If you used Ledger Nano X to generate keystore files, use the tool below.
https://tools.allnodes.com/eth/bls-to-execution

Do not forget to upload the file generated with our tool here (after you check that the new withdrawal credentials are correct): https://beaconcha.in/tools/broadcast

Otherwise, please read further instructions.

Does my node have a 0x00 Withdrawal Credential or a 0x01 Withdrawal Address?

This guide is only for Ethereum nodes that have 0x00 withdrawal credentials. If you already have a 0x01 withdrawal address, no action is required. All RocketPool (RPL) minipools have a 0x01 withdrawal address; no action is required.

An example of Withdrawal Credentials 0x00 is listed in the drop-down menu on your portfolio page, click Node Address):

An example of a Withdrawal Address 0x01 is listed in the drop-down menu:

We recommend using the highest security to protect your seed phrase. Using an Air Gap computer is the most secure way to update your 0x00 withdrawal credentials. An Air Gap computer is a spare computer in your physical possession that can be formatted with a fresh installation of your preferred operating system. Once installed, an Air Gap computer is not connected to the internet (WiFi disabled). A USB Flash drive transfers all files from the connected computer to the Air Gap computer.

You will need a copy of your BLS withdrawal credentials to complete the instructions below. Copy the credentials by visiting https://launchpad.ethereum.org/en/withdrawals and entering in your validator Node ID (in this example, 27254, but use your own Node ID)

For users using their current computer, we recommend completing all operating system updates. We also recommend running a malware scan (free trial at malwarebytes.com) before beginning the following steps:

A) Windows

B) MacOS

C) Linux


A. Instructions for Windows

  1. Download the latest version of staking_deposit-cli
    (Windows users select the file that has Windows inside its name)

  2. After the download is complete, extract the staking_deposit-cli file (right-click and select Extract All…). Extract the file to your desktop and name the extracted directory stakingCLI.
    (Note this will put the deposit.exe file into stakingCLI but into a second folder. Move the deposit.exe file into the stakingCLI folder to simplify the command line steps.)

  3. To open the Command Prompt, type this command in the Windows search bar:

    cmd

    Right-click on the Command Prompt and Run as administrator.`

  4. Click Yes if a warning screen from Windows opens
    The command prompt will open to c:\Windows\System32
    Type:

    cd /d %USERPROFILE%/Desktop

    In this example, Allnodes is shown

  5. If you are not using an air gapped computer, disconnect and disable your internet so that you are offline.

  6. Type:

    cd stakingCLI
  7. Copy and paste:

    deposit generate-bls-to-execution-change
  8. Type (for english):

    3 
  9. Type:

    mainnet
  10. Type your original deposit address mnemonic (seed phrase)

  11. Type:

    0

    (If you have multiple validators and are updating them separately, type 1 for the second validator, type 2 for the third validator, etc.)

  12. Type your validator IDs (27254 in this example, but use your own validator ID. If you have multiple IDs, separate each one with a space)

  13. Copy and paste your BLS withdrawal credentials. If you have multiple credentials, separate them with spaces. If you did not do this step at the beginning, please visit https://launchpad.ethereum.org/en/withdrawals and enter your NodeID.

  14. Copy and paste your withdrawal address. This can be any valid Ethereum address that shows on a blockchain explorer, such as etherscan.io. We do not recommend using an exchange address because it is not in your control. You must be 100% sure that the withdrawal address is correct and in your control.

  15. Copy and paste your withdrawal address to confirm it has been entered correctly.

  16. You are now ready to submit your JSON file to be broadcast to the Ethereum network. Upload to https://beaconcha.in/tools/broadcast. Remember, your withdrawal address is not reversible once your JSON file is accepted by the Ethereum network (on April 12th or after the Shappella upgrade is complete). You must be 100% sure that the withdrawal address is correct.


B. Instructions for MacOS

  1. Click the Launchpad icon in the Dock, type Terminal in the search field, then click Terminal.

  2. Copy and paste (all 1 line) into the terminal and press Enter.

    curl -OL https://github.com/ethereum/staking-deposit-cli/releases/download/v2.5.0/staking_deposit-cli-d7b5304-darwin-amd64.tar.gz

  3. If you are not using an air gapped computer, disconnect and disable your internet so that you are offline.

  4. Copy and paste into the terminal and press Enter.

    tar -zxf staking_deposit-cli-d7b5304-darwin-amd64.tar.gz

  5. Copy and paste into the terminal and press Enter.

    cd staking_deposit-cli-d7b5304-darwin-amd64
  6. Copy and paste into the terminal and press Enter.

    ./deposit generate-bls-to-execution-change

  7. Type (for English):

    3
  8. Type (for mainnet):

    mainnet
  9. Type your original deposit address mnemonic (seed phrase)

  10. Type:

    0

    (If you have multiple validators and are updating them separately, type 1 for the second validator, type 2 for the third validator, etc.)

  11. Type your validator IDs (27254 in this example, but use your own validator ID. If you have multiple IDs, separate them with spaces)

  12. Copy and paste your BLS withdrawal credentials. If you have multiple credentials, separate them with spaces. If you did not do this step at the beginning, please visit https://launchpad.ethereum.org/en/withdrawals and enter your NodeID.

  13. Copy and paste your withdrawal address. This can be any valid Ethereum address that shows on a blockchain explorer, such as etherscan.io. We do not recommend using an exchange address because it is not in your control. You must be 100% sure that the withdrawal address is correct and in your control.

  14. Copy and paste your withdrawal address to confirm it has been entered correctly.

  15. You are now ready to submit your JSON file to be broadcast to the Ethereum network. Upload to https://beaconcha.in/tools/broadcast. Remember, your withdrawal address is not reversible once your JSON file is accepted by the Ethereum network (on April 12th or after the Shappella upgrade is complete). You must be 100% sure that the withdrawal address is correct.


C. Instructions for Linux

  1. Copy and paste the following (all 1 line) and press Enter:

    wget https://github.com/ethereum/staking-deposit-cli/releases/download/v2.5.0/staking_deposit-cli-d7b5304-linux-amd64.tar.gz

  2. Extract the staking_deposit-cli file by copying and pasting:

    tar -zxf staking_deposit-cli-d7b5304-linux-amd64.tar.gz
  3. Copy and paste the following and press Enter:

    cd staking_deposit-cli-d7b5304-linux-amd64
  4. Copy and paste the following and press Enter:

    ./deposit generate-bls-to-execution-change

  5. Type (for english):

    3
  6. Type (for mainnet):

    mainnet
  7. Type your original deposit address mnemonic (seed phrase)

  8. Type:

    0 

    (If you have multiple validators and are updating them separately, type 1 for the second validator, type 2 for the third validator, etc.)

  9. Type your validator IDs (27254 in this example, but use your own validator ID. If you have multiple IDs, separate them with spaces)

  10. Copy and paste your BLS withdrawal credentials. If you have multiple credentials, separate them with spaces. If you did not do this step at the beginning, please visit https://launchpad.ethereum.org/en/withdrawals and enter your NodeID.

  11. Copy and paste your withdrawal address. This can be any valid Ethereum address that shows on a blockchain explorer, such as etherscan.io. We do not recommend using an exchange address because it is not in your control. You must be 100% sure that the withdrawal address is correct and in your control.

  12. Copy and paste your withdrawal address to confirm it has been entered correctly.

  13. (To remove previously typed commands as part of best security practices) Type:

    history -c
  14. You are now ready to submit your JSON file to be broadcast to the Ethereum network. Upload to https://beaconcha.in/tools/broadcast. Remember, your withdrawal address is not reversible once your JSON file is accepted by the Ethereum network (on April 12th or after the Shappella upgrade is complete). You must be 100% sure that the withdrawal address is correct.

Have Questions?
Send us an email at [email protected]

Did this answer your question?