Skip to main content
The income report shows what your validators earned on each UTC day of a period you choose. Every amount is shown in ETH and in a fiat currency of your choice, valued at that day’s historical price, and you can export the result as CSV. You don’t need the API or any code.
Requirements: a Premium monitoring plan (Guppy, Dolphin or Orca). Without one, the page shows a demo report with sample data for 10 validators.
Disclaimer: The report is provided for informational purposes only and does not constitute tax, legal, or accounting advice. Consult a qualified tax professional for how staking rewards are taxed in your jurisdiction.

Create a report

  1. Open the income report. On any validator page you can also click Generate Income Report to start with that validator filled in.
  2. Choose the validators:
    • Dashboard: pick one of your validator dashboards and, optionally, one of its groups. Reports cover up to 10,000 validators this way.
    • Validators: enter up to 20 validator indices or public keys, separated by commas, spaces, or new lines. For more, save them in a dashboard first.
  3. Choose the Date range. It defaults to the previous calendar year (January 1 to December 31) and can span up to 366 days.
  4. Choose the Currency: ETH, or one of the fiat currencies in the list.
  5. Click Generate Report.

What the report shows

  • Period totals: total income, the average per day, the APR for the period, and your capital movements (deposits, withdrawals, consolidations).
  • Daily breakdown: one row per UTC day with the validator count, start and end balance, consensus layer (CL) rewards, execution layer (EL) rewards, total rewards, deposits, withdrawals, incoming and outgoing consolidations, and scheduled and proposed blocks. The default Compact view hides some of these columns; switch to Detailed to see them all.
  • Chart: CL and EL rewards over time by day, week, or month, with an optional cumulative line.
Each fiat amount uses the historical price for that UTC day, with the ETH amount shown beneath it. If no historical price is available for some days, the report says so and the fiat totals cover only the priced days. The APR is the period’s total rewards divided by the average daily balance, scaled to 365 days:
System deposits and withdrawals, the protocol-internal balance movements that never leave your validator, are excluded from the report. See System deposits and withdrawals.

Export to CSV

Open the Export menu above the daily breakdown and choose one of two files: Both files end with metadata rows: report version, generation time, network, date range, currency, and the dashboard or validators the report covers. The report_version value changes when columns are added, removed, renamed, or reordered. The fiat columns that come and go with your currency choice don’t change it, so check it together with the currency row if you import the files automatically.

Days and time zones

The report counts in UTC days, and each day uses the historical price for that UTC date. If your tax year follows a local time zone, the boundary days at the start and end of the year can differ by a few hours. See Tax Year Calculations if you need exact local boundaries.

Using the API instead

The income report is a website feature and is not available through the API. The API’s reward amounts are in wei or gwei, without fiat values. To build your own report, see Tax Year Calculations.