Skip to main content

Derivatives FIX Order Entry Messages

The Coinbase Derivatives Exchange Order Entry FIX API for brokers and market makers allows connected firms to send, modify and cancel orders.

Order Entry Message Types

The Coinbase Derivatives Exchange Order Entry FIX API supports the following message and execution types:

Client Message Types
System Message and Execution Types
Admin Message Types

New Order Single (35=D)

Used to send new single-legged orders for execution.

tip

Messages are comprised of required (Y), optional (N) and conditionally required (C). Conditional fields are "pass-through," or required based on the presence or value of other fields.

TagNameFIX TypeReqDescription
1AccountString(12)YUnique ID representing the account.
11
ClOrdIDString(20)YUnique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order.
38OrderQtyInt(9)YOrder quantity. Must be a positive integer.
40OrdTypeChar(1)YOrder type. Market orders are not accepted during opening auction. See OrdType (40) code set.
44PricePrice(20)CPrice per single contract unit. Required for limit or stop-limit orders.
54SideChar(1)YSide of order. See Side (54) code set.
55SymbolString(24)YRepresents details of an instrument. Future Example: EUM20
167SecurityTypeString(6)YRepresents security type. See SecurityType (167) code set.
59TimeInForceChar(1)NRepresents how long the order remains in effect. Default is 59=0 (TimeInForce="Day"). For 59=3 (TimeInForce="FAK"), MinQty can also be specified. See TimeInForce (59) code set.
60TransactTimeUTCTimestamp(21)YTime when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds.
Example: 20091216-19:21:41.109
77PositionEffectChar(1)NOrder position effect. Default is 77=D (PositionEffect="Default"). See PositionEffect (77) code set.
99StopPxPrice(20)CStop price of the order. Required for stop and stop-limit orders.
18ExecInstCharNThe execution instruction flags for the order.

Supported values:
6 = Add Liquidity Only (Post Only)
110MinQtyInt(9)NMinimum quantity of an order to be executed. Used only when 59=3 (TimeInForce)="Fill and Kill").
528OrderCapacityChar(1)YCapacity of the firm placing the order (Agency=A/Principal=P). See OrderCapacity (528) code set.
210MaxShowQty(9)NMaximum quantity within an order to be shown in the order book at any given time.
432ExpireDateLocalMktDate(8)COrder expiration date, or the last day the order can trade. YYYYMMDD format. Required only if 59=6 (TimeInForce="Good Till Date").
1028ManualOrderIndicatorBoolean(1)YRepresents whether or not the order was generated manually (Y) or automatically (N) with trading software. See ManualOrderIndicator (1028) code set.
1031CustOrderHandlingInstString(1)YSource of the original order. See CustOrderHandlingInst (1031) code set.
7928SelfMatchPreventionIDInt(8)CUnique ID (per executing firm) representing two orders that should not match. Required when market participants enable SelfMatch Prevention. Max length is 8 digits.
8000SelfMatchPreventionStrategyChar(1)NRepresents type of cancel instruction when SelfMatch Prevention is triggered. Client systems must also include SelfMatchPreventionID (7928) on the originating message. See SelfMatchPreventionStrategy (8000) code set.
582CustOrderCapacityInt(1)YCustomer capacity represented by Customer Type Indicator (CTI) Code (1-4). See CustOrderCapacity (582) code set.
LIMIT order example
### Example: LIMIT order
BeginString = FIX.4.4
BodyLength = …
MsgType = D
MsgSeqNum = 3
PossDupFlag =
SenderCompID = EBR123
SenderSubID = smithj
SendingTime = 20191202-10:15:41.383
TargetCompID = COIND
TargetSubID = TEST
Account = C123
ClOrdID = 314bb362:109f840f9c0
Symbol=EUM20
SecurityType=FUT
OrderQty = 100
OrdType = 2
Price = 1.10317
Side = 1
TimeInForce = 0
TransactTime = 20171102-10:15:40.383
PositionEffect = O
CustomerOrFirm = 0
OrderCapacity = A
ManualOrderIndicator = Y
CustOrderHandlingInst = Y
SelfMatchPreventionID = 12347565
SelfMatchPreventionStrategy = N
CTICode = 4
CheckSum = …

