OTC listing event history
Endpoint
Section titled “Endpoint”GET /api/otc/listing/history/v2Description
Section titled “Description”Returns the immutable event log for OTC sell-side listings: every created, updated, cancelled, filled, and expired event with block + extrinsic context. Use this for audit trails, price-discovery analytics, and seller activity reconstruction. For current state use /api/otc/listing/v2 instead.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
listing_id | query | string | Filter to events for one specific listing. | |
event_type | query | — | Event type: created, updated, cancelled, filled, expired. | |
seller | query | string | Filter by seller coldkey (SS58). | |
buyer | query | string | Filter to events that involved a specific buyer (e.g. filled events). | |
hotkey | query | string | Filter by hotkey the listing was for. | |
netuid | query | integer | Subnet id. | |
block_start | query | integer | Earliest block height (inclusive). | |
block_end | query | integer | Latest block height (inclusive). | |
timestamp_start | query | integer | Earliest Unix timestamp in seconds (inclusive). | |
timestamp_end | query | integer | Latest Unix timestamp 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. |
Responses
Section titled “Responses”200 — Alpha listing history retrieved successfully
Section titled “200 — Alpha listing history retrieved successfully”Media: application/json
Schema
{ "type": "object", "required": [ "pagination", "data" ], "properties": { "data": { "type": "array", "items": { "type": "object", "required": [ "id", "listing_id", "event_type", "seller", "hotkey", "netuid", "amount", "price_offset_bps", "block_number", "timestamp", "extrinsic_id" ], "properties": { "amount": { "type": "string" }, "amount_returned": { "type": "string", "nullable": true }, "block_number": { "type": "integer", "format": "int32" }, "buyer": { "allOf": [ { "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" } } } ], "nullable": true }, "event_type": { "type": "string" }, "executed_price": { "type": "string", "nullable": true }, "extrinsic_id": { "type": "string" }, "fee": { "type": "string", "nullable": true }, "force_cancelled": { "type": "boolean", "nullable": true }, "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" } } }, "id": { "type": "string" }, "initiated_by": { "type": "string", "nullable": true }, "listing_id": { "type": "string" }, "netuid": { "type": "integer", "format": "int32" }, "price_offset_bps": { "type": "integer", "format": "int32" }, "seller": { "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" } } }, "tao_amount": { "type": "string", "nullable": true }, "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”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.