Skip to main content
The beacon.validator.income table provides a daily snapshot of the consensus & execution layer income (MEV rewards) of active validators. There is one unique income record per active validator per day. For each validator, there will be an entry until the validator is fully withdrawn.

Consensus Layer Income

Validators on Beacon Chain earn consensus layer income from the following sources:
  • rewards (attestation, block proposing, sync committee rewards)
  • penalties for missed or incorrect attestation votes and inactivity leaks (already netted into the attestation and sync committee rewards above)
We index every consensus rewards data present, including attestation rewards data (beacon.raw.total_rewards) for every single active validator. The daily consensus layer income received by each validator is calculated by summing the total attestation rewards (from beacon.raw.total_rewards), sync committee rewards (from beacon.raw.sync_committee_rewards) and slot proposing rewards (from beacon.raw.block_rewards). Slashing penalties are not included in the consensus layer income. The income can be negative if the validator received penalties. For granular consensus income data, please query beacon.validator.consensus_income model - this table provides slot-level consensus income from attestations, block proposing and sync committee reward paritcipation.

Execution Layer Income

Execution Layer Income of the validator is dependent on whether there is proposer-builder separation (PBS).
  • PBS Blocks: These are blocks where the builder sends an MEV payout to the Proposer Fee Recipient (block proposer), which typically happens in the last transaction of a block. There The payout is sometimes sent directly from the builder’s block fee-recipient address, and sometimes from a separate wallet the builder uses specifically to disburse proposer payouts — see the has_mev_reward detection logic on ethereum.raw.block_rewards for how both cases are identified.
  • Non-PBS Blocks: For blocks that do not have build -> proposer MEV payout, the execution layer income will be the total builder priority fee reward from transactions + the** total direct ETH transferred** to block builders.
How execution income is identified For each validator and day, execution_income is derived entirely from the blocks that validator proposed that day (matched by proposer_index on ethereum.raw.block_rewards):
  • execution_income_pbs — the sum of proposer_mev_reward across that validator’s blocks for the day, for blocks where has_mev_reward is true.
  • execution_income_non_pbs — the sum of builder_priority_fee_reward + builder_direct_reward across that validator’s blocks for the day, for blocks where has_mev_reward is false.
  • execution_income = execution_income_pbs + execution_income_non_pbs.
On days a validator does not propose any block, execution_income and its two components are 0 — only consensus_income accrues. Because execution_income is entirely downstream of has_mev_reward, its accuracy depends on that classification being correct — see the caveats below.
Assumptions
  • the proposer fee recipient (MEV Reward) on the Execution Layer is the same entity as the Validator that is proposing the block on the Consensus Layer.
Update: July 28, 2026 — execution income correction
  • execution_income (and the derived total_income, rolling income_7d/income_30d/income_90d, and apr_7d/apr_30d/apr_90d) previously over-stated payouts on blocks where the builder routed the MEV payout through a separate wallet rather than its own fee-recipient address. These blocks were misclassified as non-PBS, and the model attributed the builder’s full gross capture instead of the actual, smaller proposer payout. See the has_mev_reward detection logic on ethereum.raw.block_rewards for the corrected logic.
  • Scope: across the post-Merge period, roughly 4% of validator-days have a corrected execution_income (and therefore total_income), affecting about 15% of validators that have ever proposed a block. In aggregate, total execution income across the period is reduced by roughly 1.2% — a smaller share of total_income overall since consensus income is typically the larger component. For most affected validator-days the change is a few thousandths of an ETH; a smaller number of validator-days, concentrated among a handful of large builders, were overstated by tens to hundreds of ETH and will see a more noticeable change to rolling 7d/30d/90d income and APR figures for the affected period.
  • Historical data is being backfilled for all post-Merge dates (September 15, 2022 onward). This table is incremental, so historical rows will only update once the backfill runs — not on the next regular refresh.
Known limitations of MEV payout detectionexecution_income inherits the limitations of has_mev_reward detection on ethereum.raw.block_rewards — an on-chain heuristic, not a lookup against MEV-boost relay bid-trace data (the authoritative record of what a builder actually paid a proposer), which Allium does not currently ingest:
  • A builder’s separate payout wallet is only trusted once it has an established track record of paying known validator withdrawal addresses; a wallet’s first several payouts, before that track record accumulates, may not yet be recognized as an MEV payout and would be counted under execution_income_non_pbs instead of execution_income_pbs.
  • Detection can improve as more payout history accumulates over time, so a given historical day’s execution_income split is not guaranteed to be stable until any pending backfill has completed.
  • A payout that is not a block’s last transaction, or that is split across multiple transactions, is not currently recognized as an MEV payout.
We treat this as an evolving heuristic rather than a finished one, and expect to keep refining it — including a longer-term plan to ingest relay bid-trace data directly.
i.e. in the following example, Validator = 711548 proposed this block and would be the recipient of MEV Rewards. Note that the withdrawal address of the validator can be different from the proposer fee recipient.
Block Proposed by 711548, receiving 0.0407 ETH in MEV rewards: https://etherscan.io/block/17667807#mevinfo
Execution Income Pre-MergeBefore the Ethereum merge, there was no execution (L1) income for validators because validators on the Beacon Chain did not propose blocks. Block proposals and transaction execution were managed by miners on the Ethereum mainnet (proof-of-work chain).Post-merge, Ethereum switched to proof-of-stake, where Beacon Chain validators propose blocks built by block builders on the execution chain. Execution income, including MEV rewards, is mapped from these blocks to validators.

Sample Query

Finding daily income of active validators by ETH1 withdrawal_address specified in withdrawal credentials.
https://app.allium.so/s/I50cFs9M

Table Columns

Unique Key: slot_timestamp (daily) + validator_index