Admin Get OTC Transaction
Reads one of an offer's transactions — the poll target for the transaction_id that Accept and Cancel hand back.
Request
GET /v2/admin/otcs/{otc_id}/transactions/{transaction_id}
Parameters
| Name | Type | In | Description |
|---|---|---|---|
otc_id | string | path | Required. The offer's own ID (24-character hex) |
transaction_id | string | path | Required. The transaction ID (24-character hex) |
Headers
| Name | Type | Description |
|---|---|---|
Authorization | Required. Bearer token for authentication |
Example
curl --location '\{\{baseUrl\}\}/v2/admin/otcs/6a8b5d02f9129816a6cc79f4/transactions/6a8b5e13f9129816a6cc7a12' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
Response
{
"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"
}
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | The transaction ID |
type | integer | 1 accept, 2 cancel |
status | integer | 1 Started, 2 InProgress, 3 Done, 4 Error, 5 PendingReceipt |
hash | string | On-chain transaction hash; filled in on Done, null before |
error | string | Failure reason; filled in on Error, null otherwise |
message | string | The reason given when a cancel was issued with one |
created_at | string | When the transaction was started |
updated_at | string | When it last changed state |
Status enum
| Value | Name | Meaning |
|---|---|---|
| 1 | Started | Recorded, not yet picked up |
| 2 | InProgress | Submitted to the chain |
| 3 | Done | Settled; hash is set |
| 4 | Error | Failed; error is set. Can be retried |
| 5 | PendingReceipt | Submitted, waiting for the chain receipt |
Status Codes
| Status Code | Description |
|---|---|
| 200 | Success - transaction retrieved |
| 400 | Bad Request - unknown transaction, or a transaction ID paired with an offer it does not belong to (code 10001, domain 22) |
| 401 | Unauthorized - invalid or missing authentication token |
| 500 | Internal Server Error |
Notes
- The offer is part of the key. A real transaction ID paired with somebody else's offer reads as absent rather than refused — which IDs exist elsewhere is not the caller's business either way.
- Before this endpoint existed, the
transaction_idreturned by accept and cancel could not be resolved anywhere.