Subnet Axon Removals
Last updated
Fetch axon-removal activity for one subnet over a 7d or 30d window: the distinct removers (hotkeys), the AxonInfoRemoved event count, and the average removals per remover, read from the account_events AxonInfoRemoved stream, which the runtime has never populated — an empty card is marked degraded rather than published as a measured zero. Raw axon-teardown activity — the removal-side companion to the AxonServed announcements in GET /api/v1/subnets/{netuid}/serving (which counts axon announcements, not teardowns). The zeroed card carries a degraded block whenever it is empty.
Path Parameters
The subnet's numeric id on the Bittensor network, as used by the chain itself.
0 <= valueQuery Parameters
Trailing lookback window the response is computed over, ending at the most recent data point rather than at today. Accepts 7d, 30d. A longer window is not a superset of a shorter one -- rankings and rates are recomputed over the whole window, not summed.
"7d"Value in
- "7d"
- "30d"
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/v1/subnets/1/axon-removals"{ "data": { "degraded": { "detail": "example", "reason": "example" }, "distinct_removers": 1, "netuid": 7, "observed_at": "2026-06-01T00:00:00.000Z", "removals": 1, "removals_per_remover": 0.5, "schema_version": 1, "window": "7d" }, "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}