Get Slashing Penalties All
curl --request GET \
--url https://api.rated.network/v0/eth/slashings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rated.network/v0/eth/slashings"
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/slashings', 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/slashings",
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/slashings"
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/slashings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rated.network/v0/eth/slashings")
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{
"page": {
"from": 123,
"to": 123,
"size": 10,
"granularity": "hour",
"filterType": "hour"
},
"total": 1,
"data": [
{
"balanceBeforeSlashing": 32001900366,
"balanceBeforeWithdrawal": 30980804667,
"slashingEpoch": 203644,
"slashingPenalties": 1021095699,
"validatorIndex": 516858,
"validatorPubkey": "0xafa647044b05fd7d7f3cfd806170fc9774bf37cbcfd4f083528522bb2a011e57f3af00f8bb8435a9d3316816e4cdb022",
"withdrawableEpoch": 211836
}
],
"next": "<string>"
}{
"detail": [
{
"msg": "<string>",
"type": "<string>",
"loc": [
"<string>"
]
}
]
}Slashings
Slashings as a whole
GET
/
v0
/
eth
/
slashings
Get Slashing Penalties All
curl --request GET \
--url https://api.rated.network/v0/eth/slashings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rated.network/v0/eth/slashings"
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/slashings', 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/slashings",
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/slashings"
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/slashings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rated.network/v0/eth/slashings")
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{
"page": {
"from": 123,
"to": 123,
"size": 10,
"granularity": "hour",
"filterType": "hour"
},
"total": 1,
"data": [
{
"balanceBeforeSlashing": 32001900366,
"balanceBeforeWithdrawal": 30980804667,
"slashingEpoch": 203644,
"slashingPenalties": 1021095699,
"validatorIndex": 516858,
"validatorPubkey": "0xafa647044b05fd7d7f3cfd806170fc9774bf37cbcfd4f083528522bb2a011e57f3af00f8bb8435a9d3316816e4cdb022",
"withdrawableEpoch": 211836
}
],
"next": "<string>"
}{
"detail": [
{
"msg": "<string>",
"type": "<string>",
"loc": [
"<string>"
]
}
]
}This endpoint gives a paginated list of all slashed validators, their index, pubkey, slashing epoch, withdrawable epoch, balance before slashing, balance before withdrawal, and the penalties incurred from getting slashed.
Here’s how to interpret the inputs required to operate it 👇
If a slashed validator is not yet withdrawable, their balances before withdrawal and corresponding penalties will update every refresh until they become withdrawable.
| Parameter | Context |
|---|---|
from | Start day (integer) or datetime (e.g. from=“2022-12-01”) |
size | The number of results included per page |
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Available options:
mainnet, hoodi, holesky