Green Check Return to Order Entry Message Types.


Order Cancel Request (35=F)

A firm may use this message to cancel the remaining quantity of any working single or multi-leg order.

TagNameFIX TypeReqDescription
1AccountString(12)YUnique ID representing the account.
11
ClOrdIDString(20)YUnique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order.
37OrderIDString(17)YUnique exchange ID representing the order.
41OrigClOrdIDString(20)NLast accepted ClOrdID in the order chain.
54SideChar(1)YSide of order. See Side (54) code set.
55SymbolString(24)YRepresents details of an instrument. Future Example: EUM20
167SecurityTypeString(6)YRepresents security type. See SecurityType (167) code set.
60TransactTimeUTCTimestamp(21)YTime when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds.
Example: 20091216-19:21:41.109
1028ManualOrderIndicatorBoolean(1)YRepresents whether or not the order was generated manually (Y) or automatically (N) with trading software. See ManualOrderIndicator (1028) code set.
CANCEL order example
# Example: Cancel order request
BeginString = FIX.4.4
BodyLength = …
MsgType = F
MsgSeqNum = 6
PossDupFlag =
SenderCompID = EBR123
SenderSubID = smithj
SendingTime = 20191202-10:15:41.383
TargetCompID = COIND
TargetSubID = TEST
Account = C123
ClOrdID = 65780bfc:901n328943d
OrderID = 5038
OrigClOrdID = 71fa0cda:109f847292d Side = 1
Symbol = EUM20
SecurityType = FUT
TransactTime = 20171102-10:22:24.725
ManualOrderIndicator = Y
CheckSum = …

Green Check Return to Order Entry Message Types.


Order Cancel/Replace Request (35=G)

A firm may use this message to replace an order. The following restrictions exist:

  • Triggered Stop and Stop-Limit orders cannot be replaced, only canceled.
  • Time in Force cannot be changed.
  • If a field cannot be changed, the replacing order gets rejected.
  • If the replaced-OrderQty is less than or equal to Total Fill Qty, then the Order is canceled.
TagNameFIX TypeReqDescription
1AccountString(12)YUnique ID representing the account.
Caution: If the Account value is changed from the original value submitted in the New Order message, the order loses priority in the order book.
11
ClOrdIDString(20)YUnique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order.
37OrderIDString(17)YUnique exchange ID representing the order.
38OrderQtyInt(9)YOrder quantity. Must be a positive integer.
Caution: If OrderQty is reduced from the original value submitted in the New Order message, the order will maintain priority in the order book. If this value is increased, the order will lose priority on the order book.
40OrdTypeChar(1)YOrder type. Market orders are not accepted during opening auction. See OrdType (40) code set.
41OrigClOrdIDString(20)NLast accepted ClOrdID in the order chain.
44PricePrice(20)CPrice per single contract unit. Required for limit or stop-limit orders.
54SideChar(1)YSide of order. See Side (54) code set.
55SymbolString(24)YRepresents details of an instrument. Future Example: EUM20
167SecurityTypeString(6)NRepresents security type. See SecurityType (167) code set.
59TimeInForceChar(1)NRepresents how long the order remains in effect. Default is 59=0 (TimeInForce="Day"). For 59=3 (TimeInForce="FAK"), MinQty can also be specified. See TimeInForce (59) code set.
60TransactTimeUTCTimestamp(21)YTime when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds.
Example: 20091216-19:21:41.109
77PositionEffectChar(1)NOrder position effect. Default is 77=D (PositionEffect="Default"). See PositionEffect (77) code set.
99StopPxPrice(20)CStop price of the order. Required for stop and stop-limit orders.
Caution: If the StopPx value is changed from the original value submitted in the New Order message, the order loses priority in the order book.
528OrderCapacityChar(1)YCapacity of the firm placing the order (Agency=A/Principal=P). See OrderCapacity (528) code set.
210MaxShowQty(9)NMaximum quantity within an order to be shown in the order book at any given time.
Caution: If the MaxShow value is changed from the original value submitted in the New Order message, the order loses priority in the order book.
432ExpireDateLocalMktDate(8)COrder expiration date, or the last day the order can trade. YYYYMMDD format. Required only if 59=6 (TimeInForce="Good Till Date").
1028ManualOrderIndicatorBoolean(1)YRepresents whether or not the order was generated manually (Y) or automatically (N) with trading software. See ManualOrderIndicator (1028) code set.
1031CustOrderHandlingInstString(1)YSource of the original order. See CustOrderHandlingInst (1031) code set.
7928SelfMatchPreventionIDInt(8)CUnique ID (per executing firm) representing two orders that should not match. Required when market participants enable SelfMatch Prevention. Max length is 8 digits.
8000SelfMatchPreventionStrategyChar(1)NRepresents type of cancel instruction when SelfMatch Prevention is triggered. Client systems must also include SelfMatchPreventionID (7928) on the originating message. See SelfMatchPreventionStrategy (8000) code set.
582CustOrderCapacityInt(1)YCustomer capacity represented by Customer Type Indicator (CTI) Code (1-4). See CustOrderCapacity (582) code set.
Cancel/Replace LIMIT order example
# Example: Cancel/Replace LIMIT order request
BeginString = FIX.4.4
BodyLength = …
MsgType = G
MsgSeqNum = 15
PossDupFlag =
SenderCompID = EBR123
SenderSubID = smithj
SendingTime = 20191202-10:15:41.383
TargetCompID = COIND
TargetSubID = TEST
Account = C123
ClOrdID = 71fa0cda:109f847292d:-7ffe
OrderID = 5095
OrderQty = 150
OrdType = 2
OrigClOrdID = 71fa0cda:109f847292d:-7ffd
Price = 1.10317
Side = 1
Symbol=EUM20
SecurityType=FUT
TimeInForce = 2
TransactTime = 20191102-10:22:21.725
PositionEffect = O
OrderCapacity = A
ManualOrderIndicator = Y
CustOrderHandlingInst = Y
SelfMatchPreventionID = 12345678
SelfMatchPreventionStrategy = N
CTICode = 4
CheckSum = …

