Documentation / API reference / Validator
Get Validator History dTAO
Last reviewed 2026-09-18
Returns historical validator overviews, including Root stake, Alpha stake valued in TAO, nominators and dominance. Records also include active subnets, ranks, validator take and daily returns.
Try it
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
hotkey | query | string | SS58 or hex format | |
block_number | query | integer (int32) | The exact block number | |
block_start | query | integer (int32) | Start of block range (inclusive) | |
block_end | query | integer (int32) | End of block range (inclusive) | |
timestamp_start | query | integer (int64) | Start of timestamp range in Unix timestamp (seconds since 1970-01-01) (inclusive) | |
timestamp_end | query | integer (int64) | End of timestamp range in Unix timestamp (seconds since 1970-01-01) (inclusive) | |
page | query | integer (int32) | The page number of the response. | |
limit | query | integer (int32) | The number of responses. max is 200, | |
order | query | string | One of block_number_asc, block_number_desc, timestamp_asc, timestamp_desc. |
Responses
200 — Validators retrieved successfully
| Field | Type | Required | Description |
|---|---|---|---|
data | array | Yes | |
data[].active_subnets | integer (int32) | Yes | |
data[].alpha_rank | integer (int32) | Yes | |
data[].block_number | integer (int32) | Yes | |
data[].claim_types | array | Yes | |
data[].claim_types[] | ClaimType | Yes | |
data[].coldkey | object | Yes | |
data[].coldkey.hex | string | Yes | The hex format of the hot key |
data[].coldkey.ss58 | string | Yes | The SS58 format of the hot key |
data[].created_on_date | string (date) | Yes | |
data[].dominance | string | Yes | |
data[].dominance_24_hr_change | string | Yes | |
data[].global_alpha_stake_as_tao | string | Yes | |
data[].global_nominators | integer (int32) | Yes | |
data[].global_nominators_24_hr_change | integer (int32) | Yes | |
data[].global_weighted_stake | string | Yes | |
data[].global_weighted_stake_24_hr_change | string | Yes | |
data[].hotkey | object | Yes | |
data[].hotkey.hex | string | Yes | The hex format of the hot key |
data[].hotkey.ss58 | string | Yes | The SS58 format of the hot key |
data[].name | string, nullable | ||
data[].nominator_return_per_day | string | Yes | |
data[].rank | integer (int32) | Yes | |
data[].root_rank | integer (int32) | Yes | |
data[].root_stake | string | Yes | |
data[].take | string | Yes | |
data[].timestamp | string (date-time) | Yes | |
data[].validator_return_per_day | string | Yes | |
data[].weighted_root_stake | string | Yes | |
pagination | object | Yes | |
pagination.current_page | integer (int32) | Yes | |
pagination.next_page | integer (int32), nullable | ||
pagination.per_page | integer (int32) | Yes | |
pagination.prev_page | integer (int32), nullable | ||
pagination.total_items | integer (int32) | Yes | |
pagination.total_pages | integer (int32) | Yes |
Example response
json
{
"data": [
{
"apr": "0",
"apr_30_day_average": "0",
"apr_7_day_average": "0",
"block_number": 4107500,
"coldkey": {
"hex": "0x7c84ce22fc340f51c1ee66c7de67a987a34dbd427e4f0efca19997b87092995d",
"ss58": "5EsyFEexqVRqaYymJmkmjDg55Lvr6ucbB22ZYDuSD9oVQgq1"
},
"dominance": "0.0293658520481326141",
"hotkey": {
"hex": "0xc8f1f79693409717186537848672035443b08120d10c026c1ba748fa693e7175",
"ss58": "5GcBK8PDrVifV1xAf4Qkkk6KsbsmhDdX9atvk8vyKU8xdU63"
},
"name": "Tensor.Exchange",
"nominator_return_per_k": "0",
"nominator_return_per_k_30_day_average": "0",
"nominator_return_per_k_7_day_average": "0",
"nominators": 125,
"nominators_24_hr_change": 0,
"permits": [
0
],
"rank": 30,
"registrations": [
0,
5
],
"stake": "1743770436061",
"stake_24_hr_change": "-1000000000",
"subnet_dominance": [
{
"dominance": "0.0293658520481326141",
"family_stake": "1743770436061",
"netuid": 0
},
{
"dominance": "0.0293658520481326141",
"family_stake": "1743770436061",
"netuid": 1
}
],
"system_stake": "5938089019868528",
"take": "0.17999542229343099107",
"timestamp": "2024-10-23T17:25:36.001Z",
"total_daily_return": "0",
"validator_return": "0",
"validator_stake": "960376"
},
{
"apr": "0",
"apr_30_day_average": "0",
"apr_7_day_average": "0",
"block_number": 4107500,
"coldkey": {
"hex": "0xdcbd1355ecc8c7d3c6b6638a8e799090a0ce3e0a0ba2b4633ba431ad2fa02147",
"ss58": "5H48ZNbRjpmGu4qyNKN9jrBqpeCZFZfVqvZZ9WEoL3nZ8Ef4"
},
"dominance": "0",
"hotkey": {
"hex": "0x8242cb5f830f90300470552bf794756c10cfd138cec21b3199ec3fd1c84e5623",
"ss58": "5F1VvZU6JA77jh3DPPh3zfZs14wcVnoDcXTBFj69XwkXrpQK"
},
"name": null,
"nominator_return_per_k": "0",
"nominator_return_per_k_30_day_average": "0",
"nominator_return_per_k_7_day_average": "0",
"nominators": 0,
"nominators_24_hr_change": 0,
"permits": [],
"rank": 446,
"registrations": [],
"stake": "0",
"stake_24_hr_change": "0",
"subnet_dominance": [
{
"dominance": "0",
"family_stake": "0",
"netuid": 0
},
{
"dominance": "0",
"family_stake": "0",
"netuid": 1
}
],
"system_stake": "5938089019868528",
"take": "0.17999542229343099107",
"timestamp": "2024-10-23T17:25:36.001Z",
"total_daily_return": "0",
"validator_return": "0",
"validator_stake": "0"
}
],
"pagination": {
"current_page": 1,
"next_page": 2,
"per_page": 50,
"prev_page": null,
"total_items": 146186,
"total_pages": 2924
}
}Response details
text
{
"hotkey": {
"ss58": "5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1",
"hex": "0xbc0e6b701243978c1fe73d721c7b157943a713fca9f3c88cad7a9f7799bc6b26"
},
"coldkey": {
"ss58": "5GcCZ2BPXBjgG88tXJCEtkbdg2hNrPbL4EFfbiVRvBZdSQDC",
"hex": "0xc8f623c92b47ac9645d6744f3d448cdb7a2a3b08a22a39bfd1db0afbd9c07117"
},
"name": "Taostats & Corcel",
"block_number": 5453927,
"timestamp": "2025-04-29T00:19:00Z",
"created_on_date": "2025-02-13",
"rank": 1,
"root_rank": 1,
"alpha_rank": 1,
"active_subnets": 88,
"global_nominators": 28224,
"global_nominators_24_hr_change": 103,
"take": "0.08999771114671549554",
"global_weighted_stake": "295814209201488", as rao
"global_weighted_stake_24_hr_change": "-7812357318085",as rao
"global_alpha_stake_as_tao": "152287191316855",as rao
"root_stake": "797372321581294",as rao
"weighted_root_stake": "143527017884633",as rao
"dominance": "14.10",
"dominance_24_hr_change": "0.04",
"nominator_return_per_day": "790856951071",as rao
"validator_return_per_day": "78214435626"as rao
},Other responses
| Status | Meaning |
|---|---|
400 | Bad request |
404 | Validators not found |
500 | Internal server error |
Every request needs an Authorization header holding your API key — see Getting started with the Taostats API.