Skip to content

Neuron history

Returns time-series metagraph snapshots for one or more neurons. Each row carries the same per-neuron fields as /api/neuron/latest/v1 — hotkey, coldkey, registration block, immunity/danger/active flags, and the Yuma metrics (incentive, mech_incentive, consensus, trust, validator_trust, dividends, emission, pruning_score, validator_permit) — sampled at successive blocks.

Filter by netuid, uid, hotkey, or coldkey to fix a neuron, and by block_start/block_end or timestamp_start/timestamp_end to bound the window. Use this to plot a neuron’s incentive/consensus/dividends trajectory or reconstruct historical metagraph state.

GET /api/neuron/history/v1
NameInTypeRequiredDescription
netuidqueryintegerSubnet ID
uidqueryintegerNeuron ID
hotkeyquerystringSS58 or hex format
coldkeyquerystringSS58 or hex format
is_immunequerybooleanStart of block range (inclusive) Is immune
in_dangerquerybooleanIs in danger
has_dividendsquerybooleanHas dividends
has_incentivequerybooleanHas incentive
block_startqueryinteger
block_endqueryintegerEnd of block range (inclusive)
timestamp_startqueryintegerStart of timestamp range in Unix timestamp (seconds since 1970-01-01) (inclusive)
timestamp_endqueryintegerEnd of timestamp range in Unix timestamp (seconds since 1970-01-01) (inclusive)
pagequeryinteger
limitqueryinteger
orderquery

200 — Neuron history retrieved successfully

Section titled “200 — Neuron history retrieved successfully”

Media: application/json

Schema
{
"type": "object",
"required": [
"pagination",
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"block_number",
"timestamp",
"netuid",
"uid",
"hotkey",
"coldkey",
"registration_block",
"is_immune",
"in_danger",
"active",
"consensus",
"dividends",
"emission",
"incentive",
"mech_incentive",
"pruning_score",
"trust",
"validator_permit",
"validator_trust"
],
"properties": {
"active": {
"type": "boolean"
},
"axon": {
"type": "string",
"nullable": true
},
"block_number": {
"type": "integer",
"format": "int32"
},
"coldkey": {
"type": "object",
"required": [
"ss58",
"hex"
],
"properties": {
"hex": {
"type": "string",
"description": "The hex format of the hot key"
},
"ss58": {
"type": "string",
"description": "The SS58 format of the hot key"
}
}
},
"consensus": {
"type": "string"
},
"dividends": {
"type": "string"
},
"emission": {
"type": "string"
},
"hotkey": {
"type": "object",
"required": [
"ss58",
"hex"
],
"properties": {
"hex": {
"type": "string",
"description": "The hex format of the hot key"
},
"ss58": {
"type": "string",
"description": "The SS58 format of the hot key"
}
}
},
"in_danger": {
"type": "boolean"
},
"incentive": {
"type": "string"
},
"is_immune": {
"type": "boolean"
},
"mech_incentive": {
"type": "array",
"items": {
"type": "string"
}
},
"miner_rank": {
"type": "integer",
"format": "int32",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"netuid": {
"type": "integer",
"format": "int32"
},
"pruning_score": {
"type": "string"
},
"registration_block": {
"type": "integer",
"format": "int32"
},
"stake_weight": {
"type": "string",
"nullable": true
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"trust": {
"type": "string"
},
"uid": {
"type": "integer",
"format": "int32"
},
"validator_permit": {
"type": "boolean"
},
"validator_rank": {
"type": "integer",
"format": "int32",
"nullable": true
},
"validator_trust": {
"type": "string"
}
}
}
},
"pagination": {
"type": "object",
"required": [
"current_page",
"per_page",
"total_items",
"total_pages"
],
"properties": {
"current_page": {
"type": "integer",
"format": "int32"
},
"next_page": {
"type": "integer",
"format": "int32",
"nullable": true
},
"per_page": {
"type": "integer",
"format": "int32"
},
"prev_page": {
"type": "integer",
"format": "int32",
"nullable": true
},
"total_items": {
"type": "integer",
"format": "int32"
},
"total_pages": {
"type": "integer",
"format": "int32"
}
}
}
}
}

Interactive request console coming soon. In the meantime you can use the OpenAPI spec with any client (Insomnia, Bruno, Scalar, curl).

All Taostats API requests require an Authorization header containing your API key. See Getting Started.