Green Check Return to Order Entry Message Types.


Execution Report (35=8)

New/Canceled/Replaced Order (35=8, 150=0/4/5)

New (150=0), Canceled (150=4), and Replaced (150=5) reports share the same subset of Execution Report tags.

  • New (150=0): Confirms new order in response to NewOrderSingle message. Sent for every new order, even those matched immediately.
  • Canceled (150=4): Confirms order is canceled in response to OrderCancelRequest, or is an unsolicited cancel. A separate message is not sent for the canceled order itself.
  • Replaced (150=5): Confirms order is replaced in response to OrderCancel/ReplaceRequest. A separate message is not sent for the replaced order itself.
note

These reports were formerly grouped as "Accepted" in the PDF docs.

TagNameFIX TypeReqDescription
1AccountString(12)YUnique ID representing the account.
11ClOrdIDString(20)YUnique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order.
14CumQtyInt(9)YCumulated traded quantity throughout lifespan of an order.
17ExecIDString(40)YUnique exchange ID representing the trade execution.
37OrderIDString(17)YUnique exchange ID representing the order.
38OrderQtyInt(9)YOrder quantity.
39OrdStatusChar(1)YRepresents order status, "New", "Canceled", or "Modify" (replaced). See OrdStatus (39) code set.
  • 0 = New
  • 4 = Canceled
  • 5 = Modify
40OrdTypeChar(1)YOrder type. Market orders are not accepted during opening auction. See OrdType (40) code set.
41OrigClOrdIDString(20)NLast accepted ClOrdID in the order chain.
44PricePrice(20)CPrice per single contract unit. Required for limit or stop-limit orders.
54SideChar(1)YSide of order. See Side (54) code set.
55SymbolString(24)YRepresents details of an instrument. Future Example: EUM20
167SecurityTypeString(6)NRepresents security type. See SecurityType (167) code set.
59TimeInForceChar(1)NRepresents how long the order remains in effect. Default is 59=0 (TimeInForce="Day"). For 59=3 (TimeInForce="FAK"), MinQty can also be specified. See TimeInForce (59) code set.
60TransactTimeUTCTimestamp(21)YTime when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds.
Example: 20091216-19:21:41.109
99StopPxPrice(20)CStop price of the order. Required for stop and stop-limit orders.
110MinQtyInt(9)NMinimum quantity of an order to be executed. Used only when 59=3 (TimeInForce)="Fill and Kill").
150ExecTypeChar(1)YRepresents execution type, New (150=0), Canceled (150=4), or Replaced (150=5). See ExecType (150) code set.
151LeavesQtyint(9)YNumber of contracts remaining for execution.
18ExecInstCharNThe execution instruction flags for the order.

