Skip to content

List OTC alpha listings

GET /api/otc/listing/v2

Returns currently active and historical sell-side listings on the Taostats OTC desk. A listing is a seller’s offer to sell alpha for a subnet at a price expressed as a basis-point offset from the current market price (negative = discount, positive = premium). The executed price is snapped at the moment a buyer matches the listing.

Use this to discover available inventory, track listings by seller/hotkey/subnet, or filter by offset and amount bands. Pair with /api/otc/offer/v2 (buy-side) and /api/otc/trade/v2 (executed matches).

For the OTC marketplace UI see taostats.io/otc.

NameInTypeRequiredDescription
listing_idquerystringFilter by exact listing id (returned by previous calls or trade events).
sellerquerystringFilter by seller coldkey (SS58).
hotkeyquerystringFilter by the hotkey the alpha is delegated to.
netuidqueryintegerSubnet id. Listings are per-subnet.
statusqueryListing lifecycle state: active, filled, cancelled, expired.
price_offset_bps_minqueryintegerMinimum offset from market price in basis points (signed; e.g. -500 = 5% below market, +500 = 5% above).
price_offset_bps_maxqueryintegerMaximum offset from market price in basis points.
amount_minquerystringMinimum alpha amount in rao.
amount_maxquerystringMaximum alpha amount in rao.
created_block_startqueryintegerEarliest block height the listing was created at (inclusive).
created_block_endqueryintegerLatest block height the listing was created at (inclusive).
created_timestamp_startqueryintegerEarliest Unix timestamp (seconds) the listing was created at (inclusive).
created_timestamp_endqueryintegerLatest Unix timestamp (seconds) the listing was created at (inclusive).
pagequeryinteger1-based page number.
limitqueryintegerPage size (max 200).
orderquerySort order, e.g. created_block_desc, price_offset_bps_asc.

200 — Alpha listings retrieved successfully

Section titled “200 — Alpha listings retrieved successfully”

Media: application/json

Schema
{
"type": "object",
"required": [
"pagination",
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"listing_id",
"seller",
"hotkey",
"netuid",
"amount",
"price_offset_bps",
"status",
"force_cancelled",
"created_block",
"created_timestamp",
"updated_block",
"updated_timestamp"
],
"properties": {
"amount": {
"type": "string"
},
"created_block": {
"type": "integer",
"format": "int32"
},
"created_timestamp": {
"type": "string",
"format": "date-time"
},
"force_cancelled": {
"type": "boolean"
},
"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"
}
}
},
"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"
}
}
},
"status": {
"type": "string"
},
"updated_block": {
"type": "integer",
"format": "int32"
},
"updated_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"
}
}
}
}
}

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.