Get validator summary metrics
curl --request GET \
--url https://api.rated.network/v1/solana/validators/{validator_id}/summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rated.network/v1/solana/validators/{validator_id}/summary"
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/v1/solana/validators/{validator_id}/summary', 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/v1/solana/validators/{validator_id}/summary",
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/v1/solana/validators/{validator_id}/summary"
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/v1/solana/validators/{validator_id}/summary")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rated.network/v1/solana/validators/{validator_id}/summary")
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{
"delegatorApy": 0.05,
"effectiveness": 0.984,
"jitoPriorityFeeCommissionRate": 0.05,
"mevCommissionRate": 0.05,
"name": "name",
"networkPenetration": 0.24,
"stakeAccountCount": 100,
"timeWindow": "30d",
"validatorApy": 0.05,
"validatorIdentity": "validatorIdentity",
"validatorName": "validatorName",
"voteAccount": "voteAccount",
"voteCommissionRate": 0.05,
"voteLatency": 2.984
}{
"detail": [
{
"msg": "<string>",
"type": "<string>",
"loc": [
"<string>"
]
}
]
}Overview
Get validator summary metrics
This endpoint returns various metrics for a specific validator aggregated across different time windows.
GET
/
v1
/
solana
/
validators
/
{validator_id}
/
summary
Get validator summary metrics
curl --request GET \
--url https://api.rated.network/v1/solana/validators/{validator_id}/summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rated.network/v1/solana/validators/{validator_id}/summary"
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/v1/solana/validators/{validator_id}/summary', 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/v1/solana/validators/{validator_id}/summary",
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/v1/solana/validators/{validator_id}/summary"
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/v1/solana/validators/{validator_id}/summary")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rated.network/v1/solana/validators/{validator_id}/summary")
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{
"delegatorApy": 0.05,
"effectiveness": 0.984,
"jitoPriorityFeeCommissionRate": 0.05,
"mevCommissionRate": 0.05,
"name": "name",
"networkPenetration": 0.24,
"stakeAccountCount": 100,
"timeWindow": "30d",
"validatorApy": 0.05,
"validatorIdentity": "validatorIdentity",
"validatorName": "validatorName",
"voteAccount": "voteAccount",
"voteCommissionRate": 0.05,
"voteLatency": 2.984
}{
"detail": [
{
"msg": "<string>",
"type": "<string>",
"loc": [
"<string>"
]
}
]
}This endpoint returns high level information about validators over the time period such as their respective entity names, network penetration, annual percentage yield (APY), and effectiveness.
On the
1d time period, the APY takes into account the rewards received for the last 3 days to smooth out the noise given Solana’s staking rewards schedule, which is every epoch (~2 days).Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Available options:
1d, 7d, 30d, all Response
Successful Response
Available options:
1d, 7d, 30d, all Pattern:
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Pattern:
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Pattern:
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Pattern:
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Pattern:
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Pattern:
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Pattern:
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Required range:
x >= 0Pattern:
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Pattern:
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$