Supported values:
6 = Add Liquidity Only (Post Only)
528OrderCapacityChar(1)CCapacity of the firm placing the order (Agency=A/Principal=P). Pass through field from/when present in New Order Single (35=D). See OrderCapacity (528) code set.
210MaxShowQty(9)NMaximum quantity within an order to be shown in the order book at any given time.
378ExecRestatementReasonInt(3)NReason why the order was canceled by the system (e.g., cancel on disconnect, self-match prevention, etc.). See ExecRestatementReason (378) code set.
432ExpireDateLocalMktDate(8)COrder expiration date, or the last day the order could trade.
1028ManualOrderIndicatorBoolean(1)YRepresents whether or not the order was generated manually (Y) or automatically (N) with trading software. See ManualOrderIndicator (1028) code set.
1031CustOrderHandlingInstString(1)YSource of the original order. See CustOrderHandlingInst (1031) code set.
5979RequestTimeInt(20)NTime when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss.
7928SelfMatchPreventionIDInt(8)CUnique ID (per executing firm) representing two orders that should not match. Required when market participants enable SelfMatch Prevention. Max length is 8 digits.
8000SelfMatchPreventionStrategyChar(1)NRepresents type of cancel instruction when SelfMatch Prevention is triggered. Client systems must also include SelfMatchPreventionID (7928) on the originating message. See SelfMatchPreventionStrategy (8000) code set.

Green Check Return to Order Entry Message Types.


Rejected Order (35=8, 150=8)

Message notifies client system of a rejected order.

TagNameFIX TypeReqDescription
1AccountString(12)YUnique ID representing the account.
11
ClOrdIDString(20)YUnique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order.
14CumQtyInt(9)YCumulated traded quantity throughout lifespan of an order.
17ExecIDString(40)YUnique exchange ID representing the trade execution.
37OrderIDString(17)YUnique exchange ID representing the order.
38OrderQtyInt(9)COrder quantity.
39OrdStatusChar(1)YRepresents order status, "Rejected" (8). See OrdStatus (39) code set.
40OrdTypeChar(1)YOrder type such as market, limit, etc. See OrdType (40) code set.
41OrigClOrdIDString(20)NLast accepted ClOrdID in the order chain.
44PricePrice(20)CPrice per single contract unit.
54SideChar(1)YSide of order. See Side (54) code set.
55SymbolString(20)YRepresents details of an instrument. Future Example: EUM20.
167SecurityTypeString(6)NRepresents security type. See SecurityType (167) code set.
58TextString(200)NError code message. See OrdRejReason (103) code set.
59TimeInForceChar(1)NRepresents how long the order remains in effect. Default is 59=0 (TimeInForce="Day"). For 59=3 (TimeInForce="FAK"), MinQty can also be specified. See TimeInForce (59) code set.
60TransactTimeUTCTimeStamp(21)YTime when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds.
Example: 20091216-19:21:41.109
75TradeDateLocalMktDate(8)YDate of trading day, local time in YYYYMMDD format. When absent, represents the current day.
103OrdRejReasonInt(6)NError code. See OrdRejReason (103) code set.
150ExecTypeChar(1)YRepresents execution type, "Rejected" (150=8). See ExecType (150) code set.
151LeavesQtyInt(9)CNumber of contracts remaining for execution. Always 151=0.
18ExecInstCharNThe execution instruction flags for the order.

