API referenceSubnets
Subnet Turnover
Last updated
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
Range
0 <= valueQuery 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}