Skip to main content
API referenceSubnets

Subnet Turnover

Last updated

GET
/api/v1/subnets/{netuid}/turnover

Fetch validator-set & registration turnover (churn) for one subnet between a window's start and end snapshots — validators entered/exited + retention, UID deregistrations, and a 0-100 stability score. Add ?changes=true to include the entered/exited validator hotkeys and UID reassignment detail (computed live from the neuron_daily D1 rollup).

Path Parameters

netuid*integer
Range0 <= value

Query Parameters

window?string

Value in

  • "7d"
  • "30d"
  • "90d"
  • "1y"
  • "all"
changes?"true"

Value in

  • "true"

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/subnets/0/turnover"
{  "data": {    "changes": {      "uid_reassignment_count": 1,      "uid_reassignments": [        {          "from_hotkey": "example",          "to_hotkey": "example",          "uid": 1        }      ],      "validators_entered": [        {          "hotkey": "example",          "uid": 1        }      ],      "validators_entered_count": 1,      "validators_exited": [        {          "hotkey": "example",          "uid": 1        }      ],      "validators_exited_count": 1    },    "comparable": false,    "end_date": "example",    "netuid": 7,    "neuron_retention": 0.5,    "neurons_end": 1,    "neurons_start": 1,    "schema_version": 1,    "stability_score": 100,    "start_date": "example",    "uids_deregistered": 1,    "validator_retention": 0.5,    "validators_end": 1,    "validators_entered": 1,    "validators_exited": 1,    "validators_start": 1,    "window": "30d"  },  "meta": {    "artifact_path": "example",    "cache": "short",    "contract_version": "2026-06-29.1",    "generated_at": "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}