curl -v -X 'POST' \
'https://api.rated.network/v0/selfReports/validators' \
-H 'Content-Type: application/json' \
-H 'X-Rated-Network: mainnet' \
-H 'Authorization: Bearer <YOUR-TOKEN-HERE>'
-d '{"validators": ["0x01...", "0x02..."], "poolTag": "Lido"}'
import requests
from typing import Dict, List
YOUR_TOKEN: str = "ey..."
PUBKEYS: List[str] = ["0x001...", "0x002...", ]
HEADERS: Dict[str, str] = {
"Authorization": f"Bearer {YOUR_TOKEN}",
"X-Rated-Network": "mainnet",
}
try:
response = requests.post(
"https://api.rated.network/v0/selfReports/validators",
# important! use the json parameter not data
json={"validators": PUBKEYS, "poolTag": "Lido"},
headers=HEADERS,
)
response.raise_for_status()
except requests.exceptions.HTTPError:
print(response.headers["x-request-id"])
print(response.json())
{
"operatorName": "<string>",
"validators": [
"<string>"
],
"network": "mainnet",
"poolTag": "<string>"
}{
"detail": [
{
"msg": "<string>",
"type": "<string>",
"loc": [
"<string>"
]
}
]
}Self report
Report Validators
POST
/
v0
/
selfReports
/
validators
curl -v -X 'POST' \
'https://api.rated.network/v0/selfReports/validators' \
-H 'Content-Type: application/json' \
-H 'X-Rated-Network: mainnet' \
-H 'Authorization: Bearer <YOUR-TOKEN-HERE>'
-d '{"validators": ["0x01...", "0x02..."], "poolTag": "Lido"}'
import requests
from typing import Dict, List
YOUR_TOKEN: str = "ey..."
PUBKEYS: List[str] = ["0x001...", "0x002...", ]
HEADERS: Dict[str, str] = {
"Authorization": f"Bearer {YOUR_TOKEN}",
"X-Rated-Network": "mainnet",
}
try:
response = requests.post(
"https://api.rated.network/v0/selfReports/validators",
# important! use the json parameter not data
json={"validators": PUBKEYS, "poolTag": "Lido"},
headers=HEADERS,
)
response.raise_for_status()
except requests.exceptions.HTTPError:
print(response.headers["x-request-id"])
print(response.json())
{
"operatorName": "<string>",
"validators": [
"<string>"
],
"network": "mainnet",
"poolTag": "<string>"
}{
"detail": [
{
"msg": "<string>",
"type": "<string>",
"loc": [
"<string>"
]
}
]
}Here’s how to interpret the inputs required to operate it:
And here’s how to you might go about implementing it:
| Parameter | Context |
|---|---|
validators | Array of validator pubkeys associated with the node operator |
poolTag | String for pool name, must match exactly to the pool name listed on the Explorer. |
curl -v -X 'POST' \
'https://api.rated.network/v0/selfReports/validators' \
-H 'Content-Type: application/json' \
-H 'X-Rated-Network: mainnet' \
-H 'Authorization: Bearer <YOUR-TOKEN-HERE>'
-d '{"validators": ["0x01...", "0x02..."], "poolTag": "Lido"}'
import requests
from typing import Dict, List
YOUR_TOKEN: str = "ey..."
PUBKEYS: List[str] = ["0x001...", "0x002...", ]
HEADERS: Dict[str, str] = {
"Authorization": f"Bearer {YOUR_TOKEN}",
"X-Rated-Network": "mainnet",
}
try:
response = requests.post(
"https://api.rated.network/v0/selfReports/validators",
# important! use the json parameter not data
json={"validators": PUBKEYS, "poolTag": "Lido"},
headers=HEADERS,
)
response.raise_for_status()
except requests.exceptions.HTTPError:
print(response.headers["x-request-id"])
print(response.json())
Please note the following:
- You can self report on Ethereum Mainnet and Hoodi.
- Do not pass your operator name as pool name. If you’re not getting delegations via a pool or pool share, please leave the “poolTag” empty.
- Each request has a strict limit of 1,000 validator public keys. Please submit multiple requests if you need to report more than 1,000 validators.
- We cannot assign a key to your entity if it has already been reported by another operator. In case of false attribution, please contact us at [email protected], and we will address the issue.
- As this API is self-reported, it relies on the honest behaviour of all participants reporting their validators. Any instances of misconduct may lead to the exclusion of the entity from our platform.
- It typically takes about 24 hours for the reported keys to appear on rated.network/explorer. Please note that your keys need to be activated (ie not in the activation queue) for them to show up on the Explorer.
- If your activated keys have not shown up after the 24h period, please contact us at [email protected], and we will investigate the issue.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Available options:
mainnet, hoodi, holesky Body
application/json