Places a new order. There are several types of orders available - Market, Limit, TWAP, and SteadyPace (the latter two optionally support a limit price).
Orders can be funded by your account balance or on margin.
When an order with funding type "funded" is placed, funds will be reserved from your Go account for the amount of the order. You must have sufficient available balance in your Go account to place a funded order.
When an order with funding type "margin" is placed, funds will be reserved from your Margin Trade Account. You must have sufficient available margin (NOP limit) to place a margin order.
See our Trade Guide for more details on each order type and funding options.
Path Parameters
accountIdstringRequired
The ID of the account
Request Body
One of
clientOrderIdstring
Custom order ID provided by the client. This must be a unique ID for each individual order and cannot be the same across multiple requests.
Can be used to ensure idempotency of order requests.
Max length: <= 256 characters
productstringrequired
Product name e.g. BTC-USD
typestringrequired
Must be set to "market" to place a market order
fundingTypestring
The funding type of the order.
- Funded orders will be placed using the Go account balance.
- Margin orders will be placed using the margin account balances.
See our [Trade Guide](/docs/trade-overview) for more details on each funding type.
Allowed values: marginfunded
Default: funded
sidestringrequired
The side of the order
Allowed values: buysell
Example: buy
quantitystring<decimal>required
The quantity of the `quantityCurrency` to buy or sell.
quantityCurrencystringrequired
The quantity currency for the order:
- Must be in base currency for sell orders.
- Must be in quote currency for buy orders with `fundingType: funded` (default funding type).
- Can be in base or quote currency for for buy orders with `fundingType: margin`.
e.g. If product is `BTC-USD`, the base currency will be `BTC` and the quote currency will be `USD`.
200 Response
idstring<uuid>required
Unique identifier for the order. Used to reference the order in other endpoints.
accountIdstringrequired
The ID of the account
enterpriseIdstringrequired
initiatedByUserIdstringrequired
cancelledByUserIdstringrequired
clientOrderIdstringrequired
Custom order ID provided by the client. This must be a unique ID for each individual order and cannot be the same across multiple requests.
Can be used to ensure idempotency of order requests.
Max length: <= 256 characters
timestring<date-time>required
creationDatestring<date-time>required
scheduledDatestring<date-time>required
Date to schedule the order. If not provided, the order will be placed immediately.
lastFillDatestring<date-time>required
completionDatestring<date-time>required
settleDatestring<date-time>required
fundingTypestringrequired
The funding type of the order.
- Funded orders will be placed using the Go account balance.
- Margin orders will be placed using the margin account balances.
See our [Trade Guide](/docs/trade-overview) for more details on each funding type.
Allowed values: marginfunded
Default: funded
typestringrequired
The type of order to be placed. See our [Trade Guide](/docs/trade-overview) for more details on each order type.
Allowed values: markettwaplimitsteady_pace
timeInForcestringrequired
Time in force policy for the order. GTC (Good Till Cancelled) is the only allowed value.
Reason for order cancellation. 'internalError' indicates an error occurred within the server while processing the order, resulting in an order cancellation. 'insufficientFunds' indicates that the order was cancelled due to shortage of funds to complete the transaction.
Allowed values: internalErrorinsufficientFunds
Example: insufficientFunds
reasonDescriptionstringrequired
productstringrequired
Product name e.g. BTC-USD (base-quote)
sidestringrequired
The side of the order
Allowed values: buysell
Example: buy
quantitystring<decimal>required
The specified quantity.
quantityCurrencystringrequired
The specified quantity currency.
filledQuantitystring<decimal>required
The total base quantity filled.
filledQuoteQuantitystring<decimal>required
The total quote quantity filled.
leavesQuantitystring<decimal>required
For orders created with base currency, this field is set to the remaining unfilled base quantity.
- Only one of leavesQuantity or leavesQuoteQuantity will be set.
- This field is set to null for orders created with quote currency.
leavesQuoteQuantitystring<decimal>required
For orders created with quote currency, this field is set to the remaining unfilled quote quantity.
- Only one of leavesQuantity or leavesQuoteQuantity will be set.
- This field is set to null for orders created with base currency.
averagePricestring<decimal>required
The average price for the order's trades.
limitPricestring<decimal>required
The limit price. It always refers to the quote currency.
- It's maximum precision is determined by the product's `quoteDisplayPrecision` field, which can be fetched from the list products endpoint.
Example: 10005.00
durationintegerrequired
Duration of the order in minutes.
twapIntervalintegerrequired
Interval length of the TWAP order in minutes.
rtidstringrequired
The request tracking ID associated with the order.
parametersobject
isTimeSlicedboolean
The isTimeSliced field when provided determines the order's time slicing behavior:
- If isTimeSliced is set to true, the order will be executed using a time-sliced strategy.
- If isTimeSliced is set to false, the order will be executed using a regular TWAP strategy without time slicing.
- If isTimeSliced is not specified, the default behavior uses a regular TWAP strategy without time slicing.
boundsControlstring
The boundsControl field when provided determines how strictly the TWAP order adheres to its target fill progression.
- narrow - within 3% or 3 minutes
- standard - within 5% or 5 minutes
- wide - within 7.5% or 7.5 minutes
- If boundsControl is not specified, the default behavior is `standard`.
Allowed values: narrowstandardwide
intervalintegerrequired
The interval for the SteadyPace order, specified in conjunction with the interval unit.
intervalUnitstringrequired
The unit of time for the interval. Defaults to "minute".
Allowed values: secondminutehour
subOrderSizestring<decimal>required
The size of each sub-order in the SteadyPace order.
variancestring<decimal>
Optional degree of randomization for sub-order sizes. Accepts a decimal value rounded to two decimal places between 0 and 1, representing the variation in the size of each sub-order.
For example, a value of 0.20 indicates a 20% variance in sub-order sizes.