Supported values:
6 = Add Liquidity Only (Post Only)
528OrderCapacityChar(1)CCapacity of the firm placing the order (Agency=A/Principal=P). Pass through field from/when present in New Order Single (35=D). See OrderCapacity (528) code set.
1028ManualOrderIndicatorBoolean(1)YRepresents whether or not the order was generated manually (Y) or automatically (N) with trading software. See ManualOrderIndicator (1028) code set.
1031CustOrderHandlingInstString(1)YSource of the original order. See CustOrderHandlingInst (1031) code set.

Green Check Return to Order Entry Message Types.


Trade (35=8, 150=F)

Sent by the Coinbase Derivatives Exchange system to report a trade.

note

A new order rests on the order book, unmatched. A trade is a matched order, and if totally filled, no longer rests on the order book.

TagNameFIX TypeReqDescription
1AccountString(12)YUnique ID representing the account.
11ClOrdIDString(20)YUnique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order.
14CumQtyInt(9)YCumulated traded quantity throughout lifespan of an order.
17ExecIDString(40)YUnique exchange ID representing the trade execution.
880TrdMatchIDString (20)YUnique exchange ID representing a match event that results in multiple executions or trades.
31LastPxPrice(20)YPrice at which order was filled.
32LastQtyInt(9)YQuantity filled.
37OrderIDString(17)YUnique exchange ID representing the order.
38OrderQtyInt(9)COrder quantity.
39OrdStatusChar(1)YRepresents order status, "Partial Fill" (1) or "Complete Fill" (2). See OrdStatus (39) code set.
40OrdTypeChar(1)YOrder type such as market, limit, etc. See OrdType (40) code set.
41OrigClOrdIDString(20)NLast accepted ClOrdID in the order chain.
44PricePrice(20)CPrice per single contract unit.

For Execution Report messages sent in response to Market or Stop orders (with protection), Price is the Protection Price Limit (best available price +/- protection points).
If the order is not completely filled, the remaining open quantity rests on the order book at the Protection Price Limit.
Note: For spread trade Execution Reports, Price (44) is sent in the Execution Report – Fill Notice (35=8, 39=1 or 2) for the spread only and not the legs of the spread.
6AvgPxPrice(20)CCalculated average price of all fills on this order.
54SideChar(1)YSide of order. See Side (54) code set.
55SymbolString(24)YRepresents details of an instrument. Future Example: EUM20.
167SecurityTypeString(6)NRepresents security type. See SecurityType (167) code set.
59TimeInForceChar(1)NRepresents how long the order remains in effect. Default is 59=0 (TimeInForce="Day"). For 59=3 (TimeInForce="FAK"), MinQty can also be specified. See TimeInForce (59) code set.
60TransactTimeUTCTimeStamp(21)YTime when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds.
Example: 20091216-19:21:41.109
75TradeDateLocalMktDate(8)YDate of trading day, local time in YYYYMMDD format. When absent, represents the current day.
150ExecTypeChar(1)YRepresents execution type, "Trade" (150=F). See ExecType (150) code set.
151LeavesQtyInt(9)CNumber of contracts remaining for execution after this fill.
393TotalNumSecuritiesInt(3)NNumber of leg fill acknowledgment messages sent with spread summary. Sent for spread fill messages only.
442MultiLegReportingTypeInt(1)NRepresents acknowledgment of Outright, Leg of Spread, and Spread. See MultiLegReporting (442) code set.
527SecondaryExecIDString(40)CUnique exchange ID representing link between spread summary fill notice with leg fill notice and trade cancel messages.
18ExecInstCharNThe execution instruction flags for the order.

Supported values:
6 = Add Liquidity Only (Post Only)
528OrderCapacityChar(1)YCapacity of the firm placing the order (Agency=A/Principal=P). See OrderCapacity (528) code set.
1028ManualOrderIndicatorBoolean(1)YRepresents whether or not the order was generated manually (Y) or automatically (N) with trading software. See ManualOrderIndicator (1028) code set.
1031CustOrderHandlingInstString(1)YSource of the original order. See CustOrderHandlingInst (1031) code set.
1057AggressorIndicatorChar(1)CRepresents the order as incoming or resting for the match event. See AggressorIndicator (1057) code set.
5979RequestTimeInt(20)NTime when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss.

Green Check Return to Order Entry Message Types.


Stop Triggered (35=8, 150=L)

Sent when a stop order is triggered.

