Documentation / API reference / OTC
OTC Lockup Purchases
Last reviewed 2026-09-18
Returns lockup purchases — the moments a buyer committed TAO into a lockup listing's escrow account. Each row records the escrow account, executed price, TAO + alpha amounts, fee, and the unlock_block after which the buyer can call claim to take possession of the alpha. Filter by status (pending, claimed, cancelled) to see what's still in escrow.
Try it
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
purchase_id | query | string | Filter by purchase id. | |
listing_id | query | string | Filter to purchases against a specific lockup listing. | |
buyer | query | string | Filter by buyer coldkey (SS58). | |
seller | query | string | Filter by seller coldkey (SS58). | |
netuid | query | integer (int32) | Subnet id. | |
status | query | string | Purchase lifecycle: pending (in escrow), claimed (released to buyer), cancelled. One of locked, claimed, all. | |
unlock_block_start | query | integer (int32) | Earliest unlock block (inclusive). | |
unlock_block_end | query | integer (int32) | Latest unlock block (inclusive). | |
created_block_start | query | integer (int32) | ||
created_block_end | query | integer (int32) | ||
created_timestamp_start | query | integer (int64) | ||
created_timestamp_end | query | integer (int64) | ||
page | query | integer (int32) | 1-based page number. | |
limit | query | integer (int32) | Page size (max 200). | |
order | query | string | Sort order, e.g. created_block_desc. One of created_asc, created_desc, unlock_block_asc, unlock_block_desc, alpha_amount_asc, alpha_amount_desc, tao_amount_asc, tao_amount_desc, executed_price_asc, executed_price_desc. |
Responses
200 — Lockup purchases retrieved successfully
| Field | Type | Required | Description |
|---|---|---|---|
data | array | Yes | |
data[].alpha_amount | string | Yes | |
data[].amount_claimed | string, nullable | ||
data[].buyer | object | Yes | |
data[].buyer.hex | string | Yes | The hex format of the hot key |
data[].buyer.ss58 | string | Yes | The SS58 format of the hot key |
data[].claimed_block | integer (int32), nullable | ||
data[].claimed_timestamp | string (date-time), nullable | ||
data[].created_block | integer (int32) | Yes | |
data[].created_timestamp | string (date-time) | Yes | |
data[].escrow_account | string | Yes | |
data[].executed_price | string | Yes | |
data[].fee | string | Yes | |
data[].listing_id | string | Yes | |
data[].netuid | integer (int32) | Yes | |
data[].purchase_id | string | Yes | |
data[].seller | object | Yes | |
data[].seller.hex | string | Yes | The hex format of the hot key |
data[].seller.ss58 | string | Yes | The SS58 format of the hot key |
data[].status | string | Yes | |
data[].tao_amount | string | Yes | |
data[].unlock_block | integer (int32) | Yes | |
pagination | object | Yes | |
pagination.current_page | integer (int32) | Yes | |
pagination.next_page | integer (int32), nullable | ||
pagination.per_page | integer (int32) | Yes | |
pagination.prev_page | integer (int32), nullable | ||
pagination.total_items | integer (int32) | Yes | |
pagination.total_pages | integer (int32) | Yes |
Other responses
| Status | Meaning |
|---|---|
400 | Bad request |
500 | Internal server error |
Every request needs an Authorization header holding your API key — see Getting started with the Taostats API.