GET
/
v1
/
avalanche
/
validators
/
{node_id}
/
rewards
curl --request GET \
  --url https://api.rated.network/v1/avalanche/validators/{node_id}/rewards
{
  "next": "https://api.rated.network//v1/avalanche/validators/{node_id}/rewards?limit=10&offset=30",
  "pages": 10,
  "previous": "https://api.rated.network//v1/avalanche/validators/{node_id}/rewards?limit=10&offset=10",
  "results": [
    [
      {
        "day": "2023-01-01",
        "nodeId": "NodeID-EggGmnQFaTffeRNG1Kzs9dXJzFGdxac3D",
        "totalDelegatorRewards": 42,
        "totalPotentialDelegatorRewards": 230,
        "totalPotentialValidatorFeeRewards": 6,
        "totalPotentialValidatorRewards": 120,
        "totalValidatorFeeRewards": 1.2,
        "totalValidatorRewards": 24,
        "validationStatus": "Active",
        "validatorPubkey": "0x8f95423f7142d00a48e1014a3de8d28907d420dc33b3052a6dee03a3f2941a393c2351e354704ca66a3fc29870282e15"
      }
    ]
  ]
}

Using this endpoint, you can query the historical daily rewards of a validator by their unique node_id. In Avalanche, rewards are distributed at the end of validation periods for validators (VALIDATOR and VALIDATOR_FEE reward types) and delegation periods for delegators (DELEGATOR reward type). This is how we match the rewards to a particular date. We match delegator rewards to the validator where delegators have staked/delegated to in order to give a full picture of rewards related to a validator.

As mentioned earlier, there are different reward types but Avalanche also computes the maximum potential reward a validator can receive at the end of validation and delegation periods. This is based on a validator having 100% uptime for its validation period (i.e. receiving the maximum rewards possible). In the response, this is given by the prefix potential_ and is specified per reward type, wherein we return these potential rewards as of a particular date.

Path Parameters

node_id
string
required

Query Parameters

limit
integer
default:
10

The number of results returned per page

offset
integer
default:
0

The number of results to skip before starting to return

toDate
string | null

End date

fromDate
string | null

Start date

Response

200
application/json
Successful Response
previous
string | null
required
next
string | null
required
pages
integer
required
Required range: x > 0
results
object[]
required