TagNameFIX TypeReqDescription
1AccountString(12)YUnique ID representing the account.
11
ClOrdIDString(20)YUnique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order.
14CumQtyInt(9)YCumulated traded quantity throughout lifespan of an order.
17ExecIDString(40)YUnique exchange ID representing the trade execution.
37OrderIDString(17)YUnique exchange ID representing the order.
38OrderQtyInt(9)YOrder quantity.
39OrdStatusChar(1)YRepresents order status, "New" (accepted), "Canceled", or "Modify" (replaced). See OrdStatus (39) code set.
  • 0 = New
  • 4 = Canceled
  • 5 = Modify
40OrdTypeChar(1)YOrder type. Market orders are not accepted during opening auction. See OrdType (40) code set.
41OrigClOrdIDString(20)NLast accepted ClOrdID in the order chain.
44PricePrice(20)CPrice per single contract unit. Required for limit or stop-limit orders.
54SideChar(1)YSide of order. See Side (54) code set.
55SymbolString(20)YRepresents details of an instrument. Future Example: EUM20
167SecurityTypeString(6)NRepresents security type. See SecurityType (167) code set.
59TimeInForceChar(1)NRepresents how long the order remains in effect. Default is 59=0 (TimeInForce="Day"). For 59=3 (TimeInForce="FAK"), MinQty can also be specified. See TimeInForce (59) code set.
60TransactTimeUTCTimestamp(21)YTime when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds.
Example: 20091216-19:21:41.109
99StopPxPrice(20)CStop price of the order. Required for stop and stop-limit orders.
150ExecTypeChar(1)YRepresents execution type, "Stop Triggered" (150=L). See ExecType (150) code set.
151LeavesQtyint(9)YNumber of contracts remaining for execution.
210MaxShowQty(9)NMaximum quantity within an order to be shown in the order book at any given time.
378ExecRestatementReasonInt(3)NReason why the order was canceled by the system (e.g., cancel on disconnect, self-match prevention, etc.). See ExecRestatementReason (378) code set.
432ExpireDateLocalMktDate(8)COrder expiration date, or the last day the order could trade.
1028ManualOrderIndicatorBoolean(1)YRepresents whether or not the order was generated manually (Y) or automatically (N) with trading software. See ManualOrderIndicator (1028) code set.
1031CustOrderHandlingInstString(1)YSource of the original order. See CustOrderHandlingInst (1031) code set.
5979RequestTimeInt(20)NTime when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss.
7928SelfMatchPreventionIDInt(8)CUnique ID (per executing firm) representing two orders that should not match. Required when market participants enable SelfMatch Prevention. Max length is 8 digits.
8000SelfMatchPreventionStrategyChar(1)NRepresents type of cancel instruction when SelfMatch Prevention is triggered. Client systems must also include SelfMatchPreventionID (7928) on the originating message. See SelfMatchPreventionStrategy (8000) code set.

Green Check Return to Order Entry Message Types.


Done for Day (35=8, 150=3)

Reports with execution type Done for Day (150=3) are sent by the exchange to the firms that need the status of their open orders after the trading session is closed.

TagNameFIX TypeReqDescription
1AccountString(12)YUnique ID representing the account.
11
ClOrdIDString(20)YUnique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order.
14CumQtyInt(9)YCumulated traded quantity throughout lifespan of an order.
17ExecIDString(40)YUnique exchange ID representing the trade execution.
37OrderIDString(17)YUnique exchange ID representing the order.
38OrderQtyInt(9)COrder quantity.
39OrdStatusChar(1)YRepresents order status, "Done for the Day" (39=3). See OrdStatus (39) code set.
40OrdTypeChar(1)YOrder type such as market, limit, etc. See OrdType (40) code set.
41OrigClOrdIDString(20)NLast accepted ClOrdID in the order chain.
44PricePrice(20)CPrice per single contract unit.
54SideChar(1)YSide of order. See Side (54) code set.
55SymbolString(24)YRepresents details of an instrument. Future Example: EUM20
167SecurityTypeString(6)NRepresents security type. See SecurityType (167) code set.
59TimeInForceChar(1)NRepresents how long the order remains in effect. Default is 59=0 (TimeInForce="Day"). For 59=3 (TimeInForce="FAK"), MinQty can also be specified. See TimeInForce (59) code set.
60TransactTimeUTCTimeStamp(21)YTime when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds.
Example: 20091216-19:21:41.109
75TradeDateLocalMktDate(8)YDate of trading day, local time in YYYYMMDD format. When absent, represents the current day.
150ExecTypeChar(1)YRepresents execution type, "Done for Day" (150=3). See ExecType (150) code set.
151LeavesQtyInt(9)CNumber of contracts remaining for execution.
1028ManualOrderIndicatorBoolean(1)YRepresents whether or not the order was generated manually (Y) or automatically (N) with trading software. See ManualOrderIndicator (1028) code set.
1031CustOrderHandlingInstString(1)YSource of the original order. See CustOrderHandlingInst (1031) code set.
5979RequestTimeInt(20)NTime when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss.

