Place Order

post/api/prime/trading/v1/accounts/{accountId}/orders

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
clientOrderId string
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
product string required
Product name e.g. BTC-USD
type string required
Must be set to "market" to place a market order
fundingType string
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: margin funded
Default: funded
side string required
The side of the order
Allowed values: buy sell
Example: buy
quantity string <decimal>required
The quantity of the `quantityCurrency` to buy or sell.
quantityCurrency string required
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

id string <uuid>required
Unique identifier for the order. Used to reference the order in other endpoints.
accountId string required
The ID of the account
enterpriseId string required
initiatedByUserId string required
cancelledByUserId string required
clientOrderId string required
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
time string <date-time>required
creationDate string <date-time>required
scheduledDate string <date-time>required
Date to schedule the order. If not provided, the order will be placed immediately.
lastFillDate string <date-time>required
completionDate string <date-time>required
settleDate string <date-time>required
fundingType string required
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: margin funded
Default: funded
type string required
The type of order to be placed. See our [Trade Guide](/docs/trade-overview) for more details on each order type.
Allowed values: market twap limit steady_pace
timeInForce string required
Time in force policy for the order. GTC (Good Till Cancelled) is the only allowed value.
Allowed value: GTC
status string required
Allowed values: pending_open open completed pending_cancel canceled error scheduled
reason string required
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: internalError insufficientFunds
Example: insufficientFunds
reasonDescription string required
product string required
Product name e.g. BTC-USD (base-quote)
side string required
The side of the order
Allowed values: buy sell
Example: buy
quantity string <decimal>required
The specified quantity.
quantityCurrency string required
The specified quantity currency.
filledQuantity string <decimal>required
The total base quantity filled.
filledQuoteQuantity string <decimal>required
The total quote quantity filled.
leavesQuantity string <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.
leavesQuoteQuantity string <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.
averagePrice string <decimal>required
The average price for the order's trades.
limitPrice string <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
duration integer required
Duration of the order in minutes.
twapInterval integer required
Interval length of the TWAP order in minutes.
rtid string required
The request tracking ID associated with the order.
parameters object
isTimeSliced boolean
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.
boundsControl string
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: narrow standard wide
interval integer required
The interval for the SteadyPace order, specified in conjunction with the interval unit.
intervalUnit string required
The unit of time for the interval. Defaults to "minute".
Allowed values: second minute hour
subOrderSize string <decimal>required
The size of each sub-order in the SteadyPace order.
variance string <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.
notes string required
Additional notes associated with the order.

409 Response

error string required
errorName string required

default Response

error string required
errorName string required
reqId string required