List Token OTC Offers
Lists the OTC offers on one token, newest first. The token's node must be inside your API key's node subtree. Offers still waiting for their on-chain creation to confirm are left out.
The node is no longer part of the path (a token already names its node) and the call is a GET with the paging in the query string.
Required permission: otc:view
Request
GET /v2/admin/otcs/tokens/{token_id}?page={page}&per_page={per_page}
Parameters
| Name | Type | In | Description |
|---|---|---|---|
token_id | string | path | Required. Token whose offers are listed (24-character hex) |
page | integer | query | Required. Page number, starting at 1 |
per_page | integer | query | Required. Items per page, 1–100 |
Headers
| Name | Description |
|---|---|
Authorization | Required. Bearer <access_token> |
Example
curl --request GET \
--url '{{baseUrl}}/v2/admin/otcs/tokens/68ae06cfcccf4e8fc19362d1?page=1&per_page=10' \
--header 'Authorization: Bearer <access_token>'
Response
{
"data": [
{
"id": "68bf5152932e6bcb90859816",
"token_id": "68ae06cfcccf4e8fc19362d1",
"node_id": "6810a8e5b45680e7d2f95bad",
"user_id": "680c02896d91ca0145cfeb81",
"deal_id": 2,
"price": {
"amount": "5",
"decimal": 6,
"symbol": "USDT",
"address": "0xdb2e8354c2a2a0f9c7c889ec27cdd424d49c8fd1"
},
"quantity": 1,
"status": 0,
"created_at": "2025-09-08T21:37:00Z",
"updated_at": "2025-09-08T21:37:00Z"
}
],
"total": 1,
"page": 1,
"per_page": 10
}
Response Fields
| Field | Type | Description |
|---|---|---|
data | array | Offers on this page |
data[].id | string | The offer's own ID. Use it with Get OTC Offer by ID and the transaction endpoints |
data[].token_id | string | Token ID |
data[].node_id | string | Node of the offer |
data[].user_id | string | User who made the offer |
data[].deal_id | integer | On-chain deal ID, unique within the token contract. Use it with accept, cancel and Get OTC Offer Detail |
data[].price | object | Unit price of the offer |
data[].price.amount | string | Price of one token, decimal string |
data[].price.decimal | integer | Decimals of the currency |
data[].price.symbol | string | Currency symbol |
data[].price.address | string | Currency contract address |
data[].quantity | integer | Number of tokens offered |
data[].status | integer | 0 open, 1 accepted, 2 cancelled, 3 rejected |
data[].created_at | string | When the offer was created |
data[].updated_at | string | When the offer last changed |
total | integer | Number of offers on the token |
page | integer | Current page |
per_page | integer | Items per page |
Errors
| Status | Code | Description |
|---|---|---|
| 400 | 10015 | Validation failed — see details |
| 400 | 10016 | token_id is not a 24-character hex ID |
| 400 | 10001 (domain 5) | Token not found |
| 400 | 10001 (domain 2) | The token's node was not found |
| 403 | 10005 (domain 2) | The token's node is outside your API key's node subtree |
| 500 | 10000 | Unexpected server error |
See Errors for the error format and common codes.