Historical hotkey emissions per subnet
Endpoint
Section titled “Endpoint”GET /api/dtao/hotkey_emission/v1Description
Section titled “Description”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.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
hotkey | query | string | Filter by hotkey (SS58 or hex). | |
netuid | query | integer | Subnet id. | |
block_number | query | integer | Return the emission at this exact block. | |
block_start | query | integer | Start of block range (inclusive). | |
block_end | query | integer | End of block range (inclusive). | |
timestamp_start | query | integer | Start of Unix timestamp range in seconds (inclusive). | |
timestamp_end | query | integer | End of Unix timestamp range in seconds (inclusive). | |
page | query | integer | 1-based page number. | |
limit | query | integer | Page size (max 200). | |
order | query | — | Sort order, e.g. block_number_desc, emission_desc. |
Responses
Section titled “Responses”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" } } } }}400 — Bad request
Section titled “400 — Bad request”404 — Dtao hotkey emission not found
Section titled “404 — Dtao hotkey emission not found”500 — Internal server error
Section titled “500 — Internal server error”Try it
Section titled “Try it”Interactive request console coming soon. In the meantime you can use the OpenAPI spec with any client (Insomnia, Bruno, Scalar, curl).
Authentication
Section titled “Authentication”All Taostats API requests require an Authorization header containing your API key. See Getting Started.