Per-user OTC statistics
Endpoint
Section titled “Endpoint”GET /api/otc/user/stats/v2Description
Section titled “Description”Returns lifetime OTC statistics for a coldkey: total listings/offers created, trades as buyer/seller, and cumulative TAO + alpha volume. Filter by netuid for per-subnet breakdown. Useful for OTC desk leaderboards and per-trader reputation views.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
account | query | string | Coldkey (SS58) to query stats for. Required for meaningful results. | |
netuid | query | integer | Subnet id. Omit to aggregate across all subnets. | |
page | query | integer | 1-based page number. | |
limit | query | integer | Page size (max 200). | |
order | query | — | Sort order, e.g. total_volume_tao_desc. |
Responses
Section titled “Responses”200 — User statistics retrieved successfully
Section titled “200 — User statistics retrieved successfully”Media: application/json
Schema
{ "type": "object", "required": [ "pagination", "data" ], "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "account", "netuid", "total_listings_created", "total_offers_created", "total_trades_as_seller", "total_trades_as_buyer", "total_volume_tao", "total_volume_alpha", "last_activity_block", "last_activity_timestamp" ], "properties": { "account": { "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" } } }, "last_activity_block": { "type": "integer", "format": "int32" }, "last_activity_timestamp": { "type": "string", "format": "date-time" }, "netuid": { "type": "integer", "format": "int32" }, "total_listings_created": { "type": "integer", "format": "int32" }, "total_offers_created": { "type": "integer", "format": "int32" }, "total_trades_as_buyer": { "type": "integer", "format": "int32" }, "total_trades_as_seller": { "type": "integer", "format": "int32" }, "total_volume_alpha": { "type": "string" }, "total_volume_tao": { "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" } } } }}400 — Bad request
Section titled “400 — Bad request”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.