Skip to main content
GET
/
api
/
v1
/
validator
/
{indexOrPubkey}
/
balancehistory
Validator balance history
curl --request GET \
  --url 'https://beaconcha.in/api/v1/validator/{indexOrPubkey}/balancehistory?apikey='
{
"status": "OK",
"data": [
{
"balance": 32014494648,
"effectivebalance": 32000000000,
"epoch": 399359,
"validatorindex": 34523,
"week": 253,
"week_start": "2025-10-07T12:00:23Z",
"week_end": "2025-10-14T12:00:23Z"
}
]
}

Authorizations

apikey
string
query
required

Path Parameters

indexOrPubkey
string
required

Comma-separated validator indices and/or public keys (maximum 100 items by default). Comma-separated list (no spaces) of validator identifiers. Each identifier must be either:

  • A validator index as a base-10 integer (for example, 652648)
  • A BLS public key as a 96-hex-character string with or without the 0x prefix (case-insensitive)

Resolution and limits:

  • The server resolves public keys to validator indices before querying data.
  • The total number of identifiers must not exceed the server-enforced limit (default 100).
  • Identifiers that cannot be parsed or resolved result in HTTP 400.
Example:

"1,2,3"

Query Parameters

latest_epoch
integer

Most recent epoch to include (inclusive). Defaults to the latest processed epoch. Must be less than or equal to the latest processed epoch.

Required range: x >= 0
Example:

54656

offset
integer
default:0

Number of epochs to skip backwards from latest_epoch before starting the window. Must be non-negative and not exceed latest_epoch.

Required range: x >= 0
Example:

0

limit
integer
default:100

Number of epochs to return in the window. Allowed range is 1 to 100. Defaults to 100.

Required range: 1 <= x <= 100
Example:

50

Response

Balance history retrieved successfully. The data array contains one entry per validator per epoch within the requested window.

Standard success envelope used by all API endpoints.

status
enum<string>

HTTP-independent status of the API operation. For successful responses this is always "OK".

Available options:
OK
data
object[]

Response payload specific to the endpoint.