Skip to main content

Overview

There are two ways to get rewards for a specific date range that doesn’t match the predefined evaluation windows (24h, 7d, 30d, 90d, all_time):

Aggregated custom range 💎

A single Rewards Aggregated call with an explicit timestamp, epoch, or slot range. Requires a Scale or Enterprise plan. Served at whole-UTC-day granularity.

Per-epoch iteration

Iterate each epoch with the Rewards List endpoint. Works on any plan and returns per-epoch values — needed for finer-than-daily detail and tax reporting.

Aggregated Custom Range 💎

With a Scale or Enterprise plan, pass an explicit range to rewards-aggregate to get a single total for that period — no epoch iteration required. Specify the range by timestamp (Unix seconds), epoch, or slot.
Whole-UTC-day granularity: Aggregated custom ranges are rounded outward to whole UTC days — the query covers every UTC day your range touches. The response range echoes the range actually covered by the returned data. It can be wider than requested (outward day expansion) or narrower: leading or trailing days with no data for the selected validators do not extend the range. For sub-day precision or per-epoch values, use per-epoch iteration below.

Per-Epoch Iteration

When you need per-epoch values — finer-than-daily precision, per-epoch fiat conversion, or you’re on a plan without custom-range aggregation — iterate each epoch using the Rewards List endpoint.
API Usage Consideration: Each epoch requires a separate API call. A full month contains ~6,750 epochs, and a full year contains ~82,000 epochs. Ensure your API plan supports this volume of requests.
API Endpoint: This approach uses /api/v2/ethereum/validators/rewards-list for per-epoch reward data.

When to Use Each Approach

Tax Calculations: Even if your validators started during the tax year, you still need per-epoch data to calculate fiat values at the time rewards were received. Neither the all_time nor a custom-range aggregate can be used for tax purposes, because both return a single summed total rather than per-epoch amounts. See Tax Year Calculations for complete tax guidance.

Per-Epoch Iteration Performance

These estimates apply to the per-epoch iteration approach (the aggregated custom range is a single call). They compare processing time between the Free Trial (1 req/s) and Scale plan (5 req/s):
Optimize API Usage: For large ranges, consider:
  • Use dashboards and groups — Query all validators in a dashboard with a single dashboard_id or filter by group_id, reducing the need for multiple requests per epoch
  • Run calculations during off-peak hours — Better API response times
  • Use parallel requests — Respecting your plan’s rate limits
Upgrade for Faster Processing: Scale offers 5 req/sec, while Enterprise plans offer custom limits for high-volume needs.

API references: Rewards Aggregated and Rewards List.