🌱Attestation Rewards

Rewards for attestations for validator on Beacon Chain.

These tables are currently in beta, with backfills and verifications ongoing.

Beacon Chain Attestation Rewards

The majority of a validator's rewards come from making attestations. While the process for assigning committees and slots is randomized, each active validator is guaranteed to make one attestation per epoch.

Validators earn rewards for attestations only when they are included in Beacon Chain blocks. Each attestation includes three votes, with rewards based on the following criteria:

  • Inclusion of the attestation with the correct source checkpoint within 5 slots

  • Inclusion of the attestation with the correct target checkpoint within 32 slots

  • Inclusion of the attestation with the correct head block within 1 slot

More on Beacon Chain Attestation rewards
More on Beacon Chain Attestation rewards

Attestation rewards for Beacon chain are split up into two separate tables. Both tables are retrieved from /eth/v1/beacon/rewards/attestations/{epoch} RPC Method.

Table NameDescription

beacon.raw.total_rewards

Table containing total reward metrics for individual validators in the specified epoch. This table returns the total number of active, ongoing validators in each Epoch. Note: this table size is large. Expect that query performance is slow. It increases by about 225 epoch * # active validators ~ 250m+ rows in size daily.

beacon.raw.ideal_rewards

Table containing ideal reward metrics for attestations in the specified epoch. Currently, there (as of Epoch 289619), there are always 32 rows for each epoch, each for effective balance (1 to 32 ETH) of ETH staked.

Total Rewards

Query Sample

Finding the total rewards for specific Epoch

select 
    epoch, 
    count(distinct validator_index) as validators, 
    sum(head) as sum_head,
    sum(target) as sum_target,
    sum(source) as sum_source,
    sum(inactivity) as sum_inactvity,
    sum_head + sum_target + sum_source + sum_inactvity as epoch_attestation_reward
from beacon.raw.total_rewards
where epoch = 289610
group by all 

Total Reward Columns

beacon.raw.total_rewards contains the reward metrics for individual validators in the specified epoch.

Column NameDescriptionExample

epoch

Epoch number

288389

epoch_timestamp

Epoch Timestamp

2024-06-05 05:29:59

execution_optimistic

A boolean indicating whether the execution of rewards for the specified epoch is done optimistically or not

FALSE

validator Index

Validator Index

1296908

head

The reward for attesting to the head block for the specified validator

2442

target

The reward for attesting to the target block for the specified validator

4604

source

The reward for attesting to the source block for the specified validator

2477

inclusion_delay

(Optional) The reward for including the attestation in a block with a specific delay for the specified validator

inactivity

(Optional) The inactivity penalty for the total reward calculation for the specified validator

0

Ideal Reward Columns

Table containing ideal reward metrics for attestations in the specified epoch.

Column NameDescriptionExample

epoch

Epoch number

5

epoch_timestamp

Epoch Timestamp

2020-12-01 12:01:23

execution_optimistic

A boolean indicating whether the execution of rewards for the specified epoch is done optimistically or not

FALSE

effective_balance

The effective balance for the ideal reward calculation

18,000,000,000.00

head

The reward for attesting to the head block

9287

target

The reward for attesting to the target block

9621

source

The reward for attesting to the source block

9622

inclusion_delay

(Optional) The reward for including the attestation in a block with a specific delay

9707

inactivity

(Optional) The inactivity penalty for the ideal reward calculation

0

Last updated