Get Apr
curl --request GET \
--url https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"activeStake": 4823520000000000,
"activeValidators": 150735,
"aprType": "backward",
"idType": "validator",
"percentage": 5.35,
"percentageConsensus": 4.04,
"percentageExecution": 1.31,
"timeWindow": "all",
"validatorIndex": 1000
}{
"detail": [
{
"msg": "<string>",
"type": "<string>",
"loc": [
"<string>"
]
}
]
}Validators
Validators APR
GET
/
v0
/
eth
/
validators
/
{validator_index_or_pubkey}
/
apr
Get Apr
curl --request GET \
--url https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rated.network/v0/eth/validators/{validator_index_or_pubkey}/apr")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"activeStake": 4823520000000000,
"activeValidators": 150735,
"aprType": "backward",
"idType": "validator",
"percentage": 5.35,
"percentageConsensus": 4.04,
"percentageExecution": 1.31,
"timeWindow": "all",
"validatorIndex": 1000
}{
"detail": [
{
"msg": "<string>",
"type": "<string>",
"loc": [
"<string>"
]
}
]
}This endpoint returns historical data on the returns of a validator index. What’s really exciting about this one, is the ability to dig deep into the components of the aggregate return (e.g. returned earned on the execution layer vs the consensus layer etc).
window refers to the time window of the aggregation, with 1d, 7d, 30d and all being the supported values.
Note: a validator must be active throughout the time window for the value to be produced. For all time the last 90 days are considered.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Available options:
mainnet, hoodi, holesky Path Parameters
Required range:
x >= 0Query Parameters
Available options:
1d, 7d, 30d, all Available options:
backward, forward Response
Successful Response
Required range:
x >= 0Available options:
depositAddress, withdrawalAddress, nodeOperator, pool, poolShare, subNodeOperator, entity, validator, privateSet Available options:
1d, 7d, 30d, all Available options:
backward, forward Required range:
x >= 0