How rewards work

Ethereum staking rewards are more complex than those on other networks, so we've provided APIs to help you track every bit and piece of them. They're best understood in the context of where they're generated: on the execution layer (EL) or consensus layer (CL).

Consensus Layer (CL) Rewards

Consensus Layer (CL) rewards come from newly minted ETH and are earned for performing validator duties such as successful attestation (of other validators' proposed blocks), sync committee participation, slashing, and block proposal. They temporarily accumulate in your validator's balance every epoch (6.4 minutes) until the validator is periodically picked up by the withdrawal sweep and delivered back to your withdrawal address on the EL, known as a partial withdrawal. Query partial withdrawals with this endpoint.

Execution Layer (EL) Rewards

Execution Layer (EL) rewards (aka block rewards) are earned whenever your validator is randomly selected by the protocol to propose a block. They're immediately delivered to your validator's fee-recipient address, which Figment sets to your withdrawal address by default. EL rewards are not newly minted ETH, but instead come from tips (aka priority gas) from all the transactions in your validator's proposed block. In the case of validators using MEV-Boost with multiple relays it becomes increasingly difficult to track all the details your users may care about for tracking these rewards, so Figment's API will do the dirty work for you.

API

We index and return ETH rewards by public key or withdraw address, by epoch or day. Check our our ETH Rewards API

FAQ

Why am I not receiving any EL rewards?

EL rewards only occur whenever your validator proposes a block successfully. Ethereum randomly selects validators to propose new blocks 7,200 times per day. With 500,000 active validators each validator can expect to propose a block every 69 days on average. With 1 million active validators it's every 139 days. So if you're earning tons of EL rewards then consider yourself lucky!

How often do CL rewards withdraw back to my withdrawal address?

Ethereum runs a sweep job that iterates over active validators in order of their index, and it processes 16 withdrawals per block (including full withdrawals). With 500,000 active validators, each validator will have rewards swept to its withdrawal address every ~4.5 days. For 1 million validators, it's every ~9 days. :bulb:Pro tip: You can use our Ethereum Network Overview API to get a live estimate using withdrawal_estimate.hours_max.


What’s Next

Further reading