Admin List OTC Transactions
Every accept and cancel attempted on one offer, newest first.
Request
GET /v2/admin/otcs/{otc_id}/transactions
Parameters
| Name | Type | In | Description |
|---|---|---|---|
otc_id | string | path | Required. The offer's own ID (24-character hex) |
type | integer | query | Optional. 1 accepts only, 2 cancels only. Omit for both |
page | integer | query | Required. Page number, minimum 1 |
per_page | integer | query | Required. Items per page, 1–100 |
Headers
| Name | Type | Description |
|---|---|---|
Authorization | Required. Bearer token for authentication |
Example
curl --location '\{\{baseUrl\}\}/v2/admin/otcs/6a8b5d02f9129816a6cc79f4/transactions?page=1&per_page=20' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
Response
{
"data": [
{
"id": "6a8b5e13f9129816a6cc7a12",
"type": 1,
"status": 3,
"hash": "0x9f2c1b...",
"error": null,
"message": null,
"created_at": "2026-08-23T17:43:31.004Z",
"updated_at": "2026-08-23T17:44:01.220Z"
}
],
"total": 1,
"page": 1,
"per_page": 20
}
An offer nobody has acted on answers an empty page, not a refusal — the offer is there and still open.
Response Fields
| Field | Type | Description |
|---|---|---|
data[].id | string | The transaction ID |
data[].type | integer | 1 accept, 2 cancel |
data[].status | integer | 1 Started, 2 InProgress, 3 Done, 4 Error, 5 PendingReceipt |
data[].hash | string | On-chain transaction hash; filled in on Done, null before |
data[].error | string | Failure reason; filled in on Error, null otherwise |
data[].message | string | The reason given when a cancel was issued with one |
total | integer | Total transactions on the offer |
page | integer | Current page number |
per_page | integer | Items per page |
Status Codes
| Status Code | Description |
|---|---|
| 200 | Success - transactions retrieved |
| 400 | Bad Request - the ID is not a 24-character hex string, or no such offer |
| 401 | Unauthorized - invalid or missing authentication token |
| 500 | Internal Server Error |
Notes
- Get OTC Deal Detail embeds only the latest transaction, which is what describes the offer's current state. It cannot show that an accept failed twice before it settled — that is what this listing is for.
- Scoped by the offer rather than by the token: accept and cancel act on an offer, and a token's own transactions are listed at Get Token Transaction.