Skip to content

Historical hotkey emissions per subnet

GET /api/dtao/hotkey_emission/v1

Returns per-block emission amounts credited to a hotkey on a given subnet. Each row splits the emission into the subnet-native emission (alpha) and the root_emission share flowing from the root network, letting you audit exactly what a validator or miner earned at each block.

Filter by hotkey and netuid to focus on a specific position, and use block_number, block_start/block_end, or timestamp_start/timestamp_end to bound the window. For background on the split see Emissions.

NameInTypeRequiredDescription
hotkeyquerystringFilter by hotkey (SS58 or hex).
netuidqueryintegerSubnet id.
block_numberqueryintegerReturn the emission at this exact block.
block_startqueryintegerStart of block range (inclusive).
block_endqueryintegerEnd of block range (inclusive).
timestamp_startqueryintegerStart of Unix timestamp range in seconds (inclusive).
timestamp_endqueryintegerEnd of Unix timestamp range in seconds (inclusive).
pagequeryinteger1-based page number.
limitqueryintegerPage size (max 200).
orderquerySort order, e.g. block_number_desc, emission_desc.

200 — Dtao hotkey emission retrieved successfully

Section titled “200 — Dtao hotkey emission retrieved successfully”

Media: application/json

Schema
{
"type": "object",
"required": [
"pagination",
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"block_number",
"timestamp",
"netuid",
"hotkey",
"emission",
"root_emission"
],
"properties": {
"block_number": {
"type": "integer",
"format": "int32"
},
"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"
}
}
},
"netuid": {
"type": "integer",
"format": "int32"
},
"root_emission": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
}
},
"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.