Validator luck: why 30-day APR misleads
85% of 32 ETH validators propose no block in a 30-day window. How proposal odds, MEV and leader slots make short-window APR comparisons noisy.
85%. That is the chance a 32 ETH Ethereum validator proposes zero blocks in a 30-day window, at today's stake level.

Meaning: a 30-day APR for a small set of validators tells you more about the dice than about the operator.
What "validator luck" means
Validators earn two kinds of rewards. Some are steady: every validator gets paid for its regular votes. Some are lumpy: a few validators win the right to build a block, and that right pays more.
Luck is the gap between the lumpy rewards a validator is expected to earn and the lumpy rewards it receives. The protocol assigns these duties at random. Operators cannot change the odds. What they control is whether they perform a duty when it comes.
Ethereum: how proposers are picked
Ethereum splits time into 12-second slots. Each slot has one block proposer, the validator allowed to publish the block.
The protocol picks the proposer with a random seed. The seed comes from RANDAO, a value that every proposer mixes a signed number into. No single party controls it. Since the Electra upgrade, the consensus spec samples proposers in proportion to effective balance, capped at 2,048 ETH per validator.
So the odds per slot are simple: your effective balance divided by all active effective balance.
In the finalized state on Oct 20, 2026 (about 14:00 CT), a public beacon node reported 825,900 active validators holding 43,759,743 ETH of effective balance (beacon API, ethereum-beacon-api.publicnode.com). validatorqueue.com showed 44.1M ETH staked on the same day.
The math for one 32 ETH validator:
- Chance per slot: 32 / 43,759,743 = 0.000000731
- Slots per year: 365.25 days × 7,200 slots = 2,629,800
- Expected proposals per year: 2,629,800 × 0.000000731 = 1.92
That is one proposal every 190 days on average. Proposals arrive like a Poisson process, so the spread is wide:
| Window | Expected proposals | Chance of zero | Chance of one or more |
|---|---|---|---|
| 7 days | 0.04 | 96% | 4% |
| 30 days | 0.16 | 85% | 15% |
| 90 days | 0.47 | 62% | 38% |
| 1 year | 1.92 | 15% | 85% |
Even over a full year, 15% of 32 ETH validators will not propose once.
Ethereum: sync committees
A sync committee is a group of 512 validators that signs each new block header for light clients. A new committee forms every 256 epochs, which is 27.3 hours (Altair spec). Since Electra, members are sampled by effective balance, like proposers.
The odds for one 32 ETH validator:
- Chance per committee: 512 × 0.000000731 = 0.000374
- Committees per year: 2,629,800 slots / 8,192 slots per committee = 321
- Expected selections per year: 321 × 0.000374 = 0.12, or once every 8.3 years
The payout is large when it lands. Using the spec formula and today's total balance, a full committee period pays 25,456 gwei per slot × 8,192 slots = 0.209 ETH to each member that signs every slot. Most 32 ETH validators will never see one in a typical holding period.
Ethereum: MEV is lumpier than proposals
MEV (maximal extractable value) is the extra value a block builder can capture by ordering transactions. Most proposers sell their block to builders through MEV-Boost relays. The relay records the payment. In our sample, relays delivered 83% of all slots in the window.
We pulled every block delivered by five relays from Sep 20 to Oct 20, 2026, using their public data APIs (ultra sound, Titan, Aestus, Flashbots, ETHGas). That is 180,085 blocks, one payment per slot.

- Median payment: 0.0089 ETH
- Mean payment: 0.0218 ETH
- Top 1% of blocks: 38.5% of all value paid
- Top 10% of blocks: 59.7% of all value paid
- Largest: 614.01 ETH in block 26,147,641 on Oct 8, 2026. We checked the fee recipient's balance on-chain. It rose 614.01 ETH in that block.
The mean sits 2.5x above the median. A validator that proposes one median block and a validator that proposes the 614 ETH block did the same work.
Solana: leader slots by stake weight
Solana assigns block production through a leader schedule. Each epoch has 432,000 slots. The schedule is built from stake at the start of the prior epoch, and leaders get slots in proportion to stake (Agave docs). In the epoch 1063 schedule from mainnet RPC, every leader turn is a block of 4 consecutive slots.
We compared each validator's slots in epoch 1063 to its stake-weighted expectation. For 285 validators with 100,000 to 300,000 SOL:

