Skip to content

Latest validator dividends per subnet

GET /api/dtao/validator/dividends/latest/v1

Returns the most recent daily dividend snapshot for each validator hotkey on a subnet. Each row splits alpha and root dividends between the validator’s own share (after take) and the nominator share, and reports the per-kt return for nominators plus the number of epochs that contributed.

Use this to rank validators by recent yield or check a single validator’s latest payout. For the historical series see /api/dtao/validator/dividends/history/v1. Background on dividends: Dividends for validators.

NameInTypeRequiredDescription
hotkeyquerystringFilter by validator hotkey (SS58 or hex).
netuidqueryintegerSubnet id.
pagequeryinteger1-based page number.
limitqueryintegerPage size (max 200).
orderquerySort order, e.g. nominator_return_per_kt_alpha_desc, total_hotkey_alpha_desc.

Media: application/json

Schema
{
"type": "object",
"required": [
"pagination",
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"hotkey",
"netuid",
"block_number",
"timestamp",
"day",
"tempo",
"take",
"total_hotkey_alpha",
"total_hotkey_root",
"epochs",
"nominator_alpha_dividends",
"nominator_root_dividends",
"validator_alpha_dividends",
"validator_root_dividends",
"nominator_return_per_kt_alpha",
"nominator_return_per_kt_root"
],
"properties": {
"block_number": {
"type": "integer",
"format": "int32"
},
"day": {
"type": "string",
"format": "date"
},
"epochs": {
"type": "integer",
"format": "int32"
},
"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"
}
}
},
"name": {
"type": "string",
"nullable": true
},
"netuid": {
"type": "integer",
"format": "int32"
},
"nominator_alpha_dividends": {
"type": "string"
},
"nominator_return_per_kt_alpha": {
"type": "string"
},
"nominator_return_per_kt_root": {
"type": "string"
},
"nominator_root_dividends": {
"type": "string"
},
"take": {
"type": "string"
},
"tempo": {
"type": "integer",
"format": "int32"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"total_hotkey_alpha": {
"type": "string"
},
"total_hotkey_root": {
"type": "string"
},
"validator_alpha_dividends": {
"type": "string"
},
"validator_root_dividends": {
"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.