Skip to content

OTC Listing Event History

GET /api/otc/listing/history/v2
Fills the fields below — runs automatically if your API key is saved.
Get a free API key →
curl

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.

NameInTypeRequiredDescription
listing_idquerystringFilter to events for one specific listing.
event_typequeryEvent type: created, updated, cancelled, filled, expired.
sellerquerystringFilter by seller coldkey (SS58).
buyerquerystringFilter to events that involved a specific buyer (e.g. filled events).
hotkeyquerystringFilter by hotkey the listing was for.
netuidqueryintegerSubnet id.
block_startqueryintegerEarliest block height (inclusive).
block_endqueryintegerLatest block height (inclusive).
timestamp_startqueryintegerEarliest Unix timestamp in seconds (inclusive).
timestamp_endqueryintegerLatest Unix timestamp in seconds (inclusive).
pagequeryinteger1-based page number.
limitqueryintegerPage size (max 200).
orderquerySort order, e.g. block_number_desc.

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"
}
}
}
}
}

All Taostats API requests require an Authorization header containing your API key. See Getting Started.