Get Operator Apr
curl --request GET \
--url https://api.rated.network/v0/eth/operators/{operator_id}/apr \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rated.network/v0/eth/operators/{operator_id}/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/operators/{operator_id}/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/operators/{operator_id}/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/operators/{operator_id}/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/operators/{operator_id}/apr")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rated.network/v0/eth/operators/{operator_id}/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",
"id": "Lido",
"idType": "pool",
"percentage": 5.35,
"percentageConsensus": 4.04,
"percentageExecution": 1.31,
"timeWindow": "1d"
}{
"detail": [
{
"msg": "<string>",
"type": "<string>",
"loc": [
"<string>"
]
}
]
}Operators
Entity APR%
GET
/
v0
/
eth
/
operators
/
{operator_id}
/
apr
Get Operator Apr
curl --request GET \
--url https://api.rated.network/v0/eth/operators/{operator_id}/apr \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rated.network/v0/eth/operators/{operator_id}/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/operators/{operator_id}/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/operators/{operator_id}/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/operators/{operator_id}/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/operators/{operator_id}/apr")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rated.network/v0/eth/operators/{operator_id}/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",
"id": "Lido",
"idType": "pool",
"percentage": 5.35,
"percentageConsensus": 4.04,
"percentageExecution": 1.31,
"timeWindow": "1d"
}{
"detail": [
{
"msg": "<string>",
"type": "<string>",
"loc": [
"<string>"
]
}
]
}This endpoint returns historical data on the returns any of the entities supported have recorded. 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).
Here’s how to interpret the inputs required to operate it 👇
| Parameter | Context |
|---|---|
operatorId | The name of the entity in question. This could be deposit address, a node operator, or a pool. Please see our docs to get a better understanding of how we aggregate validators. |
window | The time window of aggregation. You might ask for 1d, 7d, 30d or All-time data. |
idType | The type of entity class you would like returned. You might ask for pool, poolShare, nodeOperator, depositAddress and withdrawalAddress. |
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Available options:
mainnet, hoodi, holesky Path Parameters
Query Parameters
Available options:
1d, 7d, 30d, all Available options:
depositAddress, withdrawalAddress, nodeOperator, pool, poolShare, subNodeOperator, entity, validator, privateSet Available options:
backward, forward Response
Successful Response
Available options:
depositAddress, withdrawalAddress, nodeOperator, pool, poolShare, subNodeOperator, entity, validator, privateSet Available options:
1d, 7d, 30d, all Available options:
backward, forward Required range:
x >= 0