Place SPOT Stop order
POST /frontoffice/api/v3/stop-orders
Summary
Use this method to create and submit a new Stop order for SPOT markets.
Request
Header parameters
accountId required
The trading account identifier.
Body
order object
Order creation data.
order.marketId string
The market identifier, in the following format: {marketType}.{baseAssetId}_{quoteAssetId}, for example: spot.btc_usdt.
Must match one of the available markets returned by the Get markets endpoint.
order.side string
The order side, indicating the direction of the trade.
Possible values:
BuySell
order.orderType string
The order type.
Possible values:
MarketLimit
order.timeInForce string
The time-in-force policy for the order, controlling its lifetime.
Possible values:
GtcIocFokGtdDay
order.requestedAmount decimal string
The quantity of the base asset to buy or sell.
For Market orders, this represents the total base amount to fill; the executed amount may be lower if liquidity is insufficient.
order.requestedPrice decimal string | nullable
The limit price for Limit orders (the maximum price for a buy or minimum price for a sell).
Must be null or omitted for Market orders.
activationPrice decimal string | nullable
The trigger price that activates the Stop order.
order.cancellationDate string | nullable
For GTD orders: The date and time when the order will be automatically canceled if not executed, in the following format: YYYY-MM-DDTHH:MM:SS.sssZ.
Required if timeInForce is set to Gtd; ignored for other time-in-force values.
Request example
POST /frontoffice/api/v3/stop-orders HTTP/1.1
Host: {host}
Authorization: Bearer JWT
accountId: {accountId}
Content-Type: application/json; x-api-version=4.0
Accept: */*
{
"order": {
"marketId": "spot.btc_usdt",
"side": "Buy",
"orderType": "Market",
"activationPrice": 128000,
"requestedAmount": 0.01,
"timeInForce": "Ioc"
}
}
Response
In case of success, an object will be returned.
Each object contains the following information:
order object
The created order.
order.marketId string
The market identifier, same as in the request.
order.marketDisplayName string
The market ticker.
order.orderId string
The unique identifier of the order assigned by the system.
order.orderType string
The order type, same as in the request.
order.side string
The order side, same as in the request.
order.requestedPrice decimal string | nullable
The limit price for Limit orders, same as in the request; null for market orders.
activationPrice decimal string | nullable
The trigger price that activates the Stop order, same as in the request.
order.requestedAmount decimal string
The quantity of the base asset to buy or sell, same as in the request.
order.timeInForce string
The time-in-force policy, same as in the request.
order.status string
The current order status.
Possible values:
WaitingForActivationActivatedRejected
order.createdAt string
The timestamp when the order was created, in the following format: YYYY-MM-DDTHH:MM:SS.sssZ.
order.updatedAt string
The timestamp of the most recent update to the order, in the following format: YYYY-MM-DDTHH:MM:SS.sssZ.
order.cancellationDate string | nullable
The timestamp when the order was cancelled or expired, in the following format: YYYY-MM-DDTHH:MM:SS.sssZ; null if not cancelled.
Response example β 200: OK
{
"order": {
"marketId": "spot.btc_usdt",
"marketDisplayName": "SPOT BTC/USDT",
"orderId": "01K2MNC3BVR5WRTBEE9YWAS91K",
"orderType": "Market",
"side": "Buy",
"requestedPrice": "0",
"activationPrice": "128000",
"requestedAmount": "0.01",
"timeInForce": "Ioc",
"status": "WaitingForActivation",
"createdAt": "2025-08-14T16:07:25.8193038Z",
"updatedAt": "2025-08-14T16:07:25.8193044Z",
"cancellationDate": null
}
}
