Data Sources

ESR is calculated using data from Beaconcha.in.

Beaconcha.in is one of the most popular and reputed Ethereum 2.0 explorers. Beaconcha.in indexes and provides data sourced from the consensus and execution layer. The Beaconcha.in API is comprehensive and provides historical data as well as the latest real-time data.

Data Requirements

To compute the ESR for any observation period, the following information is required:

  1. The first and last epochs of the observation period

  2. The network effective balance at the start of each epoch

  3. The proposer of each slot in all the epochs

  4. The execution layer block number in each slot

  5. The rewards earned by proposers in the epoch where they proposed

    1. Attestation Inclusion reward

    2. Sync Inclusion reward

    3. Slashing Inclusion reward

  6. The execution layer rewards for each block including Priority Fees and MEV Rewards

  7. The list of slashed validators in each slot

  8. The effective balance of validators at specific epochs

Using the above information, it is possible to compute the consensus layer rewards and slashings, the execution layer rewards and the network effective balance for each epoch in the observation period. These values are aggregated to the level of the observation period to compute the final ESR value.

Epoch Information

Source: /api/v1/epoch/{epoch}

Data Description: Epoch level information such as finalised status, number of blocks, global participation rate, network effective balance, etc.

Usage:

  1. Retrieve the latest epoch to infer the start-of-day epoch and end-of-day epoch

  2. Retrieve network effective balance and slashing counts

Slots in each Epoch

Source: /api/v1/epoch/{epoch}/slots

Data Description: Slot level information of every slot in a specified epoch. Includes information such as the proposer, slashing count and the corresponding execution layer information, such as the block number in the slot.

Usage:

  1. Retrieve the proposer for each slot

  2. Retrieve the execution layer block number

Proposer Inclusion Rewards

Source: /api/v1/validator/{indexOrPubkey}/incomedetailhistory

Data Description: Epoch level information on the consensus layer rewards and penalties earned by the specified validators. Includes attestation rewards, sync committee rewards, proposer rewards, etc.

Usage:

  1. Retrieve the proposer inclusion rewards for:

    1. Attestation Inclusion

    2. Sync Inclusion

    3. Slashing Inclusion

Execution Layer Rewards

Source: /api/v1/execution/block/{blockNumber}

Data Description: Data from the execution layer for each specified block. Includes priority fees, MEV rewards, transaction count, gas used, etc.

Usage: Retrieve the rewards earned on execution layer, which is either the priority fees or the MEV rewards

Attester Slashings

Source: /api/v1/slot/{slot}/attesterslashings

Data Description: Provides detailed data on the attestations performed on slots that have had an attestation slashing. It is possible to infer the slashed attesters by searching for the common validator across multiple attestations

Usage: Retrieve all the validators that got slashed due to illegal attestation

Proposer Slashings

Source: /api/v1/slot/{slot}/proposerslashings

Data Description: Provides detailed data on the slots that have had a proposer slashing and the proposer that got slashed.

Usage: Retrieve all the validators that got slashed due to illegal proposing

Validator Balance History

Source: /api/v1/validator/{indexOrPubkey}/balancehistory

Data Description: Historical balance of the specified validators for the specified epochs

Usage: Retrieve the balance changes for all the validators that got slashed at the epoch where they got slashed

Last updated