curl --request GET \
--url 'https://beaconcha.in/api/v1/validator/stats/{index}?apikey='{
"status": "OK",
"data": [
{
"validatorindex": 20,
"day": 1774,
"day_start": "2025-10-10T12:00:23Z",
"day_end": "2025-10-11T12:00:23Z",
"start_balance": 32007258984,
"end_balance": 32009280345,
"min_balance": 0,
"max_balance": 0,
"start_effective_balance": 32000000000,
"end_effective_balance": 32000000000,
"min_effective_balance": 0,
"max_effective_balance": 0,
"proposed_blocks": 0,
"missed_blocks": 0,
"orphaned_blocks": 0,
"missed_attestations": 0,
"orphaned_attestations": 0,
"attester_slashings": 0,
"proposer_slashings": 0,
"deposits": 0,
"deposits_amount": 0,
"withdrawals": 0,
"withdrawals_amount": 0,
"participated_sync": 0,
"missed_sync": 0,
"orphaned_sync": 0
}
]
}Retrieve per-day statistics for a single validator by index. Use this endpoint to obtain balance snapshots (in gwei), duty counts (attestations, block proposals, sync committee), and deposit/withdrawal activity aggregated per beaconchain-day. When start_day is omitted, the API returns all days up to end_day (which defaults to the latest exported day).
curl --request GET \
--url 'https://beaconcha.in/api/v1/validator/stats/{index}?apikey='{
"status": "OK",
"data": [
{
"validatorindex": 20,
"day": 1774,
"day_start": "2025-10-10T12:00:23Z",
"day_end": "2025-10-11T12:00:23Z",
"start_balance": 32007258984,
"end_balance": 32009280345,
"min_balance": 0,
"max_balance": 0,
"start_effective_balance": 32000000000,
"end_effective_balance": 32000000000,
"min_effective_balance": 0,
"max_effective_balance": 0,
"proposed_blocks": 0,
"missed_blocks": 0,
"orphaned_blocks": 0,
"missed_attestations": 0,
"orphaned_attestations": 0,
"attester_slashings": 0,
"proposer_slashings": 0,
"deposits": 0,
"deposits_amount": 0,
"withdrawals": 0,
"withdrawals_amount": 0,
"participated_sync": 0,
"missed_sync": 0,
"orphaned_sync": 0
}
]
}Validator index to query (>= 0).
x >= 049949
Last day index to include (inclusive). Defaults to the latest exported day.
x >= 01774
First day index to include (inclusive). Must be less than or equal to end_day. When omitted, the API returns all days up to end_day.
x >= 01700
Matching daily records were retrieved successfully. The data array contains one entry per day, ordered from newest to oldest.
Was this page helpful?