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
Endpoint |
---|
Get the Protocol Rewards Processing Health - GET /health |
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.