Solana Reporting API Overview

Overview

The Solana Staking Reporting API introduces enhanced features, including timezone-based reporting for more precise analysis and improved tracking of validator and delegator statuses.

Supported network: Mainnet

➡️ Get the Rewards

This endpoint returns the total rewards between specified timestamps for a single or multiple addresses.

Endpoints

Endpoint
Get a Stream of Rewards - POST /{type}/rewards
Get a Stream of Rewards for a Single Address - GET /{type}/rewards/{address}

Sample Request

👍

Note:

Validators and delegators follow the same request/response format in both API versions.

Below is a sample request for a single validator. For multiple validators, you can include up to 1000 addresses per request.

curl --location 'https://svc.blockdaemon.com/reporting/staking/v2/solana/mainnet/validator/rewards/FQwewNXahV7MiZcLpY6p1xhUs2acVGQ3U5Xxc7FzV571?startTime=1678174507&endTime=1678779307&period=weekly' \
--header 'Authorization: Bearer YOUR_KEY' \
--header 'accept: application/x-ndjson' 

This would return a response below. If you need the reward data in a different timezone, you can convert the timestamps using Epoch Converter.

{
  "address": "FQwewNXahV7MiZcLpY6p1xhUs2acVGQ3U5Xxc7FzV571",
  "denomination": "lamports",
  "return": "152995957268",
  "startTime": 1678174507,
  "endTime": 1678779306,
  "period": "WEEKLY",
  "startBalance": "582507713330",
  "metadata": {
    "epoch": "419-422",
    "fee": "33473577072",
    "identity": "7cVfgArCheMR6Cs4t6vz5rfnqd56vZq4ndaBrY5xkxXy",
    "slot": "181226296-182498587",
    "voteKey": "FQwewNXahV7MiZcLpY6p1xhUs2acVGQ3U5Xxc7FzV571",
    "voting": "119522380196",
    "stake": "1118732553958212"
  }
}

📘

Info:

To get the most recent rewards, you need to make a request for either epoch or raw rewards by specifying an end time in the future and a start time.

In the response, the highest startTime value shows the most recent reward.


➡️ Get a Status

This endpoint returns the current status of a validator/delegator. Possible statuses include:

  • UNKNOWN
  • ACTIVE
  • INACTIVE

Endpoints

Endpoint
Get a Stream of Statuses - POST /{type}/status
Get Status for an Address - GET /{type}/status/{address}

Sample Request

👍

Note:

Validators and delegators follow the same request/response format in both API versions.

Below is an example to get the status of a single validator.

curl -X 'GET' \
	'https://svc.blockdaemon.com/reporting/staking/v2/solana/mainnet/delegator/status/78NumgHAAgfaHUDPBPTyzFcSgvPnXSqqTnSmXPAW9KZW' \
	-H 'Content-Type: application/json' \
	-H 'Authorization: Bearer KEY' 

This would return a response below.

{
  "address": "78NumgHAAgfaHUDPBPTyzFcSgvPnXSqqTnSmXPAW9KZW",
  "status": "ACTIVE",
  "metadata": {
    "activationEpoch": "631",
    "deactivationEpoch": "18446744073709551615",
    "identity": "7cVfgArCheMR6Cs4t6vz5rfnqd56vZq4ndaBrY5xkxXy",
    "solanaAccount": "A2VLtkfrXxBCLKUGQqwhyD5fmGSvSZpc6a8jMA78T2eL",
    "stakeAccount": "78NumgHAAgfaHUDPBPTyzFcSgvPnXSqqTnSmXPAW9KZW",
    "type": "delegator",
    "voteKey": "FQwewNXahV7MiZcLpY6p1xhUs2acVGQ3U5Xxc7FzV571"
  }
}

➡️ Get Health

A health endpoint provides a high-level overview of the reward processing status. It also includes a breakdown of the status of individual reward types in the metadata object.

Endpoints

Sample Request

Below is an example request.

curl 'https://svc.blockdaemon.com/reporting/staking/v2/solana/mainnet/health' \
     -H 'Authorization: Bearer YOUR_KEY'

The response shows whether the reward processing is running optimally or not.

{
    "status": "OPTIMAL",
    "timestamp": 1716893171,
    "metadata": {
        "lastProcessedInflationEpoch": "620",
        "lastProcessedMevEpoch": "620",
        "lastProcessStatusesEpoch": "621",
        "chainEpoch": "621",
        "chainSlot": "268425883",
        "lastProcessedSlot": "268425383",
        "lastProcessedMevTxTimestamp": "1716893374"
    }
}

📘

Info:

The endpoint will return unknown if queried before 2024/06/03.

👋 Need Help?

Contact us through email or our support page for any issues, bugs, or assistance you may need.