Skip To Content

Blockdaemon Documentation

Ethereum Staking Reporting API

Overview
Supported Networks

Validator Endpoints
(GET) Get Status of Validator
(POST) Get Status of Validators
(GET) Get Stake & Rewards of Validator
(POST) Get Stake & Rewards of Validators
(POST) Get Historical Stake & Rewards of Validator
(POST) Get Historical Stake & Rewards of Validators
(GET) Verify Staking Activity of Validator
(POST) Verify Staking Activity of Validators


Overview

With Blockdaemon Staking Reporting API, you can easily access staking information from multiple protocols for your financial data analysis needs.

The Ethereum Staking Reporting API endpoints listed in this section allow the retrieval of staking data in Ethereum Mainnet. You can get the current or historical stake & rewards allocated to a given validator address and other data.

Please note: you can query historical data since 11th April, 2021

See also:


Supported Networks

Blockdaemon Staking Reporting API supports the following Ethereum networks:

  • Ethereum Mainnet
  • Ethereum Testnet

(GET) Get Status of Validator

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/{network}/validator/status/{address}

Returns the current status of a given validator address.

Learn how to authorize your request: Authentication Guide

Path Parameters

You should specify one of the supported networks as a path parameter:

  • mainnet
  • testnet

It is also required to specify a validator address as the last path parameter, e.g.:

  • 0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335

Example Queries

The query in this section provides a useful example for (GET) Get Status of Validator.

To get the current status of a validator in Ethereum Mainnet, use the following query:

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/mainnet/validator/status/0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335

Example Response

The following is a typical response from (GET) Get Status of Validator:

{
    "address": "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335",
    "status": "active",
    "index": 230088,
    "earliestReportDate": "2022-04-10"
}

(POST) Get Status of Validators

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/{network}/validator/status

Returns the current status of multiple given validator addresses.

Learn how to authorize your request: Authentication Guide

Request Body

In the body of your request, specify an array of validator addresses, for example:

{
    "addresses": [
        "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335",
        "0x87631fa23a8458fc0ea43ab36f9087580f2c60dfd44a4858f5eaaa1d0a3d56be3c1a3e79cc139d30e44260009535b34f"
    ]
}

Path Parameters

You should specify one of the supported networks as a path parameter:

  • mainnet
  • testnet

Example Queries

The query in this section provides a useful example for (GET) Get Status of Validators.

To get the current status of multiple validators in Ethereum Mainnet, use the following query:

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/mainnet/validator/status

Example Response

The following is a typical response from (POST) Get Status of Validators:

[
    {
        "address": "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335",
        "status": "active",
        "index": 230088,
        "earliestReportDate": "2022-04-10"
    },
    {...more items...}
]

(GET) Get Stake & Rewards of Validator

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/{network}/validator/rewards/{address}

Returns the current stake & rewards allocated to a given validator address. Timestamps are given in UTC.

Learn how to authorize your request: Authentication Guide

Path Parameters

You should specify one of the supported networks as a path parameter:

  • mainnet
  • testnet

It is also required to specify a validator address as the last path parameter, e.g.:

  • 0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335

Example Queries

The query in this section provides a useful example for (GET) Get Stake & Rewards of Validator.

To get the current stake & rewards of a validator in Ethereum Mainnet, use the following query:

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/mainnet/validator/rewards/0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335

Example Response

The following is a typical response from (GET) Get Stake & Rewards of Validator:

{
    "address": "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335",
    "currency": "ETH",
    "return": 0.023357528,
    "timeStart": "2022-08-01T00:00:00Z",
    "timeEnd": "2022-08-07T23:59:59Z",
    "timeAggregation": "weekly",
    "startingBalance": 33.495762794,
    "metadata": {
        "validatorIndex": 23008,
        "protocolRewards": 0.003142331,
        "txFeeRewards": 0,
        "mevRewards": 0
    }
}

(POST) Get Stake & Rewards of Validators

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/{network}/validator/rewards

Returns the current stake & rewards allocated to multiple given validator addresses. Timestamps are given in UTC.

Learn how to authorize your request: Authentication Guide

Request Body

In the body of your request, specify an array of validator addresses, for example:

{
    "addresses": [
        "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335",
        "0x87631fa23a8458fc0ea43ab36f9087580f2c60dfd44a4858f5eaaa1d0a3d56be3c1a3e79cc139d30e44260009535b34f"
    ]
}

Path Parameters

You should specify one of the supported networks as a path parameter:

  • mainnet
  • testnet

Query Parameters

To aggregate rewards across addresses, use the following parameter:

  • parameter: aggregate
  • value: true / false (default)

Example Queries

The query in this section provides a useful example for (POST) Get Stake & Rewards of Validators.

To get the aggregated rewards of multiple validators in Ethereum Mainnet, use the following query:

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/mainnet/validator/rewards?aggregate=true

Example Response

The following is a typical response from (POST) Get Stake & Rewards of Validators (non-aggregated):

[
    {
        "address": "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335",
        "currency": "ETH",
        "return": 0.023357528,
        "timeStart": "2022-08-01T00:00:00Z",
        "timeEnd": "2022-08-07T23:59:59Z",
        "timeAggregation": "weekly",
        "startingBalance": 33.495762794,
        "metadata": {
            "validatorIndex": 230088,
            "protocolRewards": 0.003142331,
            "txFeeRewards": 0,
            "mevRewards": 0
        }
    },
    { ...more items...}
]

(POST) Get Historical Stake & Rewards of Validator

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/{network}/validator/history/{address}

Returns the historical stake & rewards allocated to a given validator address. Timestamps are given in UTC.

