Skip to main content

Get OTC Offer Detail

Returns one OTC offer, keyed by its deal ID within the token (the same key Accept and Cancel use), together with the user who made it and the latest accept or cancel acting on it. The token's node must be inside your API key's node subtree. To read the same offer by its own ID use Get OTC Offer by ID.

Required permission: otc:view

Request​

GET /v2/admin/otcs/tokens/{token_id}/deals/{deal_id}

Parameters​

NameTypeInDescription
token_idstringpathRequired. Token the offer is on (24-character hex)
deal_idintegerpathRequired. On-chain deal ID of the offer, greater than 0

Headers​

NameDescription
AuthorizationRequired. Bearer <access_token>

Example​

curl --request GET \
--url '{{baseUrl}}/v2/admin/otcs/tokens/68ae06cfcccf4e8fc19362d1/deals/2' \
--header 'Authorization: Bearer <access_token>'

Response​

{
"id": "6a8b5d02f9129816a6cc79f4",
"token_id": "68ae06cfcccf4e8fc19362d1",
"node_id": "6810a8e5b45680e7d2f95bad",
"user_id": "680c02896d91ca0145cfeb81",
"deal_id": 2,
"price": {
"amount": "5",
"decimal": 6,
"symbol": "USDT",
"address": "0x78fccec69e21dc0b331b59f283d4d5b41ff36654"
},
"quantity": 1,
"status": 1,
"created_at": "2026-08-23T17:41:22.913Z",
"updated_at": "2026-08-23T17:44:01.220Z",
"user": {
"id": "680c02896d91ca0145cfeb81",
"name": "Ada",
"surname": "Yılmaz",
"email": "ada@example.com"
},
"transaction": {
"id": "6a8b5e13f9129816a6cc7a12",
"type": 1,
"status": 3,
"hash": "0x9f2c1b7e4a0d3c5b6e8f1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f",
"error": null,
"message": null,
"created_at": "2026-08-23T17:43:31.004Z",
"updated_at": "2026-08-23T17:44:01.220Z"
}
}

Response Fields​

FieldTypeDescription
idstringThe offer's own ID
token_idstringToken ID
node_idstringNode of the offer
user_idstringUser who made the offer
deal_idintegerOn-chain deal ID, unique within the token contract
priceobjectUnit price: amount (decimal string), decimal, symbol, address of the currency
quantityintegerNumber of tokens offered
statusinteger0 open, 1 accepted, 2 cancelled, 3 rejected, 4 waiting for its on-chain creation to confirm
created_atstringWhen the offer was created
updated_atstringWhen the offer last changed
userobjectThe user who made the offer: id, email, and name / surname when set. Omitted when the user cannot be read
transactionobjectThe latest accept or cancel on the offer. Omitted while none has been started
transaction.idstringOTC transaction ID
transaction.typeinteger1 accept, 2 cancel
transaction.statusinteger1 Started, 2 InProgress, 3 Done, 4 Error, 5 PendingReceipt
transaction.hashstring or nullOn-chain transaction hash, once known
transaction.errorstring or nullFailure reason when status is 4
transaction.messagestring or nullReason given with a cancel, when there was one
transaction.created_atstringWhen the transaction was started
transaction.updated_atstringLast status change

transaction shows only the latest attempt; a failed accept can be retried. The full history is at List OTC Transactions.

Errors​

StatusCodeDescription
40010015Validation failed — see details. Includes a deal_id that is not a positive integer
40010016token_id is not a 24-character hex ID
40011001 (domain 11)No offer with this deal ID on this token
40010001 (domain 5)The offer's token was not found
40010001 (domain 2)The token's node was not found
40310005 (domain 2)The token's node is outside your API key's node subtree
50010000Unexpected server error

See Errors for the error format and common codes.