Skip to main content

Overview

The beaconcha.in V2 API provides comprehensive validator rewards data including consensus layer (CL) attestation, sync committee, and proposal rewards, plus execution layer (EL) MEV and tips.
API Endpoints: This guide covers /api/v2/ethereum/validators/rewards-aggregate for quick summaries and /api/v2/ethereum/validators/rewards-list for per-epoch breakdowns.
All rewards data is available only for finalized epochs. Values are returned in wei (1 ETH = 10¹⁸ wei).

Quick Start Guides

Custom Range Rewards

Get rewards for any date range — a single aggregated call on Scale/Enterprise, or by iterating epochs for per-epoch detail.

Tax Year Calculations

Calculate per-epoch rewards for Jan 1 – Dec 31 with fiat conversion for tax reporting.

Dashboard Private Sets

Query validators by dashboard_id or filter by group_id instead of tracking indices.

Epoch & Time Zones

Convert between epochs, timestamps, and local time zones for precise date calculations.

Choosing the Right Endpoint

Use Rewards Aggregated when you need:

  • Total rewards for the last 24h, 7d, 30d, 90d, or all time
  • Total rewards for a custom date range (💎 Scale or Enterprise plans; served at whole-UTC-day granularity)
  • A quick summary without iterating through epochs
  • Aggregated data for multiple validators combined

Use Rewards List when you need:

  • Epoch-by-epoch reward breakdown for a specific epoch
  • Individual validator rewards per epoch
  • Per-epoch fiat conversion for tax reporting (see Tax Year Calculations)
  • Custom date ranges on any plan, or at finer-than-daily granularity (requires iterating epochs)

Rewards Aggregated Endpoint

Returns cumulative rewards for validators over a fixed evaluation window, or over a custom date range on Scale and Enterprise plans.

Basic Example

See the Rewards Aggregated API reference.

Using Dashboard Selector

Query all validators in your Validator Dashboard:

Custom Date Range 💎

With a Scale or Enterprise plan, pass an explicit timestamp, epoch, or slot range instead of an evaluation window. Custom ranges are served at whole-UTC-day granularity: any UTC day the range touches is returned in full, and the response range echoes the actual covered range.

Response Structure

PRO Feature: With a Scale or Enterprise plan, query by withdrawal address or deposit_address instead of individual indices. The validator set for these selectors updates once per epoch (~6.4 minutes).

Rewards List Endpoint

Returns per-validator rewards for a specific epoch. Requires iteration for per-epoch detail over a date range.
The epoch parameter is required for this endpoint. To get per-epoch rewards over a date range, iterate through each epoch — or, on Scale and Enterprise plans, get the range total in one call with rewards-aggregate (daily granularity). See Custom Range Rewards for both approaches.

Basic Example

Pagination

See the Rewards List API reference and Pagination Guide. A subsequent request looks like this:

Daily Rewards

For the most recent 24-hour period, use the 24h evaluation window:

Best Practices

Use Aggregated for Summaries

For quick totals over standard time windows, the aggregated endpoint is faster and simpler.

Custom Ranges

Aggregated accepts custom ranges on Scale/Enterprise (daily granularity); use the list endpoint for per-epoch data or on other plans.

Use Dashboard Selectors

Create a dashboard to organize validators and query by dashboard_id instead of tracking indices.

Convert Wei to ETH

All values are in wei. Divide by 10¹⁸ to convert: eth = wei / 1e18
Upgrade to PRO: Scale and Enterprise plans unlock withdrawal and deposit_address selectors, plus higher rate limits for epoch iteration.

API references: Rewards Aggregated and Rewards List.