Skip to main content

REST API Trading - Place SPOT order

Place SPOT order

Written by Albert
Updated today

Place SPOT order

POST /frontoffice/api/v3/orders

Summary

Use this method to create and submit a new 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:

  • Buy

  • Sell

order.orderType string

The order type.

Possible values:

  • Market

  • Limit

order.timeInForce string

The time-in-force policy for the order, controlling its lifetime.

Possible values:

  • Gtc

  • Ioc

  • Fok

  • Gtd

  • Day

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.

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/orders HTTP/1.1
Host: {host}
Authorization: Bearer JWT
accountId: {accountId}
Content-Type: application/json

{
"order": {
"marketId": "spot.btc_usdt",
"side": "Buy",
"orderType": "Limit",
"timeInForce": "Gtc",
"requestedAmount": 0.02,
"requestedPrice": 115193.35
}
}

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.status string

The current order status.

Possible values:

  • Started

  • Pending

  • Working

  • Completed

  • Cancelled

  • Expired

  • Rejected

order.source string

The source of the order.

Possible values:

  • Manual β€” the order was created manually via UI or API.

order.timeInForce string

The time-in-force policy, same as in the request.

order.commission decimal string

The fee charged for the execution of the order, expressed in the quote asset.

Right after the order is created commission is 0.

order.requestedAmount decimal string

The quantity of the base asset to buy or sell, same as in the request.

order.remainingAmount decimal string

The amount of the base asset that remains unfilled.

order.requestedPrice decimal string | nullable

The limit price for Limit orders, same as in the request; null for market orders.

order.executionPrice decimal string

The volume-weighted average price at which the order was executed.

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.rejectDetails string

The reason and details for order rejection when status is Rejected. Currently unused and not populated.

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.

order.fillFactor decimal string

The ratio of the filled quantity to the originally requested quantity (filledAmount / requestedAmount).

Response example β€” 200: OK

{
"order": {
"marketId": "spot.btc_usdt",
"marketDisplayName": "SPOT BTC/USDT",
"orderId": "01K1ZTB4DB0S6Y2NH81S781BQX",
"orderType": "Limit",
"side": "Buy",
"status": "Pending",
"source": "Manual",
"timeInForce": "Gtc",
"commission": "0",
"requestedAmount": "0.02",
"remainingAmount": "0.02",
"requestedPrice": "115193.35",
"executionPrice": "0",
"createdAt": "2025-08-06T13:50:13.931Z",
"updatedAt": "2025-08-06T13:50:13.9325008Z",
"rejectDetails": "",
"cancellationDate": null,
"fillFactor": "0"
}
}


​

Did this answer your question?