Rewards
Returns a breakdown of rewards for each validator for a given epoch.
Use case guide: Validator rewards explains when to use per-epoch rewards and links to custom-range, tax, and missed-reward workflows.
Use Rewards Aggregated for a cumulative view of all validator rewards combined.
Note: Only finalized epochs are supported for rewards data.
Use status_filter to return only validators in the listed status groups at the requested epoch, for example ["active"] to leave out validators that were not active yet or had already exited at that epoch. When the selected validators have data for the epoch but none of them is in a listed group, the response is 200 with an empty data array. For exact statuses such as active_exiting, use Validator, which reports the current status of each validator.
Attribution Required: If you display BeaconScore® data publicly, you must include appropriate attribution. See our BeaconScore® License and License Materials for badges and usage guidelines.
Authorizations
Body
Free selectors available to all users:
- validator_identifiers: One or more validator indices or public keys to filter by.
- dashboard_id: Your beaconcha.in dashboard ID (requires a free account).
Premium selectors for Scale & Enterprise plans (https://beaconcha.in/pricing):
- withdrawal: The validator's withdrawal credential or the Ethereum wallet address used for withdrawals.
- deposit_address: The Ethereum wallet address used for the validator's deposit.
- entity: The name of the assigned entity (e.g., "Lido", "Coinbase"). Optionally include
sub_entityfor more specific filtering. Matching is case-sensitive.
Note: The set of validators matched by deposit_address and withdrawal selectors is updated once per epoch (~6.4 minutes). Newly deposited validators may take up to one epoch to appear in query results.
Note: The set of validators matched by entity selector is updated once per day.
- Indices/Pubkeys
- Dashboard
- 💎 Deposit
- 💎 Withdrawal
- 💎 Entity
x >= 0The Ethereum chain to query.
mainnet, hoodi Cursor value for pagination. See our pagination guide for more details.
The number of items to return per page.
1 <= x <= 10Return only validators whose status at the requested epoch is in one of the listed groups. Omit the field (or pass an empty array) to return validators in every status.
A group of validator lifecycle statuses to filter by, evaluated at the requested epoch:
pending: not active yet (pending_initializedandpending_queued).active: active, including validators that are exiting or slashed (active_ongoing,active_exitingandactive_slashed).exited: exited but not withdrawable yet (exited_unslashedandexited_slashed).withdrawal: withdrawable (withdrawal_possibleandwithdrawal_done).
pending, active, exited, withdrawal Response
Successful response.
Response containing detailed rewards information of the validators.
The time span actually covered by the returned results — from the first to the last matching data point — specified in slots, epochs, and Unix timestamps.
This reflects the data that was found, not the range that was queried. When no data is found, it falls back to the requested range, or to the full available history if no range was given.
For arbitrary (custom) time-range queries the queried range is expanded outward to whole UTC days, so the covered range may be wider than requested. As stated above, the reported range still reflects the data that was actually found — a touched UTC day with no data for the selected validators will not extend it.

