OnLink
API reference

Create a sell order (USDT in, KES out)

Consumes a sell quote and returns your deposit address. Payout is asynchronous: nothing is paid out until you attach the transaction hash of your USDT send with PATCH /v1/orders/{id} and the order reaches a terminal state. A signed webhook tells you when it settles; polling is the fallback. Retry-safe: creating twice with the same partnerReference returns the original order rather than a second one. Your deposit address is the same for every order, so we cannot tell your orders apart by it — the transaction hash is what attributes a deposit.

POST
/v1/orders/sell

Authorization

partner-key
X-OnLink-Key<token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/orders/sell" \  -H "Content-Type: application/json" \  -d '{    "quoteId": "string",    "partnerReference": "string",    "payoutAccountId": "string"  }'
{  "orderId": "3a7c1f90-8b2d-4e56-9a01-cd23ef456789",  "status": "awaiting_usdt",  "kesAmount": "1281000.00",  "usdtAmount": "10000.000000",  "rate": "128.1000",  "expiresAt": "2026-09-01T09:30:00.000Z",  "depositAddress": "TQiBwkXtUUNygiLdSwdeaZCKagwPsD1a7C",  "chain": "tron",  "sendBefore": "2026-09-01T09:30:00.000Z"}