You can query historical data since 11th April, 2021.

Learn how to authorize your request: Authentication Guide

Path Parameters

You should specify one of the supported networks as a path parameter:

  • mainnet
  • testnet

It is also required to specify a validator address as the last path parameter, e.g.:

  • 0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335

Request Body

In the body of your request, specify a date range, for example:

{
    "fromTime": 1659312000000,
    "toTime": 1661990390000,
    "timeUnit": "weekly"
}

In the fromTime and toTime fields, you should specify Unix timestamps in milliseconds (UTC time zone).

The timeUnit parameter takes the following values:

Value Response
day / daily All the rewards between given timestamps, aggregated by day
week / weekly All the rewards between given timestamps, aggregated by week
month / monthly All the rewards between given timestamps, aggregated by month

Example Queries

The query in this section provides a useful example for (GET) Get Historical Stake & Rewards of Validator.

To get historical stake & rewards of a validator in Ethereum Mainnet, use the following query:

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/mainnet/validator/history/0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335

Example Response

The following is a typical response from (POST) Get Historical Stake & Rewards of Validator:

[
    {
        "address": "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335",
        "currency": "ETH",
        "return": 0.023357528,
        "timeStart": "2022-08-01T00:00:00Z",
        "timeEnd": "2022-08-07T23:59:59Z",
        "timeAggregation": "weekly",
        "startingBalance": 33.495762794,
        "metadata": {
            "validatorIndex": 230088,
            "protocolRewards": 0.003142331,
            "txFeeRewards": 0,
            "mevRewards": 0
        }
    },
    { ...more items...}
]

(POST) Get Historical Stake & Rewards of Validators

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/{network}/validator/history

Returns the historical stake & rewards allocated to multiple given validator addresses. Timestamps are given in UTC.

Note: You can query historical data since 11th April, 2021.

Learn how to authorize your request: Authentication Guide

Request Body

In the body of your request, specify a date range and an array of validator addresses, for example:

{
    "fromTime": 1659312000000,
    "toTime": 1661990390000,
    "timeUnit": "weekly",
    "addresses": [
        "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335",
        "0x87631fa23a8458fc0ea43ab36f9087580f2c60dfd44a4858f5eaaa1d0a3d56be3c1a3e79cc139d30e44260009535b34f"
    ]
}

In the fromTime and toTime fields, you should specify Unix timestamps in milliseconds (UTC time zone).

The timeUnit parameter takes the following values:

Value Response
day / daily All the rewards between given timestamps, aggregated by day
week / weekly All the rewards between given timestamps, aggregated by week
month / monthly All the rewards between given timestamps, aggregated by month

Query Parameters

To aggregate rewards across addresses, use the following parameter:

  • parameter: aggregate
  • value: true / false (default)

Path Parameters

You should specify one of the supported networks as a path parameter:

  • mainnet
  • testnet

Example Queries

The query in this section provides a useful example for (POST) Get Historical Stake & Rewards of Validators.

To get the aggregated historical rewards of multiple validators in Ethereum Mainnet, use the following query:

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/mainnet/validator/history?aggregate=true

Example Response

The following is a typical response from (POST) Get Historical Stake & Rewards of Validators (non-aggregated)

[
    {
        "address": "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335",
        "currency": "ETH",
        "return": 0.023357528,
        "timeStart": "2022-08-01T00:00:00Z",
        "timeEnd": "2022-08-07T23:59:59Z",
        "timeAggregation": "weekly",
        "startingBalance": 33.495762794,
        "metadata": {
            "validatorIndex": 230088,
            "protocolRewards": 0.003142331,
            "txFeeRewards": 0,
            "mevRewards": 0
        }
    },
    { ...more items... }
]

(GET) Verify Staking Activity of Validator

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/{network}/validator/active/{address}

Returns true if a given validator address is active, false otherwise.

Learn how to authorize your request: Authentication Guide

Path Parameters

You should specify one of the supported networks as a path parameter:

  • mainnet
  • testnet

It is also required to specify a validator address as the last path parameter, e.g.:

  • 0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335

Example Queries

The query in this section provides a useful example for (GET) Verify Staking Activity of Validator.

To verify the staking activity of a validator in Ethereum Mainnet, use the following query:

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/mainnet/validator/active/0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335

Example Response

The following is a typical response from (GET) Verify Staking Activity of Validator:

{
    "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335": true
}

(POST) Verify Staking Activity of Validators

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/{network}/validator/active

Returns true if a given validator address is active, false otherwise (for each address from a list).

Learn how to authorize your request: Authentication Guide

Request Body

In the body of your request, specify an array of validator addresses, for example:

{
    "addresses": [
        "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335",
        "0x87631fa23a8458fc0ea43ab36f9087580f2c60dfd44a4858f5eaaa1d0a3d56be3c1a3e79cc139d30e44260009535b34f"
    ]
}

Path Parameters

You should specify one of the supported networks as a path parameter:

  • mainnet
  • testnet

Example Queries

The query in this section provides a useful example for (GET) Verify Staking Activity of Validators.

To verify the staking activity of multiple validators in Ethereum Mainnet, use the following query:

https://svc.blockdaemon.com/reporting/staking/v1/ethereum/mainnet/validator/active

Example Response

The following is a typical response from (GET) Verify Staking Activity of Validators:

[
    {
        "0xb6f83e120b08f4bd119d3cf0ddd1d329cfa01032fe3ea0743977828f28db2265051e59308b04f1e07908209e28aa2335": true
    },
    { ...more items... }
]

We don't support Internet Explorer

Please use Chrome, Safari, Firefox, or Edge to view this site.