A valid request URL is required to generate request examples{
"statusCode": 200,
"success": true,
"message": "Request processed successfully",
"data": {
"type": "NEW_ORDER",
"order": {
"id": "b9f266be-ebe9-41fc-a07f-57ad43dee26f",
"productId": "BTC-USD",
"side": "BUY",
"clientOrderId": "a1b2c3d4-e5f6-7890-abcd-ef0123456789",
"type": "MARKET",
"status": "OPEN",
"synced": false,
"createdAt": "2026-03-12T09:21:44.000Z",
"updatedAt": "2026-05-08T14:03:11.000Z",
"externalId": "8aa8b3e8-6f3d-4f9a-9c2a-2a5a8f9b1c3d",
"userId": "<string>",
"portfolioId": "<string>",
"baseQuantity": "0.50",
"quoteValue": "<string>",
"limitPrice": "50000.00",
"startTime": "2023-11-07T05:31:56Z",
"expiryTime": "2023-11-07T05:31:56Z",
"timeInForce": "<string>",
"filledQuantity": "<string>",
"filledValue": "<string>",
"averageFilledPrice": "<string>",
"commission": "<string>",
"exchangeFee": "<string>",
"historicalPov": "<string>",
"stopPrice": "<string>",
"netAverageFilledPrice": "<string>",
"userContext": "<string>",
"clientProductId": "<string>",
"postOnly": true,
"orderEditHistory": [
{}
],
"isRaiseExact": true,
"displaySize": "<string>",
"editHistory": [
{}
],
"displayQuoteSize": "<string>",
"displayBaseSize": "<string>",
"fees": "<string>",
"totalUserRecieveAmount": "<string>"
},
"message": "Duplicate order request detected."
}
}Place an order
Submits an order for the authenticated client. Supported types are
LIMIT, MARKET and STOP_LIMIT; the required fields vary by type
(a MARKET BUY is sized by quote_value, STOP_LIMIT adds stop_price).
Idempotency
Replays of the same client_order_id return the original order with
type=DUPLICATE_REPLAY instead of creating a new one.
A valid request URL is required to generate request examples{
"statusCode": 200,
"success": true,
"message": "Request processed successfully",
"data": {
"type": "NEW_ORDER",
"order": {
"id": "b9f266be-ebe9-41fc-a07f-57ad43dee26f",
"productId": "BTC-USD",
"side": "BUY",
"clientOrderId": "a1b2c3d4-e5f6-7890-abcd-ef0123456789",
"type": "MARKET",
"status": "OPEN",
"synced": false,
"createdAt": "2026-03-12T09:21:44.000Z",
"updatedAt": "2026-05-08T14:03:11.000Z",
"externalId": "8aa8b3e8-6f3d-4f9a-9c2a-2a5a8f9b1c3d",
"userId": "<string>",
"portfolioId": "<string>",
"baseQuantity": "0.50",
"quoteValue": "<string>",
"limitPrice": "50000.00",
"startTime": "2023-11-07T05:31:56Z",
"expiryTime": "2023-11-07T05:31:56Z",
"timeInForce": "<string>",
"filledQuantity": "<string>",
"filledValue": "<string>",
"averageFilledPrice": "<string>",
"commission": "<string>",
"exchangeFee": "<string>",
"historicalPov": "<string>",
"stopPrice": "<string>",
"netAverageFilledPrice": "<string>",
"userContext": "<string>",
"clientProductId": "<string>",
"postOnly": true,
"orderEditHistory": [
{}
],
"isRaiseExact": true,
"displaySize": "<string>",
"editHistory": [
{}
],
"displayQuoteSize": "<string>",
"displayBaseSize": "<string>",
"fees": "<string>",
"totalUserRecieveAmount": "<string>"
},
"message": "Duplicate order request detected."
}
}Authorizations
HMAC-SHA256 authentication. Sign every request and send X-API-KEY, X-API-SIGNATURE, X-API-TIMESTAMP and X-API-NONCE (see the Authentication guide). Each route also requires a specific claim on your API key (e.g. read:orders, write:orders, read:account, read:market-data).
Body
Order payload. Required fields depend on type (LIMIT, MARKET, STOP_LIMIT).
Order side.
BUY, SELL "BUY"
Order type. LIMIT, MARKET and STOP_LIMIT are accepted.
LIMIT, MARKET, STOP_LIMIT "LIMIT"
Base asset quantity (string-encoded decimal). Required for all orders except a MARKET BUY, which is sized by quote_value instead.
"0.50"
Client-generated idempotency key (UUID v4). Replays of the same value return the original order.
"a1b2c3d4-e5f6-7890-abcd-ef0123456789"
Trading pair id (e.g. BTC-USD, ETH-USDC).
"ETH-USDC"
Quote spend (string-encoded decimal). Required for a MARKET BUY (the amount of quote currency to spend); ignored otherwise.
"100.00"
Limit price (string-encoded decimal). Required for LIMIT and STOP_LIMIT orders; omitted for MARKET (executes at the prevailing price).
"3000.00"
Stop (trigger) price (string-encoded decimal). Required for STOP_LIMIT orders; ignored otherwise.
"2900.00"
Response
Order creation outcome. Inspect data.type to distinguish NEW_ORDER, DUPLICATE_REPLAY, and the *_EXECUTION_FAILED variants.
