Skip to content

OTC lockup purchases

GET /api/otc/lockup/purchase/v1

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.

NameInTypeRequiredDescription
purchase_idquerystringFilter by purchase id.
listing_idquerystringFilter to purchases against a specific lockup listing.
buyerquerystringFilter by buyer coldkey (SS58).
sellerquerystringFilter by seller coldkey (SS58).
netuidqueryintegerSubnet id.
statusqueryPurchase lifecycle: pending (in escrow), claimed (released to buyer), cancelled.
unlock_block_startqueryintegerEarliest unlock block (inclusive).
unlock_block_endqueryintegerLatest unlock block (inclusive).
created_block_startqueryinteger
created_block_endqueryinteger
created_timestamp_startqueryinteger
created_timestamp_endqueryinteger
pagequeryinteger1-based page number.
limitqueryintegerPage size (max 200).
orderquerySort order, e.g. created_block_desc.

200 — Lockup purchases retrieved successfully

Section titled “200 — Lockup purchases retrieved successfully”

Media: application/json

Schema
{
"type": "object",
"required": [
"pagination",
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"purchase_id",
"listing_id",
"buyer",
"seller",
"netuid",
"alpha_amount",
"tao_amount",
"executed_price",
"fee",
"unlock_block",
"escrow_account",
"status",
"created_block",
"created_timestamp"
],
"properties": {
"alpha_amount": {
"type": "string"
},
"amount_claimed": {
"type": "string",
"nullable": true
},
"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"
}
}
},
"claimed_block": {
"type": "integer",
"format": "int32",
"nullable": true
},
"claimed_timestamp": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_block": {
"type": "integer",
"format": "int32"
},
"created_timestamp": {
"type": "string",
"format": "date-time"
},
"escrow_account": {
"type": "string"
},
"executed_price": {
"type": "string"
},
"fee": {
"type": "string"
},
"listing_id": {
"type": "string"
},
"netuid": {
"type": "integer",
"format": "int32"
},
"purchase_id": {
"type": "string"
},
"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"
},
"tao_amount": {
"type": "string"
},
"unlock_block": {
"type": "integer",
"format": "int32"
}
}
}
},
"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.