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
- NewOrderSingle (35=D): Request to submit new single-legged order.
- OrderCancelRequest (35=F): Request to cancel submitted single or multi-leg order.
- OrderCancel/ReplaceRequest (35=G): Request to replace single order.
System Message and Execution Types
- Execution Report (35=8): System reports in response to client requests. Execution types are:
- New/Canceled/Replaced Order (150=0/4/5): Confirms new, canceled, or replaced order:
- New Order (150=0): Confirms
NewOrderSingle
message. - Canceled Order (150=4): Confirms
OrderCancelRequest
message or unsolicited cancel. - Replaced Order (150=5): Confirms
OrderCancel/ReplaceRequest
message.
- New Order (150=0): Confirms
- Rejected Order (150=8): Relays status that
OrderCancel/ReplaceRequest
is rejected. - Trade (150=F): Relays information that order is filled completely or partially.
- Stop Triggered (150=L): Relays status of stop order.
- Done for Day (150=3): Sent for all currently open orders after the trading day closes.
- Expired Order (150=C): Confirms day order is expired.
- New/Canceled/Replaced Order (150=0/4/5): Confirms new, canceled, or replaced order:
- OrderCancelReject (35=9): Rejection of client-originated cancel request.
- BusinessReject (35=j): Rejection not reportable with well-formed Execution Report.
Admin Message Types
- LastExecIdRequest (35=F1): Client request for
ExecId
of the last (most recent) event. - LastExecId (35=F2): System response to F1.
- EventResendRequest (35=F3): Client request to resend order events in a specified range.
- EventResendComplete (35=F4): System response to successful F3 request.
- EventResendReject (35=F5): System response to unsuccessful F3 request.
New Order Single (35=D)
Used to send new single-legged orders for execution.
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.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
1 | Account | String(12) | Y | Unique ID representing the account. |
11 | ClOrdID | String(20) | Y | Unique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order. |
38 | OrderQty | Int(9) | Y | Order quantity. Must be a positive integer. |
40 | OrdType | Char(1) | Y | Order type. Market orders are not accepted during opening auction. See OrdType (40) code set. |
44 | Price | Price(20) | C | Price per single contract unit. Required for limit or stop-limit orders. |
54 | Side | Char(1) | Y | Side of order. See Side (54) code set. |
55 | Symbol | String(24) | Y | Represents details of an instrument. Future Example: EUM20 |
167 | SecurityType | String(6) | Y | Represents security type. See SecurityType (167) code set. |
59 | TimeInForce | Char(1) | N | Represents 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. |
60 | TransactTime | UTCTimestamp(21) | Y | Time when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds. Example: 20091216-19:21:41.109 |
77 | PositionEffect | Char(1) | N | Order position effect. Default is 77=D (PositionEffect="Default"). See PositionEffect (77) code set. |
99 | StopPx | Price(20) | C | Stop price of the order. Required for stop and stop-limit orders. |
18 | ExecInst | Char | N | The execution instruction flags for the order. Supported values: 6 = Add Liquidity Only (Post Only) |
110 | MinQty | Int(9) | N | Minimum quantity of an order to be executed. Used only when 59=3 (TimeInForce)="Fill and Kill"). |
528 | OrderCapacity | Char(1) | Y | Capacity of the firm placing the order (Agency=A /Principal=P ). See OrderCapacity (528) code set. |
210 | MaxShow | Qty(9) | N | Maximum quantity within an order to be shown in the order book at any given time. |
432 | ExpireDate | LocalMktDate(8) | C | Order expiration date, or the last day the order can trade. YYYYMMDD format. Required only if 59=6 (TimeInForce="Good Till Date"). |
1028 | ManualOrderIndicator | Boolean(1) | Y | Represents whether or not the order was generated manually (Y ) or automatically (N ) with trading software. See ManualOrderIndicator (1028) code set. |
1031 | CustOrderHandlingInst | String(1) | Y | Source of the original order. See CustOrderHandlingInst (1031) code set. |
7928 | SelfMatchPreventionID | Int(8) | C | Unique ID (per executing firm) representing two orders that should not match. Required when market participants enable SelfMatch Prevention. Max length is 8 digits. |
8000 | SelfMatchPreventionStrategy | Char(1) | N | Represents 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. |
582 | CustOrderCapacity | Int(1) | Y | Customer 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 = …
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="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.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
1 | Account | String(12) | Y | Unique ID representing the account. |
11 | ClOrdID | String(20) | Y | Unique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order. |
37 | OrderID | String(17) | Y | Unique exchange ID representing the order. |
41 | OrigClOrdID | String(20) | N | Last accepted ClOrdID in the order chain. |
54 | Side | Char(1) | Y | Side of order. See Side (54) code set. |
55 | Symbol | String(24) | Y | Represents details of an instrument. Future Example: EUM20 |
167 | SecurityType | String(6) | Y | Represents security type. See SecurityType (167) code set. |
60 | TransactTime | UTCTimestamp(21) | Y | Time when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds. Example: 20091216-19:21:41.109 |
1028 | ManualOrderIndicator | Boolean(1) | Y | Represents 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 = …
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="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.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
1 | Account | String(12) | Y | Unique 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 | ClOrdID | String(20) | Y | Unique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order. |
37 | OrderID | String(17) | Y | Unique exchange ID representing the order. |
38 | OrderQty | Int(9) | Y | Order 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. |
40 | OrdType | Char(1) | Y | Order type. Market orders are not accepted during opening auction. See OrdType (40) code set. |
41 | OrigClOrdID | String(20) | N | Last accepted ClOrdID in the order chain. |
44 | Price | Price(20) | C | Price per single contract unit. Required for limit or stop-limit orders. |
54 | Side | Char(1) | Y | Side of order. See Side (54) code set. |
55 | Symbol | String(24) | Y | Represents details of an instrument. Future Example: EUM20 |
167 | SecurityType | String(6) | N | Represents security type. See SecurityType (167) code set. |
59 | TimeInForce | Char(1) | N | Represents 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. |
60 | TransactTime | UTCTimestamp(21) | Y | Time when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds. Example: 20091216-19:21:41.109 |
77 | PositionEffect | Char(1) | N | Order position effect. Default is 77=D (PositionEffect="Default"). See PositionEffect (77) code set. |
99 | StopPx | Price(20) | C | Stop 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. |
528 | OrderCapacity | Char(1) | Y | Capacity of the firm placing the order (Agency=A /Principal=P ). See OrderCapacity (528) code set. |
210 | MaxShow | Qty(9) | N | Maximum 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. |
432 | ExpireDate | LocalMktDate(8) | C | Order expiration date, or the last day the order can trade. YYYYMMDD format. Required only if 59=6 (TimeInForce="Good Till Date"). |
1028 | ManualOrderIndicator | Boolean(1) | Y | Represents whether or not the order was generated manually (Y ) or automatically (N ) with trading software. See ManualOrderIndicator (1028) code set. |
1031 | CustOrderHandlingInst | String(1) | Y | Source of the original order. See CustOrderHandlingInst (1031) code set. |
7928 | SelfMatchPreventionID | Int(8) | C | Unique ID (per executing firm) representing two orders that should not match. Required when market participants enable SelfMatch Prevention. Max length is 8 digits. |
8000 | SelfMatchPreventionStrategy | Char(1) | N | Represents 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. |
582 | CustOrderCapacity | Int(1) | Y | Customer 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 = …
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="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 toNewOrderSingle
message. Sent for every new order, even those matched immediately. - Canceled (
150=4
): Confirms order is canceled in response toOrderCancelRequest
, 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 toOrderCancel/ReplaceRequest
. A separate message is not sent for the replaced order itself.
These reports were formerly grouped as "Accepted" in the PDF docs.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
1 | Account | String(12) | Y | Unique ID representing the account. |
11 | ClOrdID | String(20) | Y | Unique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order. |
14 | CumQty | Int(9) | Y | Cumulated traded quantity throughout lifespan of an order. |
17 | ExecID | String(40) | Y | Unique exchange ID representing the trade execution. |
37 | OrderID | String(17) | Y | Unique exchange ID representing the order. |
38 | OrderQty | Int(9) | Y | Order quantity. |
39 | OrdStatus | Char(1) | Y | Represents order status, "New", "Canceled", or "Modify" (replaced). See OrdStatus (39) code set.
|
40 | OrdType | Char(1) | Y | Order type. Market orders are not accepted during opening auction. See OrdType (40) code set. |
41 | OrigClOrdID | String(20) | N | Last accepted ClOrdID in the order chain. |
44 | Price | Price(20) | C | Price per single contract unit. Required for limit or stop-limit orders. |
54 | Side | Char(1) | Y | Side of order. See Side (54) code set. |
55 | Symbol | String(24) | Y | Represents details of an instrument. Future Example: EUM20 |
167 | SecurityType | String(6) | N | Represents security type. See SecurityType (167) code set. |
59 | TimeInForce | Char(1) | N | Represents 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. |
60 | TransactTime | UTCTimestamp(21) | Y | Time when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds. Example: 20091216-19:21:41.109 |
99 | StopPx | Price(20) | C | Stop price of the order. Required for stop and stop-limit orders. |
110 | MinQty | Int(9) | N | Minimum quantity of an order to be executed. Used only when 59=3 (TimeInForce)="Fill and Kill"). |
150 | ExecType | Char(1) | Y | Represents execution type, New (150=0 ), Canceled (150=4 ), or Replaced (150=5 ). See ExecType (150) code set. |
151 | LeavesQty | int(9) | Y | Number of contracts remaining for execution. |
18 | ExecInst | Char | N | The execution instruction flags for the order. Supported values: 6 = Add Liquidity Only (Post Only) |
528 | OrderCapacity | Char(1) | C | Capacity 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. |
210 | MaxShow | Qty(9) | N | Maximum quantity within an order to be shown in the order book at any given time. |
378 | ExecRestatementReason | Int(3) | N | Reason why the order was canceled by the system (e.g., cancel on disconnect, self-match prevention, etc.). See ExecRestatementReason (378) code set. |
432 | ExpireDate | LocalMktDate(8) | C | Order expiration date, or the last day the order could trade. |
1028 | ManualOrderIndicator | Boolean(1) | Y | Represents whether or not the order was generated manually (Y ) or automatically (N ) with trading software. See ManualOrderIndicator (1028) code set. |
1031 | CustOrderHandlingInst | String(1) | Y | Source of the original order. See CustOrderHandlingInst (1031) code set. |
5979 | RequestTime | Int(20) | N | Time when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss . |
7928 | SelfMatchPreventionID | Int(8) | C | Unique ID (per executing firm) representing two orders that should not match. Required when market participants enable SelfMatch Prevention. Max length is 8 digits. |
8000 | SelfMatchPreventionStrategy | Char(1) | N | Represents 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. |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="Green Check" /> Return to Order Entry Message Types.
Rejected Order (35=8, 150=8)
Message notifies client system of a rejected order.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
1 | Account | String(12) | Y | Unique ID representing the account. |
11 | ClOrdID | String(20) | Y | Unique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order. |
14 | CumQty | Int(9) | Y | Cumulated traded quantity throughout lifespan of an order. |
17 | ExecID | String(40) | Y | Unique exchange ID representing the trade execution. |
37 | OrderID | String(17) | Y | Unique exchange ID representing the order. |
38 | OrderQty | Int(9) | C | Order quantity. |
39 | OrdStatus | Char(1) | Y | Represents order status, "Rejected" (8 ). See OrdStatus (39) code set. |
40 | OrdType | Char(1) | Y | Order type such as market, limit, etc. See OrdType (40) code set. |
41 | OrigClOrdID | String(20) | N | Last accepted ClOrdID in the order chain. |
44 | Price | Price(20) | C | Price per single contract unit. |
54 | Side | Char(1) | Y | Side of order. See Side (54) code set. |
55 | Symbol | String(20) | Y | Represents details of an instrument. Future Example: EUM20 . |
167 | SecurityType | String(6) | N | Represents security type. See SecurityType (167) code set. |
58 | Text | String(200) | N | Error code message. See OrdRejReason (103) code set. |
59 | TimeInForce | Char(1) | N | Represents 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. |
60 | TransactTime | UTCTimeStamp(21) | Y | Time when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds. Example: 20091216-19:21:41.109 |
75 | TradeDate | LocalMktDate(8) | Y | Date of trading day, local time in YYYYMMDD format. When absent, represents the current day. |
103 | OrdRejReason | Int(6) | N | Error code. See OrdRejReason (103) code set. |
150 | ExecType | Char(1) | Y | Represents execution type, "Rejected" (150=8 ). See ExecType (150) code set. |
151 | LeavesQty | Int(9) | C | Number of contracts remaining for execution. Always 151=0 . |
18 | ExecInst | Char | N | The execution instruction flags for the order. Supported values: 6 = Add Liquidity Only (Post Only) |
528 | OrderCapacity | Char(1) | C | Capacity 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. |
1028 | ManualOrderIndicator | Boolean(1) | Y | Represents whether or not the order was generated manually (Y ) or automatically (N ) with trading software. See ManualOrderIndicator (1028) code set. |
1031 | CustOrderHandlingInst | String(1) | Y | Source of the original order. See CustOrderHandlingInst (1031) code set. |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="Green Check" /> Return to Order Entry Message Types.
Trade (35=8, 150=F)
Sent by the Coinbase Derivatives Exchange system to report a trade.
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.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
1 | Account | String(12) | Y | Unique ID representing the account. |
11 | ClOrdID | String(20) | Y | Unique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order. |
14 | CumQty | Int(9) | Y | Cumulated traded quantity throughout lifespan of an order. |
17 | ExecID | String(40) | Y | Unique exchange ID representing the trade execution. |
880 | TrdMatchID | String (20) | Y | Unique exchange ID representing a match event that results in multiple executions or trades. |
31 | LastPx | Price(20) | Y | Price at which order was filled. |
32 | LastQty | Int(9) | Y | Quantity filled. |
37 | OrderID | String(17) | Y | Unique exchange ID representing the order. |
38 | OrderQty | Int(9) | C | Order quantity. |
39 | OrdStatus | Char(1) | Y | Represents order status, "Partial Fill" (1 ) or "Complete Fill" (2 ). See OrdStatus (39) code set. |
40 | OrdType | Char(1) | Y | Order type such as market, limit, etc. See OrdType (40) code set. |
41 | OrigClOrdID | String(20) | N | Last accepted ClOrdID in the order chain. |
44 | Price | Price(20) | C | Price 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. |
6 | AvgPx | Price(20) | C | Calculated average price of all fills on this order. |
54 | Side | Char(1) | Y | Side of order. See Side (54) code set. |
55 | Symbol | String(24) | Y | Represents details of an instrument. Future Example: EUM20 . |
167 | SecurityType | String(6) | N | Represents security type. See SecurityType (167) code set. |
59 | TimeInForce | Char(1) | N | Represents 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. |
60 | TransactTime | UTCTimeStamp(21) | Y | Time when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds. Example: 20091216-19:21:41.109 |
75 | TradeDate | LocalMktDate(8) | Y | Date of trading day, local time in YYYYMMDD format. When absent, represents the current day. |
150 | ExecType | Char(1) | Y | Represents execution type, "Trade" (150=F ). See ExecType (150) code set. |
151 | LeavesQty | Int(9) | C | Number of contracts remaining for execution after this fill. |
393 | TotalNumSecurities | Int(3) | N | Number of leg fill acknowledgment messages sent with spread summary. Sent for spread fill messages only. |
442 | MultiLegReportingType | Int(1) | N | Represents acknowledgment of Outright, Leg of Spread, and Spread. See MultiLegReporting (442) code set. |
527 | SecondaryExecID | String(40) | C | Unique exchange ID representing link between spread summary fill notice with leg fill notice and trade cancel messages. |
18 | ExecInst | Char | N | The execution instruction flags for the order. Supported values: 6 = Add Liquidity Only (Post Only) |
528 | OrderCapacity | Char(1) | Y | Capacity of the firm placing the order (Agency=A /Principal=P ). See OrderCapacity (528) code set. |
1028 | ManualOrderIndicator | Boolean(1) | Y | Represents whether or not the order was generated manually (Y ) or automatically (N ) with trading software. See ManualOrderIndicator (1028) code set. |
1031 | CustOrderHandlingInst | String(1) | Y | Source of the original order. See CustOrderHandlingInst (1031) code set. |
1057 | AggressorIndicator | Char(1) | C | Represents the order as incoming or resting for the match event. See AggressorIndicator (1057) code set. |
5979 | RequestTime | Int(20) | N | Time when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss . |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="Green Check" /> Return to Order Entry Message Types.
Stop Triggered (35=8, 150=L)
Sent when a stop order is triggered.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
1 | Account | String(12) | Y | Unique ID representing the account. |
11 | ClOrdID | String(20) | Y | Unique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order. |
14 | CumQty | Int(9) | Y | Cumulated traded quantity throughout lifespan of an order. |
17 | ExecID | String(40) | Y | Unique exchange ID representing the trade execution. |
37 | OrderID | String(17) | Y | Unique exchange ID representing the order. |
38 | OrderQty | Int(9) | Y | Order quantity. |
39 | OrdStatus | Char(1) | Y | Represents order status, "New" (accepted), "Canceled", or "Modify" (replaced). See OrdStatus (39) code set.
|
40 | OrdType | Char(1) | Y | Order type. Market orders are not accepted during opening auction. See OrdType (40) code set. |
41 | OrigClOrdID | String(20) | N | Last accepted ClOrdID in the order chain. |
44 | Price | Price(20) | C | Price per single contract unit. Required for limit or stop-limit orders. |
54 | Side | Char(1) | Y | Side of order. See Side (54) code set. |
55 | Symbol | String(20) | Y | Represents details of an instrument. Future Example: EUM20 |
167 | SecurityType | String(6) | N | Represents security type. See SecurityType (167) code set. |
59 | TimeInForce | Char(1) | N | Represents 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. |
60 | TransactTime | UTCTimestamp(21) | Y | Time when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds. Example: 20091216-19:21:41.109 |
99 | StopPx | Price(20) | C | Stop price of the order. Required for stop and stop-limit orders. |
150 | ExecType | Char(1) | Y | Represents execution type, "Stop Triggered" (150=L ). See ExecType (150) code set. |
151 | LeavesQty | int(9) | Y | Number of contracts remaining for execution. |
210 | MaxShow | Qty(9) | N | Maximum quantity within an order to be shown in the order book at any given time. |
378 | ExecRestatementReason | Int(3) | N | Reason why the order was canceled by the system (e.g., cancel on disconnect, self-match prevention, etc.). See ExecRestatementReason (378) code set. |
432 | ExpireDate | LocalMktDate(8) | C | Order expiration date, or the last day the order could trade. |
1028 | ManualOrderIndicator | Boolean(1) | Y | Represents whether or not the order was generated manually (Y ) or automatically (N ) with trading software. See ManualOrderIndicator (1028) code set. |
1031 | CustOrderHandlingInst | String(1) | Y | Source of the original order. See CustOrderHandlingInst (1031) code set. |
5979 | RequestTime | Int(20) | N | Time when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss . |
7928 | SelfMatchPreventionID | Int(8) | C | Unique ID (per executing firm) representing two orders that should not match. Required when market participants enable SelfMatch Prevention. Max length is 8 digits. |
8000 | SelfMatchPreventionStrategy | Char(1) | N | Represents 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. |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="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.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
1 | Account | String(12) | Y | Unique ID representing the account. |
11 | ClOrdID | String(20) | Y | Unique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order. |
14 | CumQty | Int(9) | Y | Cumulated traded quantity throughout lifespan of an order. |
17 | ExecID | String(40) | Y | Unique exchange ID representing the trade execution. |
37 | OrderID | String(17) | Y | Unique exchange ID representing the order. |
38 | OrderQty | Int(9) | C | Order quantity. |
39 | OrdStatus | Char(1) | Y | Represents order status, "Done for the Day" (39=3 ). See OrdStatus (39) code set. |
40 | OrdType | Char(1) | Y | Order type such as market, limit, etc. See OrdType (40) code set. |
41 | OrigClOrdID | String(20) | N | Last accepted ClOrdID in the order chain. |
44 | Price | Price(20) | C | Price per single contract unit. |
54 | Side | Char(1) | Y | Side of order. See Side (54) code set. |
55 | Symbol | String(24) | Y | Represents details of an instrument. Future Example: EUM20 |
167 | SecurityType | String(6) | N | Represents security type. See SecurityType (167) code set. |
59 | TimeInForce | Char(1) | N | Represents 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. |
60 | TransactTime | UTCTimeStamp(21) | Y | Time when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds. Example: 20091216-19:21:41.109 |
75 | TradeDate | LocalMktDate(8) | Y | Date of trading day, local time in YYYYMMDD format. When absent, represents the current day. |
150 | ExecType | Char(1) | Y | Represents execution type, "Done for Day" (150=3 ). See ExecType (150) code set. |
151 | LeavesQty | Int(9) | C | Number of contracts remaining for execution. |
1028 | ManualOrderIndicator | Boolean(1) | Y | Represents whether or not the order was generated manually (Y ) or automatically (N ) with trading software. See ManualOrderIndicator (1028) code set. |
1031 | CustOrderHandlingInst | String(1) | Y | Source of the original order. See CustOrderHandlingInst (1031) code set. |
5979 | RequestTime | Int(20) | N | Time when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss . |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="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).
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
1 | Account | String(12) | Y | Unique ID representing the account. |
11 | ClOrdID | String(20) | Y | Unique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order. |
14 | CumQty | Int(9) | Y | Cumulated traded quantity throughout lifespan of an order. |
17 | ExecID | String(40) | Y | Unique exchange ID representing the trade execution. |
37 | OrderID | String(17) | Y | Unique exchange ID representing the order. |
38 | OrderQty | Int(9) | Y | Order quantity. Must be a positive integer. |
39 | OrdStatus | Char(1) | Y | Represents order status, "Expired" (C ). See OrdStatus (39) code set. |
40 | OrdType | Char(1) | Y | Order type such as market, limit, etc. See OrdType (40) code set. |
41 | OrigClOrdID | String(20) | N | Last accepted ClOrdID in the order chain. |
44 | Price | Price(20) | N | Price per single contract unit. |
54 | Side | Char(1) | Y | Side of order. See Side (54) code set. |
55 | Symbol | String(20) | Y | Represents details of an instrument. Future Example: EUM20 |
167 | SecurityType | String(6) | N | Represents security type. See SecurityType (167) code set. |
59 | TimeInForce | Char(1) | N | Represents 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. |
60 | TransactTime | UTCTimestamp(21) | N | Time when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds. Example: 20091216-19:21:41.109 |
110 | MinQty | Int(9) | C | Sent in the Order Elimination message if the originating order was a FAK/FOK/MinQty that contained tag MinQty (110). |
150 | ExecType | Char(1) | Y | Represents execution type, "Expired" (150=C ). See ExecType (150) code set. |
151 | LeavesQty | Int(9) | Y | Number of contracts remaining for execution. Always 151=0 . |
378 | ExecRestatementReason | Int(3) | N | Reason why the order was canceled by the system (e.g., cancel on disconnect, self-match prevention, etc.). See ExecRestatementReason (378) code set. |
528 | OrderCapacity | Char(1) | C | Capacity 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. |
1028 | ManualOrderIndicator | Boolean(1) | Y | Represents whether or not the order was generated manually (Y ) or automatically (N ) with trading software. See ManualOrderIndicator (1028) code set. |
1031 | CustOrderHandlingInst | String(1) | Y | Source of the original order. See CustOrderHandlingInst (1031) code set. |
7928 | SelfMatchPreventionID | Int(8) | N | Unique ID (per executing firm) representing two orders that should not match. Required when market participants enable SelfMatch Prevention. Max length is 8 digits. |
8000 | SelfMatchPreventionStrategy | Char(1) | N | Represents 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. |
5979 | RequestTime | Int(20) | N | Time when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss . |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="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.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
1 | Account | String(12) | Y | Unique ID representing the account. |
11 | ClOrdID | String(20) | Y | Unique client ID representing the order. Client system must maintain uniqueness of this value for the life of the order. |
37 | OrderID | String(17) | Y | Unique exchange ID representing the order. |
39 | OrdStatus | Char(1) | Y | Represents order status, "Undefined" (U ). See OrdStatus (39) code set. |
41 | OrigClOrdID | String(20) | N | Last 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 . |
55 | Symbol | String(24) | Y | Represents details of an instrument. Future Example: EUM20 |
58 | Text | String(200) | N | Text describing why the cancel request was rejected. |
60 | TransactTime | UTCTimestamp(21) | Y | Time when the order message was submitted. UTC format YYYYMMDD-HH:MM:SS.sss in microseconds. Example: 20091216-19:21:41.109 |
102 | CXlRejReason | Int(6) | N | Code representing the cancel reject reason. See CXRejReason (102) code set. |
434 | CxlRejResponseTo | Char(1) | Y | Represents the type of request that an Order Cancel Reject (35=9) message is in response to.
|
5979 | RequestTime | Int(20) | N | Time when the request was received by the exchange. UTC format in microseconds: YYYYMMDD-HH:MM:SS.sss . |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="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.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
45 | RefSeqNum | SeqNum(10) | Y | MsgSeqNum <34> of rejected message. |
58 | Text | String(200) | N | Free format text string. |
379 | BusinessRejectRefID | String(32) | N | Value of business-level "ID" of the message being rejected. |
380 | BusinessRejectReason | Int(2) | Y | Code identifying reject reason: 0 =Other1 =Unknown ID2 =Unknown security3 =Unsupported message type4 =Application not available5 =Conditionally required field missing6 =Not authorized7 =Delivery to firm not available at this time |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="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.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
35 | MsgType | String(2) | Y | Header tag identifying message type. |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="Green Check" /> Return to Order Entry Message Types.
Last ExecId (35=F2)
Sent in response to LastExecIdRequest.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
45 | RefSeqNum | SeqNum(10) | Y | MsgSeqNum <34> of request message |
17 | ExecID | String(40) | Y | ExecId of last event sent to this user. |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="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.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
22003 | BeginExecId | String(40) | Y | Lower bound (inclusive) of ExecIds. |
22004 | EndExecId | String(40) | N | Upper bound (inclusive) of ExecIds. Resend all events up the last known event if not set. |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="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.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
45 | RefSeqNum | SeqNum(10) | Y | MsgSeqNum <34> of request message |
22005 | ResentEventCount | Int | Y | Total number of events resent. |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="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.
Tag | Name | FIX Type | Req | Description |
---|---|---|---|---|
45 | RefSeqNum | SeqNum(10) | Y | MsgSeqNum <34> of request message |
22006 | EventResendRejectReason | Int | Y | Represents reject reason: 1 = BEGIN_EXEC_ID_TOO_SMALL2 = END_EXEC_ID_TOO_LARGE3 = RESEND_ALREADY_IN_PROGRESS4 = TOO_MANY_RESEND_REQUESTS5 = SERVER_ERROR |
58 | Text | String(200) | N | Free format text string. |
<img src={require('../assets/images/arrow-176-512.png').default} width="16" alt="Green Check" /> Return to Order Entry Message Types.
See Also: