Skip to content

List OTC alpha offers

GET /api/otc/offer/v2

Returns currently active and historical buy-side offers on the Taostats OTC desk. An offer is a buyer’s bid to buy alpha on a subnet at a price expressed as a basis-point offset from the current market price. The executed price is snapped at the moment a seller matches the offer. Pair with /api/otc/listing/v2 (sell-side) and /api/otc/trade/v2 (executed matches).

NameInTypeRequiredDescription
offer_idquerystringFilter by exact offer id.
buyerquerystringFilter by buyer coldkey (SS58).
netuidqueryintegerSubnet id.
statusqueryOffer lifecycle state: active, filled, cancelled, expired.
price_offset_bps_minqueryintegerMinimum offset from market price in basis points (signed).
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 offer was created at (inclusive).
created_block_endqueryintegerLatest block height the offer was created at (inclusive).
created_timestamp_startqueryintegerEarliest Unix timestamp (seconds) the offer was created at (inclusive).
created_timestamp_endqueryintegerLatest Unix timestamp (seconds) the offer was created at (inclusive).
pagequeryinteger1-based page number.
limitqueryintegerPage size (max 200).
orderquerySort order, e.g. created_block_desc.

Media: application/json

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