How to Stake ETH (Ethereum)
While Bitcoin introduced the world’s first provably sound digital currency, Ethereum pioneered the world’s first programmable blockchain. For the first time, this enabled developers to build their own custom blockchain logic for how users transact both the native token (ETH) and user-generated assets.
Now, Ethereum is transitioning to an innovative Proof of Stake consensus mechanism. This is known as Ethereum 2.0 or the Consensus layer and represents the next phase of Ethereum’s evolution. You can become part of this blockchain evolution by staking your ETH with Blockdaemon.
To stake your ETH with Blockdaemon, submit your details here.
Staking ETH isn’t as straightforward as some protocols, but we’ll make it easy for you. To give you an idea of what to expect, the ETH staking process follows these steps:
- Set Up a Withdrawal Address
- Share Your Public Address with Blockdaemon
- Blockdaemon Launches Your Public Validator(s)
- Blockdaemon Provides You Transaction Data
- Fund Your Validator(s) with an Ethereum Transaction
- Your Validators will Join the Activation Queue
- Appendix: Deposit Contract Steps with Etherscan
Note: As a Blockdaemon Customer, you will only be responsible for steps 1, 2, 4 and 5 of this process.
Step 1 – Set Up a Withdrawal Address
Blockdaemon will need the public address of an Ethereum 1 or Ethereum 2 (BLS) account that will hold the necessary ETH and fund your validator(s).
The withdrawal address will receive the transaction fees and MEV rewards from blocks created by your validator. After withdrawals have been enabled, regular validator rewards will also be pushed to this address.
Once your validator exits the protocol, your 32 ETH collateral will be returned to the withdrawal address.
- Note: Blockdaemon never has access to any funds on the withdrawal address
- Note: Validators are staked in increments of 32 ETH
- For 64 ETH you would need two validators; 96 ETH would require 3 validators, and so on.
- Note: You do not need a unique address to fund each validator. A single address is enough, providing it holds sufficient ETH.
Step 3 – Blockdaemon Launches Your Public Validator(s)
Blockdaemon will acknowledge receipt of this information and schedule set up of your validator(s). Blockdaemon will then generate the validating keys for the desired amount of validators and begin launching the validators.
Blockdaemon has optimized for launching large amounts of validators on-demand, so these steps are automated where appropriate:
- Blockdaemon creates a BLS12-381 private key and generates addresses conformant to EIP2333 and EIP 2334.
- These are Validating Keys. These keys cannot spend any funds on the validator. This key is used to sign blocks for validating and will be used to trigger an exit from staking.
- Blockdaemon uses the Validating Keys to generate the data that will be needed to generate the transaction to fund these validators:
- pubkey – The public key of the created validator.
- withdrawal_credentials – A SHA256 hash of the withdrawal address (which you or your custodian created) with the first byte replaced with 0x00
- signature – A signature by pubkey to prove this key exists.
- deposit_data_root – A Merkle root of the other fields to ensure they were generated correctly.
- All validators will be uploaded into your organization’s online portal where you’ll have access to a dedicated ETH Staking Dashboard. Here you’ll be able to easily review your portfolio performance on 1000s of validators:
- Gain insight into the status of your individual validators
- See portfolio balance by principal and reward amounts
- Easily identify your top 5 Validators by total rewards
Step 4 – Blockdaemon Provides You Transaction Data
For each withdrawal key shared with us, we will share the four data points exposed in the previous section; pubkey, withdrawal_credentials, signature and deposit_data_root
- As an individual user self-custody, we will arrange for the transaction data to be shared with you in your preferred manner.
- By default, Blockdaemon generates JSON responses containing this data. This can then be adapted as required.
- If you are using a custodian or wallet with Blockdaemon integration, our team will upload the deposit data through the custodian’s API. You can then sign.
Step 5 – Fund Your Validator(s) with an Ethereum Transaction
For each withdrawal address, you will need to send 32 Ether from the Ethereum blockchain to the contract address.
- Your transaction will call the deposit function on the Ethereum 2 deposit contract.
- This contract is on the Ethereum blockchain at
- As an individual self-custody user, you will need to create an Ethereum transaction to fund the validator.
- This process may be handled for you automatically by a custodian if you are using one, in which case you may not have any steps further to complete.
- Please refer to any documentation they provide, as this will involve sending 32 ETH from your Ethereum account to fund the validator and enter it into the queue for staking.
For detailed instructions for how to manually create transactions, a step-by-step guide using MetaMask is provided in Appendix – Deposit Contract Steps with Etherscan.
- Note: If you have a large number of validators to launch, we recommend using custodian automated workflows to fund your validators.
Step 6 – Your Validators will Join the Activation Queue
All actions you need to take have now been completed.
- The Ethereum transaction will need to be 2048 blocks deep (approximately 8 hours in real time) on the Ethereum blockchain, at which time the beacon will acknowledge the deposit.
- The validator will then enter the activation queue to begin staking.
- Note: The activation queue time may vary and can take a few weeks.
To stake your ETH with Blockdaemon, submit your details here.
Appendix: Deposit Contract Steps with Etherscan
Note: We recommend Fireblocks for institutions that are looking for custody options.
- Access to Metamask with Ethereum 1.0 account on Mainnet with funds (32 per validator plus gas fees).
- Helper JSON file (provided by Blockdaemon).
- Raw deposit data file, if you want to verify the transaction (provided by Blockdaemon).
Before you continue it is highly recommended that you have your MetaMask unlocked and ensure that you are using the correct Ethereum account on Mainnet.
Visit smart contract on Etherscan
For the following steps, all customers can use the same Smart Contract on Etherscan to deposit their 32 ETH:
Connect MetaMask with Etherscan
While viewing the contract on Etherscan perform the following to connect MetaMask:
- Click on the Contract tab.
- Click on the Write Contract button.
- Click the Connect to Web3 button.
- Select MetaMask from the modal.
- Select the Ethereum 1 address with the funds.
- Confirm by clicking on the Connect button.
Verify MetaMask is connected with Etherscan
- Open MetaMask plugin.
- Click on your account icon.
- The modal should show an E icon next to the connected account:
- Click the Connect to Web3 button on Etherscan, select MetaMask from the modal and click OK on the next modal.
- The button should turn green and should show the contract address.
Deposit the 32 Eth
- Below the Connect to Web3 button, click the deposit button, this will expand the form.
- Enter 32 as the Eth amount you want to deposit.
- Then use the deposit data file to fill in the rest of the form.
- After all fields are filled click the Write button.
- MetaMask will load the transaction information in the modal, the user can review the tx.
- Optional: user can go to the Data tab and verify the Hex Data with the 2nd tx file provided by Blockdaemon.
- Click Confirm, the deposit has been completed.
Verify Validator Address
Go to Eth2 Beacon explorer and search for the validator public key, they should have the Deposited icon with a green checkmark and should be pending approval.
Notify Blockdaemon and Sign In to the App
Once you have verified your validator is pending alert your Blockdaemon Technical Account Manager (formerly known as Relationship Manager).
To further help you manage your ETH Staking portfolio add your validator addresses to the ETH Staking Dashboard found at app.blockdaemon.com/signin.
Interested in running your own Ethereum Validator? Send us a message to get started.