Skip to main content
API Usage: A full tax year contains ~82,000 epochs. Each epoch requires a separate API call. See Custom Range Rewards for performance estimates and optimization tips.We are developing endpoints designed to streamline the retrieval of summarized data for user-defined periods. Manually summing up rewards epoch-by-epoch doesn’t scale well for many validators over long timeframes.

Overview

For tax reporting, you need per-epoch reward data to calculate the fiat value of rewards at the time they were received. This requires iterating through epochs using the Custom Range Rewards approach.
API Endpoint: This guide uses /api/v2/ethereum/validators/rewards-list for per-epoch reward data required for tax calculations.
Disclaimer: This guide provides technical instructions for fetching reward data. It is not tax advice. Consult a qualified tax professional for guidance on how staking rewards should be reported in your jurisdiction.

Why Per-Epoch or Per-Day Data is Required

Most tax jurisdictions require you to report the fiat value of staking rewards at the time they were received. This means you need:
  1. Reward amount for each epoch or day
  2. Historical ETH-USD price at that time
  3. Calculation: fiat_value = reward_eth × price_at_time
The all_time or rolling period windows from Rewards Aggregated only provide a total sum—they cannot be used for tax calculations because you need per-epoch data to match with historical prices.

Obtaining Historical ETH Prices

You’ll need historical ETH-USD prices for each day. Common sources include:
SourceNotes
CoinGecko APIFree tier available, daily historical prices
CryptoCompareHourly historical data available
KrakenExchange prices, high accuracy
Tax softwareMany crypto tax tools include price data
For tax compliance, use a consistent price source throughout your calculations and document which source you used.

Common Tax Year Time Zone Offsets

RegionTime ZoneUTC OffsetNotes
UKGMT/BST0 / +1BST during summer
Central EuropeCET/CEST+1 / +2CEST during summer
US EasternEST/EDT-5 / -4EDT during summer
US PacificPST/PDT-8 / -7PDT during summer
JapanJST+9No daylight saving
Australia EasternAEST/AEDT+10 / +11AEDT during summer
For tax purposes, use your local time zone’s standard offset (non-daylight-saving) or consult with your tax authority about which time zone to use. Some jurisdictions may require UTC.

PRO Feature: With a Scale or Enterprise plan, you can query by withdrawal address to capture all validators, and benefit from significantly higher rate limits. Use dashboards with groups to organize validators and query them efficiently with a single dashboard_id.