
Ethereum staking is the process by which stakers lock up Ether (ETH) to activate a validator that participates in Ethereum’s proof-of-stake (PoS) consensus mechanism. Validators play a critical role in securing the Ethereum network by proposing and attesting to blocks, ensuring the integrity of transactions, and finalizing new data on the blockchain. In return for their participation, validators earn staking rewards.
This post provides a step-by-step explanation of how Ethereum staking works, covering the entire lifecycle of a validator, from staking ETH to activating a validator, earning and receiving rewards, and finally, exiting and withdrawing the staked ETH. This post also explores how Ethereum’s staking architecture enables non-custodial staking and other arrangements where ownership and control of staked ETH are separated from validator operations.
1. Depositing Ethereum to the Consensus Layer
There are two layers of Ethereum relevant to staking: the consensus layer and the execution layer. The consensus layer (sometimes referred to as the Beacon Chain) secures the network through PoS validation. The consensus layer manages validator participation, block proposals, attestations, and finalization, ensuring that Ethereum maintains a secure and decentralized ledger. The execution layer processes transactions like transfers and smart contract execution.
The two layers interact through block production: validators in the consensus layer propose and finalize blocks that include transaction data from the execution layer. When a validator proposes a block, it must assemble and include pending transactions from the execution layer before submitting the block to the consensus layer for validation.
To stake, a staker must generate validator keys, which consist of a private key used by the validator to sign on-chain operations such as block proposals and a public key that can be used by others to verify those signatures, and withdrawal keys or withdrawal credentials, which are the keys associated with an Ethereum address to which the validator’s stake and consensus layer rewards will be withdrawn, as explained below.
To activate a validator, the staker must sign, using the validator’s private key, a deposit message including the validator’s public key and the withdrawal address. The staker then sends this signed message and at least 32 ETH (the minimum amount of stake required to activate a new validator) in a transaction to Ethereum’s deposit contract on the Ethereum execution layer. The deposit contract effectively transfers the ETH from the execution layer to the consensus layer. Once sent, the staked ETH is locked in the consensus layer – it cannot be spent or transferred while it’s staked.
After receiving the staked ETH, the deposit contract emits an event that the consensus layer listens for. There is a waiting period after the deposit transaction for it to be considered final and acknowledged on the consensus layer. The consensus layer then marks the new validator as “Pending”. The validator must first go through an activation process before it becomes eligible to start doing jobs on the network, and can start earning rewards in return.
2. Validator Activation Process
New validators cannot start validating immediately; the network staggers their entry to maintain stability. If there are many “Pending” validators, they line up in an activation queue because the network limits how many new validators can become active in each epoch. (An epoch consists of 32 slots, and each slot is an opportunity for a validator to propose a block. An epoch lasts approximately 6.4 minutes.) This limit depends on the current number of active validators and is designed to prevent too much turnover at once. Any pending validators in excess of the limit will remain in the queue for subsequent epochs. In times of high demand, this means there may be a wait before the validator is activated.
Validators are activated in order as slots free up. Once a validator’s turn comes, it transitions to “Active” status on the consensus layer. This means it is now a part of the active validator set. The staked ETH is now its effective balance in the consensus process. The validator will begin signing attestations and occasionally proposing blocks, earning ETH rewards.
3. How Validators Earn Rewards
Once active, a validator is eligible to to be assigned duties and earn staking rewards in return. Ethereum generates two types of rewards for validators, which come from the two layers of the system:
- Consensus Layer Rewards: These are rewards given by Ethereum on the consensus layer for performing validator duties correctly. The consensus layer creates new ETH to pay validators for actions like proposing blocks or attesting (voting) on blocks. These rewards do not depend on user transactions or fees – they are determined by the network rules and overall validator performance. All consensus rewards are added to the validator’s balance on the consensus layer (increasing it above the original staked ETH, at least until withdrawn).
- Execution Layer Rewards: Validators can also earn transaction fees when the validator proposes blocks. When a validator is picked to propose a block, it gets to include pending transactions in that block to be processed and finalized. Users attach priority fees (tips) to their transactions to encourage inclusion. The validator collects these tips, as well as any MEV (Maximal Extractable Value) payments from bundled transactions, in the block it proposes. These execution layer rewards are not newly created ETH, but rather come from existing ETH paid for transaction processing. Importantly, rather than increasing the validator’s balance on the consensus layer, execution layer rewards are delivered directly to an Ethereum address specified by the validator operator (often called the fee recipient address). If a validator successfully proposes a block, all the transaction priority fees and any MEV in that block are immediately sent to the fee recipient address.
Most of the rewards received by stakers are consensus layer rewards. According to Rated, the all-time average staking reward rate on Ethereum is around 3.4%, of which about 2.8% was attributable to consensus layer rewards and 0.6% is attributable to execution layer rewards.
In summary, every validator earns consensus layer rewards regularly for attestations and proposals, paid in ETH on the consensus layer, and execution layer rewards when proposing blocks, paid in ETH directly to the fee recipient address from transaction fees.
4. How Staking Rewards Are Received
A staker receives accumulated consensus layer rewards in two ways: ongoing rewards received while still staking and withdrawals after exiting. This section explains the ongoing rewards distribution during active staking. Exiting and full withdrawals are covered in the next section.
A validator balance on the consensus layer can grow above the originally staked ETH from earned rewards. Any amount above 32 ETH is considered excess and is eligible for withdrawal. Currently, the Ethereum network will automatically “sweep” these excess rewards out of the validator’s effective balance and send them to a validator’s withdrawal address on the execution layer. These are called partial withdrawals because the validator is still running and still has 32 ETH staked.
As mentioned above, any execution layer rewards earned by a validator (transaction tips, etc.) are immediately sent to the validator’s fee recipient address whenever the validator proposes a block. Those rewards are separate from the consensus layer partial withdrawal mechanism. Essentially, execution layer rewards land in the fee recipient address by default, whereas consensus rewards accrue on-chain and then get transferred to the withdrawal address periodically.
In short, all consensus layer rewards and execution layer rewards flow to the withdrawal and fee recipient addresses.
5. Exiting a Validator
A staker may decide to stop validating and withdraw their staked ETH entirely. To initiate an exit, the validator operator uses their validator private key to sign a voluntary exit message and broadcasts the signed message to the consensus layer. The exit message must satisfy certain conditions: the validator must be in active status, not slashed, and it must have been active for at least 256 epochs (~27 hours) before it’s allowed to exit. Once the operator issues the exit signal, the validator is now on the path to exit.
The Ethereum network restricts how many validators can exit per epoch, and so exiting validators may enter a queue if many are trying to leave at the same time. At minimum, a voluntary exit will take 4 to 5 epochs (~25–32 minutes) to be confirmed. Once the validator reaches the front of the queue, the consensus layer will mark the validator as “Exiting” and then “Exited”, meaning it is no longer part of the active set.
When the exit is finalized, the validator is considered exited (it will show as “exited voluntarily”). At this point, it stops performing any duties on the network. The validator’s effective balance will no longer earn rewards and will not be penalized for being offline.
The staker does not immediately get their staked ETH back at the exact moment of exit. Ethereum imposes a waiting period after exit before stake can be withdrawn, and so the stake is still held on the consensus layer, pending the withdrawal process. For a normal voluntary exit, this period is 256 epochs (~27 hours) from the exit epoch. Assuming a normal exit, after this period, the validator’s status on the consensus layer transitions from “Exited” to “Withdrawable” and the validator’s entire effective balance (the staked ETH plus any remaining rewards) is ready to be withdrawn.
6. Withdrawal of Staked Ethereum and Final Rewards
After the ~27-hour post-exit delay, a validator’s stake is eligible to be transferred out. Withdrawal operations are performed by Ethereum block proposers as part of their block building duties. In each new block, the proposer can include up to 16 withdrawal operations from the list of eligible validators. If there are many exited validators waiting, it might take some time before a block includes the validator’s withdrawal.
When the block including a validator’s withdrawal is produced, the staked ETH plus all remaining rewards are transferred from the consensus layer to the validator’s withdrawal address on the execution layer. The validator’s balance on the consensus layer is then reset to zero and that validator is effectively retired forever. The validator has now successfully unstaked – the ETH is back on the execution layer and can be used or transferred.
Neither the staker nor any third party can arbitrarily take the stake out early – the rules above are enforced by Ethereum. The staker will get their ETH back as long as they follow the exit procedure and have the correct withdrawal address set. The design is non-custodial; the staked ETH and consensus layer rewards always remain tied to the withdrawal address even while locked. The network simply holds them until the conditions for release are met.
7. Separation of Ownership from Validator Operations
Ethereum’s staking mechanics allow for ownership and control of staked ETH and staking rewards to be separated from the operation of validators. Put another way, a staker who wishes to stake ETH can have another person operate validators on their behalf without having to transfer ETH to the operator.
To do this, the staker obtains a signed deposit message that includes the public key for a new validator and the staker’s withdrawal address, and then the staker broadcasts a deposit transaction with that deposit message and at least 32 ETH. Once set, the withdrawal address can never be changed, which ensures that all consensus layer rewards and the original staked ETH stake can only be received by the staker, not the operator.
As well, the operator sets the fee recipient address for the validator to the staker’s address, so that execution layer rewards also go directly to the staker.
This approach is used for staking from custodians. When a client of the custodian wishes to stake to a new validator, the deposit message will set the withdrawal address to an address controlled by the custodian on behalf of the client. As well, the validator operator will set the fee recipient address for the validator to a custodian-controlled address. This ensures that the original ETH stake and all consensus and execution layer rewards remain under the control of the custodian.
Similarly, liquid staking protocols on Ethereum will set the withdrawal address and fee recipient address for all validators participating in the protocol to the smart contracts implementing the protocol.
Conclusion
Staking on Ethereum involves:
- depositing at least 32 ETH to the deposit contract and setting the validator’s withdrawal address using a signed deposit message;
- waiting through the activation queue until the validator is active;
- performing validation duties to earn consensus and execution layer rewards;
- automatically receiving staking rewards, which consists of execution layer rewards transferred to the fee recipient address or consensus layer rewards received via periodic withdrawals to the withdrawal address; and
- exiting the validator to unlock the full stake and final rewards to the withdrawal address.
All of this happens programmatically according to Ethereum’s protocol rules. Once a staker initiates the stake or exit, the rest of the process – from activation scheduling to reward payouts and final withdrawals – is handled by Ethereum’s consensus logic. This design allows stakers to stake ETH without having to transfer staked ETH to the validator operator.