Track Delegations & Performance
How to monitor staking performance & delegations
This guide shows you how to monitor staking performance. You'll learn how to track earned rewards, delegation metrics, and APR across all your delegations.
Delegations
To list all of the delegations belonging to a stake authority, you can use the following endpoint:
curl https://api.stake.fish/v1/solana/delegations/STAKE_AUTHORITY_PUBKEY \
--header 'accept: application/json'
- Where STAKE_AUTHORITY_PUBKEY is replaced with the account you are querying delegations for.
Example Response
{
"results": [
{
"stakeAccountPubkey": "6DxLNziT24jmYbP1PN3PfkBu5qy8u5p668hBMWUJ2Vcg",
"activeStake": "17840688091898",
"inactiveStake": "107652315670",
"status": "ACTIVE",
"cumulativeInflationRewards": "4620690374778",
"cumulativeMevRewards": "0",
"activatedAt": "359",
"deactivatedAt": null
},
{
"stakeAccountPubkey": "3Xbpoi91f2r9zQt4FDwcXoDSmbKaSNvyetWkaXGkmxav",
"activeStake": "683588363489",
"inactiveStake": "4127028993",
"status": "ACTIVE",
"cumulativeInflationRewards": "138590646369",
"cumulativeMevRewards": "0",
"activatedAt": "181",
"deactivatedAt": null
},
{
"stakeAccountPubkey": "97xeYfxGgWtXuGGBrkfiqMjPEGR2b2WRZm1gX78XG6d6",
"activeStake": "1121662355732",
"inactiveStake": "6770350786",
"status": "ACTIVE",
"cumulativeInflationRewards": "231664638612",
"cumulativeMevRewards": "0",
"activatedAt": "173",
"deactivatedAt": null
}
],
"totalItems": 3
}
Rewards
Use this public API endpoint to retrieve delegation rewards for a stake authority. The results show all delegations under that authority, with rewards broken down by stake account & epoch:
curl https://api.stake.fish/v1/solana/rewards/authority/STAKE_AUTHORITY_PUBKEY \
--header 'accept: application/json'
- Where STAKE_AUTHORITY_PUBKEY is replaced with the account you are querying delegations for.
Optional Query Parameters:
startDate
: Start date in YYYY-MM-DD format.endDate
: End date in YYYY-MM-DD format. You can check the latest available date using the syncing endpoint.
Note: Date queries must include either both start AND end dates, or neither date. Partial date ranges (only start or only end) are not valid. All dates are handled in UTC timezone.
Example Response
After sending the request, you’ll receive a response similar to the following:
{
"results": [
{
"epochNumber": 693,
"stakeAccountPubkey": "6DxLNziT24jmYbP1PN3PfkBu5qy8u5p668hBMWUJ2Vcg",
"inflationRewards": "6766059646",
"cumulativeInflationRewards": "4607159088388",
"mevRewards": "0",
"cumulativeMevRewards": "0"
},
{
"epochNumber": 694,
"stakeAccountPubkey": "6DxLNziT24jmYbP1PN3PfkBu5qy8u5p668hBMWUJ2Vcg",
"inflationRewards": "6742241762",
"cumulativeInflationRewards": "4613901330150",
"mevRewards": "0",
"cumulativeMevRewards": "0"
}
],
"epochs": [
{
"epochNumber": 693,
"startDate": "2024-11-04T01:40:44.000Z",
"endDate": "2024-11-06T10:25:41.000Z"
},
{
"epochNumber": 694,
"startDate": "2024-11-06T10:25:43.000Z",
"endDate": "2024-11-08T19:31:45.000Z"
}
],
"totalItems": 6
}
Performance
Use this public API endpoint to estimated APY based on the stake accounts for a given stake authority. Currently, the only date range available is the past 3 days.
curl https://api.stake.fish/v1/solana/rewards/authority/7HXaRnBdNJkuvUTDzoviArRymTC8iuKJnEesRFZhr6Z4/stats \
--header 'accept: application/json'
- Where STAKE_AUTHORITY_PUBKEY is replaced with the account you are querying delegations for.
Example Response:
{
"percentageTotal": "4.60",
"percentageInflation": "4.60",
"percentageMev": "0.00",
"aprType": "backward",
"timeWindow": "3d"
}
Additionally, it is possible to fetch the global summary and performance statistics for the stakefish validator:
curl https://api.stake.fish/v1/solana/rewards/stats\
--header 'accept: application/json'
Updated 4 days ago