Get summary metrics for multiple validators
curl --request GET \
--url https://api.rated.network/v1/solana/validators \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rated.network/v1/solana/validators"
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', 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",
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"
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")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rated.network/v1/solana/validators")
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{
"next": "https://api.rated.network//v1/solana/validators?limit=10&offset=30",
"pages": 10,
"previous": "https://api.rated.network//v1/solana/validators?limit=10&offset=10",
"results": [
[
{
"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
}
]
]
}Overview
Get summary metrics for multiple validators
This endpoint returns various metrics for all validators or the ones staked to by a specified stake authority.
GET
/
v1
/
solana
/
validators
Get summary metrics for multiple validators
curl --request GET \
--url https://api.rated.network/v1/solana/validators \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rated.network/v1/solana/validators"
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', 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",
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"
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")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rated.network/v1/solana/validators")
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{
"next": "https://api.rated.network//v1/solana/validators?limit=10&offset=30",
"pages": 10,
"previous": "https://api.rated.network//v1/solana/validators?limit=10&offset=10",
"results": [
[
{
"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
}
]
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Available options:
1d, 7d, 30d, all The number of results returned per page
The number of results to skip before starting to return
Network penetration, Raver, delegator APY or gross APY. Vote latency is accepted until Alpenglow activation empties the requested window. Defaults to network penetration, or with stakeAuthority to the authority's delegated share.
Available options:
networkPenetration, raver, delegatorApy, grossApy, latency, country, city, hostingProvider Available options:
asc, desc