- 10th percentile: 79% of expected slots
- Median: 98%
- 90th percentile: 118%
- Range: 61% to 163%
Source: Solana mainnet RPC getLeaderSchedule and getVoteAccounts, Oct 20, 2026. Expected slots use current stake, so small stake changes since the schedule was set add noise.
Tips add a second layer. In epoch 1062, Jito tips per staked SOL for validators with 150,000 to 250,000 SOL ranged from 0.82 to 8.15 millionths of a SOL per SOL (10th to 90th percentile), per the Jito Kobe API. Part of that spread is luck. Part is setup, such as client and block engine choice.
On Solana, luck moves less of the total. Inflation rewards are about 88% of gross validator revenue today (see our post on Solana tips and fees). They do not depend on leader slots.
Worked example: three 32 ETH validators, one month
Same hardware, same uptime, same 30 days. Inputs from the spec formulas at 43,759,743 ETH active balance:
- Base reward per ETH increment: 64 × 10^9 / √(43,759,743 × 10^9) = 305 gwei per epoch
- Max attestation rewards for 32 ETH: 0.677 ETH per year, so 0.0556 ETH in 30 days
- Consensus reward for proposing one block: 0.052 ETH (attestation inclusion plus sync aggregate inclusion, full participation)
- MEV-Boost payment: 0.0089 ETH (the median from the relay data above)
- Sync committee period: 0.209 ETH
| Validator | What happened | ETH earned | 30-day APR |
|---|---|---|---|
| A | Attested, no proposal | 0.0556 | 2.11% |
| B | Attested, one median block | 0.0556 + 0.0521 + 0.0089 = 0.1166 | 4.44% |
| C | Attested, one sync committee | 0.0556 + 0.2085 = 0.2641 | 10.05% |
APR here is ETH earned / 32 × 365.25 / 30.
Validator B looks twice as good as A. Validator C looks five times as good. None of them did anything different. Real attestation rewards run a bit below the max, so all three numbers would be a little lower in practice.
Now picture an operator with 100 validators. In 30 days, expect 15.8 proposals. A Poisson draw around 15.8 lands between 10 and 22 in 90% of cases. Six proposals fewer than expected, at 0.061 ETH each, cut that operator's 30-day APR by 0.14 percentage points. Nothing about its operations changed.
Worked example: ten large clusters, one week
Luck does not go away at the operator level. To show it, we rebuilt a 7-day comparison from public data alone.
Method. We grouped active validators by withdrawal address, using the beacon API on Oct 20, 2026. We took the 12 largest groups. The two biggest hold 9.35M and 3.49M ETH. The next ten hold 0.26M to 0.64M ETH each. We call these ten Cluster 1 to 10, by size. The window is the 50,400 slots from Oct 13, 00:00 UTC to Oct 20, 00:00 UTC (Oct 12, 7 PM to Oct 19, 7 PM CT). We matched every slot to its proposer, using the relay data APIs for the 44,047 relay-delivered blocks and beacon block headers for the rest. EL value is the relay payment to the proposer.

What the week shows:
- Proposals. Each cluster expected between 298 and 739 blocks. Cluster 4 got 91% of its expected count. Cluster 5 got 106%. Same protocol, same odds per ETH.
- EL APR. It ranged from 0.041% to 0.078% across the ten. The best cluster earned close to twice the worst on the EL side.
- CL APR. The median validator in all ten clusters earned 2.108% APR from attestations. We measured this from balance changes over 10 epochs on Oct 20 (epochs 483,589 to 483,599). Validators that attest on time earn the same rate. CL proposal rewards are the exception: they scale with block count, so they carry the same luck as EL.
- Scale. The two largest groups landed at 97.1% and 102.5% of expected blocks. More validators, less luck. It does not reach zero.
One block changes the order. The largest relay payment of the week was 7.87 ETH, in block 26,214,313 on Oct 17. None of the ten clusters proposed it. Had Cluster 4 drawn that slot, its 7-day EL APR would have gone from 0.046% to 0.175%. That is more than twice the best result in the group. The week's spread came from which slots each cluster drew and how much MEV those slots carried.
This is a quiet week. The largest payment in the 30 days before Oct 20 was 614 ETH (see above). A block that size would add about 10 percentage points to Cluster 4's 7-day APR.
How to compare operators instead
- Use longer windows. Rated computes APR over 1, 7 and 30 days and caps "all" at 90 days (Rated APR methodology). Prefer the longest window with the same validator set.
- Separate luck from skill. Missed attestations, missed proposals and late blocks are skill. Proposal count and MEV size are luck. Effectiveness scores measure the first group.
- Scale the sample. Luck shrinks with more validators and more time. A 10,000-validator set over 90 days is a fair test. A 50-validator set over 7 days is not.
- Ask how execution rewards are pooled. A smoothing pool collects fee and MEV rewards from all validators in the pool and splits them. It trades the lottery for the pool average.
Bottom line
Proposals, sync committees, MEV and leader slots are assigned at random. In any one month, most of the spread between two Ethereum validators is luck. Compare operators on long windows, large samples and duty performance.
For funds, custodians and exchanges: the stakefish API tracks CL and EL rewards per validator and by day, so you can test this on your own validators (API docs). Ethereum Enterprise Staking adds monthly reports on both reward layers. Request access.
Sources
- Ethereum consensus specs, Electra beacon chain (
compute_proposer_index,get_next_sync_committee_indices,MAX_EFFECTIVE_BALANCE_ELECTRA) - Ethereum consensus specs, Altair beacon chain (sync committee size and period, reward weights,
process_sync_aggregate) - Ethereum consensus specs, Phase 0 (
get_seedwith RANDAO mix,SLOTS_PER_EPOCH,BASE_REWARD_FACTOR) - Beacon node API, finalized state validators, epoch 483,587, fetched Oct 20, 2026
- validatorqueue.com, fetched Oct 20, 2026
- MEV-Boost relay data APIs,
proposer_payload_delivered, slots 15,258,944 to 15,474,944 (Sep 20 to Oct 20, 2026): ultra sound, Titan, Aestus, Flashbots, ETHGas (URLs in text) - Block 26,147,641 on Etherscan
- Agave docs, leader rotation
- Solana mainnet RPC,
getLeaderSchedule(epoch 1063) andgetVoteAccounts, Oct 20, 2026 - Jito Kobe API, validators by epoch
- Rated APR methodology
Building staking into a platform? The stakefish Multi-Chain Staking API and SDK cover Ethereum, Solana and more. Read the API docs.
Stake now at: stake.fish/stake
About stakefish
Founded in 2018 by Ethereum and Bitcoin veterans, stakefish is the leading validator for Proof of Stake blockchains. With support for 20+ networks, we combine institutional‑grade infrastructure with intuitive dashboards, transparent reporting, and a spotless slashing record so individuals and institutions alike can stake confidently while strengthening decentralized networks.
Visit our website 🐠 | Telegram | X | YouTube | LinkedIn