Orders Messages
New Order Single
The NewOrderSingle message is used to submit a new order. Market and Limit orders are currently supported. Orders are routed using the default routing strategy. Specifying order strategy and algo parameters will be supported in a future release.
| Tag | Field Name | Req'd | Comments |
|---|---|---|---|
<MessageHeader> | Y | MsgType <35> = D | |
| 11 | ClOrdID | Y | Unique identifier for Order as assigned by the client. Must be <= 36 characters. UUIDs are recommended. |
| 55 | Symbol | Y | The symbol of the currency pair to place an order on. For example, BTC-USD |
| 54 | Side | Y | Side of order: 1 = Buy, 2 = Sell |
| 40 | OrdType | Y | Order type: 1 = Market, 2 = Limit, A = LimitAllIn, requested price/size includes fees |
| 38 | OrderQty | Y | Size of the order |
| 15 | Currency | N | The currency the quantity is specified in. If not specified, defaults to the base currency for the symbol. |
| 44 | Price | N | Price of the order. Required for limit orders. |
| 59 | TimeInForce | Y | Specifies how long the order remains in effect: 1 = Good Till Cancel (GTC), 3 = Immediate Or Cancel (IOC), 4 = Fill Or Kill (FOK) |
| 60 | TransactTime | Y | Business timestamp for this request. |
| 126 | ExpireTime | N | Optional expiration time for the order. Only valid on orders with TimeInForce=1 (GTC). UTC Timestamp. |
| 168 | EffectiveTime | N | Time at which this order will activate and begin sending orders to the market. UTC Timestamp. |
| 20030 | CancelOnDisconnect | N | Whether or not this order should be canceled when this session is disconnected, Y / N. Defaults to Y. |
<MessageTrailer> | Y |
Order Cancel Request
The OrderCancelRequest message is used to cancel an existing order.
| Tag | Field Name | Req'd | Comments |
|---|---|---|---|
<MessageHeader> | Y | MsgType <35> = F | |
| 11 | ClOrdID | Y | Unique ID of cancel request as assigned by the client. Must be <= 36 characters. UUIDs are recommended. |
| 41 | OrigClOrdID | Y | ClOrdID(11) of the previous non-rejected order. |
| 55 | Symbol | Y | The symbol of the currency pair of the order. For example, BTC-USD |
| 54 | Side | Y | Side of order: 1 = Buy, 2 = Sell |
| 60 | TransactTime | Y | Business timestamp for this request. |
<MessageTrailer> | Y |
Order Cancel Replace Request
The OrderCancelReplaceRequest message is used to amend the price, quantity, or markets for an existing order
| Tag | Field Name | Req'd | Comments |
|---|---|---|---|
<MessageHeader> | Y | MsgType <35> = G | |
| 11 | ClOrdID | Y | Unique ID of cancel request as assigned by the client. Must be <= 36 characters. UUIDs are recommended. |
| 41 | OrigClOrdID | Y | ClOrdID(11) of the previous non-rejected order. |
| 55 | Symbol | Y | The symbol of the currency pair of the order. For example, BTC-USD |
| 54 | Side | Y | Side of order: 1 = Buy, 2 = Sell |
| 40 | OrdType | Y | Order type: 1 = Market, 2 = Limit, A = LimitAllIn, requested price/size includes fees |
| 38 | OrderQty | Y | Size of the order |
| 44 | Price | N | Price of the order. Required for limit orders. |
| 60 | TransactTime | Y | Business timestamp for this request. |
<MessageTrailer> | Y |
Execution Report
The ExecutionReport message is used to acknowledge/reject an order or changes to an order, and to relay order status and fill updates
| Tag | Field Name | Req'd | Comments |
|---|---|---|---|
<MessageHeader> | Y | MsgType <35> = 8 | |
| 11 | ClOrdID | N | ClOrdID of the order. |
| 41 | OrigClOrdID | N | Set to the ClOrdID of the previous accepted order when responding to a Cancel or Cancel/Replace request |
| 37 | OrderID | Y | Unique identifier of most recent order as assigned by {{ Customer }}. |
| 55 | Symbol | Y | The symbol of the currency pair of the order. For example, BTC-USD |
| 54 | Side | Y | Side of order: 1 = Buy, 2 = Sell |
| 38 | OrderQty | Y | Size of the order |
| 44 | Price | N | Price of the order. Required for limit orders. |
| 60 | TransactTime | N | Business timestamp for this execution. |
| 17 | ExecID | Y | Unique identifier of execution message as assigned by {{ Customer }}. |
| 527 | SecondaryExecID | N | Unique identifier of execution message as assigned by the exchange or liquidity provider. Only specified when ExecType=Trade. |
| 150 | ExecType | Y | Describes the specific ExecutionRpt (e.g. Pending Cancel) while OrdStatus(39) will always identify the current order status (e.g. Partially Filled). 0 = New, 3 = Done for day, 4 = Canceled, 5 = Replaced, 6 = Pending Cancel (e.g. result of Order Cancel Request), 8 = Rejected, A = Pending New, E = Pending Replace (e.g. result of Order Cancel/Replace Request), F = Trade (partial fill or fill) |
| 59 | TimeInForce | Y | Specifies how long the order remains in effect: 1 = Good Till Cancel (GTC), 3 = Immediate Or Cancel (IOC), 4 = Fill Or Kill (FOK) |
| 40 | OrdType | Y | Order type: 1 = Market, 2 = Limit |
| 39 | OrdStatus | Y | Describes the current state of the order, same scope as OrderQty, CumQty, LeavesQty, and AvgPx: 0 = New, 1 = Partially filled, 2 = Filled, 3 = Done for day, 4 = Canceled, 6 = Pending Cancel (i.e. result of Order Cancel Request), 8 = Rejected, A = Pending New, E = Pending Replace (i.e. result of Order Cancel/Replace Request) |
| 151 | LeavesQty | Y | Quantity open for further execution. If the OrdStatus(39) is = 4 (Canceled), 3 (Done For Day), or 8 (Rejected) (in which case the order is no longer active) then LeavesQty(151) could be 0, otherwise LeavesQty(151) = OrderQty(38) - CumQty(14). |
| 14 | CumQty | Y | Currently executed quantity for chain of orders. |
| 6 | AvgPx | Y | Calculated average price of all fills on this order. |
| 103 | OrdRejReason | N | For optional use with ExecType = 8 (Rejected): 0 = Broker / Exchange option, 1 = Unknown symbol, 2 = Exchange closed, 3 = Order exceeds limit, 5 = Unknown order, 6 = Duplicate Order (e.g. dupe ClOrdID), 7 = Duplicate of a verbally communicated order, 8 = Stale order |
| 31 | LastPx | N | Price of this (last) fill. Required if ExecType(150) = F (Trade) |
| 32 | LastQty | N | Quantity bought/sold on this (last) fill. Required if ExecType(150) = F (Trade) |
| 381 | GrossTradeAmt | N | Last amount traded (i.e. quantity * price) expressed in units of counter currency. Required if ExecType(150) = F (Trade) |
| 4015 | CumAmt | N | Total amount traded (i.e. quantity * price) expressed in units of counter currency. |
| 4016 | CumFee | N | Total fee expressed in units of FeeCurrency. |
| 4033 | LastFee | N | Last fee expressed in units of FeeCurrency |
| 4034 | LastFeeCurrency | N | Currency of the Fee |
| 20030 | CancelOnDisconnect | N | Whether or not this order will be canceled when this session is disconnected, Y / N |
| 20032 | DecisionStatus | N | The current decision-status of the order: A = Active (default), P = Paused, U = Pending Pause, R = Pending Resume, W = Waiting for StartTime, T = Waiting for Trigger. Paused / Staged orders can be edited and resumed from the {{ Customer }} UI. Pending statuses are intermediate states. |
| 58 | Text | N | |
<MessageTrailer> | Y |
Order Cancel Reject
The OrderCancelReject message is used to reject invalid cancel or cancel/replace requests
| Tag | Field Name | Req'd | Comments |
|---|---|---|---|
<MessageHeader> | Y | MsgType <35> = 9 | |
| 11 | ClOrdID | Y | ClOrdID(11) which could not be canceled/replaced. |
| 41 | OrigClOrdID | Y | ClOrdID of the previous accepted order |
| 37 | OrderID | Y | Unique identifier of most recent order as assigned by {{ Customer }}. If CxlRejReason="Unknown order", then will be "NONE". |
| 60 | TransactTime | N | Business timestamp for this reject. |
| 39 | OrdStatus | Y | Identifies current status of order: 0 = New, 1 = Partially filled, 2 = Filled, 4 = Canceled, 6 = Pending Cancel (i.e. result of Order Cancel Request), 8 = Rejected, A = Pending New, E = Pending Replace (i.e. result of Order Cancel/Replace Request) |
| 434 | CxlRejResponseTo | Y | Identifies the type of request that a Cancel Reject is in response to: 1 = Order cancel request, 2 = Order cancel/replace request |
| 102 | CxlRejReason | N | Code to identify reason for cancel rejection: 0 = Too late to cancel, 1 = Unknown order, 2 = Broker / Exchange Option, 3 = Order already in Pending Cancel or Pending Replace status |
| 58 | Text | N | |
<MessageTrailer> | Y |
Updated 3 months ago