Green Check Return to Order Entry Message Types.


Expired Order (35=8, 150=C)

Reports with execution type Expired (150=C) are sent by the exchange to the firms that need the track the expiration of their time-limited orders (such as DAY).

TagNameFIX TypeReqDescription
1AccountString(12)YUnique ID representing the account.
11
ClOrdIDString(20)YUnique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order.
14CumQtyInt(9)YCumulated traded quantity throughout lifespan of an order.
17ExecIDString(40)YUnique exchange ID representing the trade execution.
37OrderIDString(17)YUnique exchange ID representing the order.
38OrderQtyInt(9)YOrder quantity. Must be a positive integer.
39OrdStatusChar(1)YRepresents order status, "Expired" (C). See OrdStatus (39) code set.
40OrdTypeChar(1)YOrder type such as market, limit, etc. See OrdType (40) code set.
41OrigClOrdIDString(20)NLast accepted ClOrdID in the order chain.
44PricePrice(20)NPrice per single contract unit.
54SideChar(1)YSide of order. See Side (54) code set.
55SymbolString(20)YRepresents details of an instrument. Future Example: EUM20
167SecurityTypeString(6)NRepresents security type. See SecurityType (167) code set.
59TimeInForceChar(1)NRepresents how long the order remains in effect. Default is 59=0 (TimeInForce="Day"). For 59=3 (TimeInForce="FAK"), MinQty can also be specified. See TimeInForce (59) code set.
60TransactTimeUTCTimestamp(21)NTime when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds.
Example: 20091216-19:21:41.109
110MinQtyInt(9)CSent in the Order Elimination message if the originating order was a FAK/FOK/MinQty that contained tag MinQty (110).
150ExecTypeChar(1)YRepresents execution type, "Expired" (150=C). See ExecType (150) code set.
151LeavesQtyInt(9)YNumber of contracts remaining for execution. Always 151=0.
378ExecRestatementReasonInt(3)NReason why the order was canceled by the system (e.g., cancel on disconnect, self-match prevention, etc.). See ExecRestatementReason (378) code set.
528OrderCapacityChar(1)CCapacity of the firm placing the order (Agency=A/Principal=P). Pass through field from/when present in New Order Single (35=D). See OrderCapacity (528) code set.
1028ManualOrderIndicatorBoolean(1)YRepresents whether or not the order was generated manually (Y) or automatically (N) with trading software. See ManualOrderIndicator (1028) code set.
1031CustOrderHandlingInstString(1)YSource of the original order. See CustOrderHandlingInst (1031) code set.
7928SelfMatchPreventionIDInt(8)NUnique ID (per executing firm) representing two orders that should not match. Required when market participants enable SelfMatch Prevention. Max length is 8 digits.
8000SelfMatchPreventionStrategyChar(1)NRepresents type of cancel instruction when SelfMatch Prevention is triggered. Client systems must also include SelfMatchPreventionID (7928) on the originating message. See SelfMatchPreventionStrategy (8000) code set.
5979RequestTimeInt(20)NTime when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss.

Green Check Return to Order Entry Message Types.


Order Cancel Reject (35=9)

Sent by the Coinbase Derivatives Exchange system to notify the client on rejection of an Order Cancel Request OR Order Cancel/Replace.

