Skip to main content
API referenceValidators

Validator History

Last updated

GET
/api/v1/validators/{hotkey}/history

Fetch cross-subnet staked-over-time + rewards-per-1000-TAO history for one validator: one point per day, summed across every subnet it operates in that day (stake/emission totals, subnet count, and a normalized reward rate), computed live from the neuron_daily rollup tier. ?window=7d|30d|90d|1y|all.

Path Parameters

hotkey*string

An SS58-encoded hotkey address identifying one validator identity.

Query Parameters

window?string

Trailing lookback window the response is computed over, ending at the most recent data point rather than at today. Accepts 7d, 30d, 90d, 1y, all. A longer window is not a superset of a shorter one -- rankings and rates are recomputed over the whole window, not summed.

Default"30d"

Value in

  • "7d"
  • "30d"
  • "90d"
  • "1y"
  • "all"
netuid?integer

Subnet id (netuid). 0 is the root subnet -- a stake-allocation construct rather than a running subnet. It IS present in the registry collections, but it is excluded from application-subnet counts, and stake on it is denominated in TAO rather than in a subnet alpha token, so its economics are not directly comparable to a running subnet's.

Range0 <= value <= 65535

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/validators/5F4tQyWrhfGVcNhoqeiNsR6KjD4wMZ2kfhLj4oHYuyHbZAc3/history"
{  "data": {    "hotkey": "example",    "netuid": 7,    "next_take_change_eligible_date": "example",    "point_count": 1,    "points": [      {        "rewards_per_1000_tao": 0.5,        "snapshot_date": "example",        "subnet_count": 1,        "total_emission_tao": 0.5,        "total_stake_tao": 0.5      }    ],    "schema_version": 1,    "take_change_observable": false,    "take_last_changed_date": "example",    "take_u16": 1,    "window": "30d"  },  "meta": {    "artifact_path": "example",    "cache": "short",    "contract_version": "2026-06-29.1",    "generated_at": "2026-06-01T00:00:00.000Z",    "observed_through": "2026-06-01T00:00:00.000Z",    "pagination": {      "collection": "example",      "cursor": 1,      "limit": 1,      "next_cursor": 1,      "order": "asc",      "returned": 1,      "sort": "example",      "total": 1    },    "published_at": "2026-06-01T00:00:00.000Z",    "source": "live-cron-prober",    "stale_contract": {      "built_under": "example",      "live": "example"    }  },  "ok": true,  "schema_version": 1}