TagNameFIX TypeReqDescription
1AccountString(12)YUnique ID representing the account.
11
ClOrdIDString(20)YUnique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order.
37OrderIDString(17)YUnique exchange ID representing the order.
39OrdStatusChar(1)YRepresents order status, "Undefined" (U). See OrdStatus (39) code set.
41OrigClOrdIDString(20)NLast accepted ClOrdID in the order chain. If a value is included in tag 41 on order entry, the same value is returned. If not, the tag contains 0.
55SymbolString(24)YRepresents details of an instrument. Future Example: EUM20
58TextString(200)NText describing why the cancel request was rejected.
60TransactTimeUTCTimestamp(21)YTime when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds.
Example: 20091216-19:21:41.109
102CXlRejReasonInt(6)NCode representing the cancel reject reason. See CXRejReason (102) code set.
434CxlRejResponseToChar(1)YRepresents the type of request that an Order Cancel Reject (35=9) message is in response to.
  • 1 = Order Cancel Request
  • 2 = Order Cancel/Replace Request
5979RequestTimeInt(20)NTime when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss.

Green Check Return to Order Entry Message Types.


Business Reject (35=j)

Sent by the Coinbase Derivatives Exchange system to notify the client of application-level rejection of client request which passed session-level validation but has business validation issues and cannot be reported with a well-formed Execution Report with Rejected status.

TagNameFIX TypeReqDescription
45RefSeqNumSeqNum(10)YMsgSeqNum <34> of rejected message.
58
TextString(200)NFree format text string.
379BusinessRejectRefIDString(32)NValue of business-level "ID" of the message being rejected.
380BusinessRejectReasonInt(2)YCode identifying reject reason:

0=Other
1=Unknown ID
2=Unknown security
3=Unsupported message type
4=Application not available
5=Conditionally required field missing
6=Not authorized
7=Delivery to firm not available at this time

Green Check Return to Order Entry Message Types.


Last ExecId Request (35=F1)

Send this message to request the ExecId of the last (most recent) event sent by the trading system to this user/session. Can be used to determine if the client missed any events while disconnected. Also serves as a means of validating that the trading system is available and accepting requests.

TagNameFIX TypeReqDescription
35MsgTypeString(2)YHeader tag identifying message type.

Green Check Return to Order Entry Message Types.


Last ExecId (35=F2)

Sent in response to LastExecIdRequest.

TagNameFIX TypeReqDescription
45RefSeqNumSeqNum(10)YMsgSeqNum <34> of request message
17ExecIDString(40)YExecId of last event sent to this user.

Green Check Return to Order Entry Message Types.


Event Resend Request (35=F3)

Send this message to request order events in the specified range be resent. Since this is an application-level request, resent messages will have new sequence numbers and PossDupFlag (43) will not be set; rather, PossResend (97) will be set. Rejects (and any other message that does not contain an ExecId) will not be resent.

TagNameFIX TypeReqDescription
22003BeginExecIdString(40)YLower bound (inclusive) of ExecIds.
22004EndExecIdString(40)NUpper bound (inclusive) of ExecIds.
Resend all events up the last known event if not set.

Green Check Return to Order Entry Message Types.


Event Resend Complete (35=F4)

Sent in response to a successful Event Resend Request following all resent events.

TagNameFIX TypeReqDescription
45RefSeqNumSeqNum(10)YMsgSeqNum <34> of request message
22005ResentEventCountIntYTotal number of events resent.

Green Check Return to Order Entry Message Types.


Event Resend Reject (35=F5)

Sent in response to an Event Resend Request if the request cannot be fulfilled.

TagNameFIX TypeReqDescription
45RefSeqNumSeqNum(10)YMsgSeqNum <34> of request message
22006EventResendRejectReasonIntYRepresents reject reason:
1 = BEGIN_EXEC_ID_TOO_SMALL
2 = END_EXEC_ID_TOO_LARGE
3 = RESEND_ALREADY_IN_PROGRESS
4 = TOO_MANY_RESEND_REQUESTS
5 = SERVER_ERROR
58TextString(200)NFree format text string.

Green Check Return to Order Entry Message Types.


See Also:

Was this helpful?