Skip to main content
This specification is currently in beta and requires account enablement. Features and definitions are subject to change.
In the tables below, the Req column indicates whether a field is required: Y = Required, N = Optional, C = Conditional on another field. denotes a field within a repeating group.

Session Management Messages

(A) Logon

Initiates FIX session connection between client and server.

Standard Header Fields
TagNameFIX TypeReqDescription
8BeginStringStringYFIX.5.0
9BodyLengthIntYMessage body length in bytes
35MsgTypeStringYA = Logon
49SenderCompIDStringYSender’s unique identifier
56TargetCompIDStringYTarget’s unique identifier
34MsgSeqNumIntYMessage sequence number
52SendingTimeUTCTimestampYTime of message transmission
Logon Message Fields
TagNameFIX TypeReqDescription
96RawDatatextYSignature
98EncryptMethodIntY0 = None
108HeartBtIntIntYHeartbeat interval in seconds (recommended: 30)
141ResetSeqNumFlagBooleanNY = Reset sequence numbers to 1
553UsernameStringYClient username for authentication
554PasswordStringYClient password for authentication
1137DefaultApplVerIDStringY9 = FIX50SP2 = FIX 5.0 Service Pack 2

(5) Logout

Terminates FIX session gracefully.
TagNameFIX TypeReqDescription
58TextStringNLogout reason or informational message

(0) Heartbeat

Maintains session connectivity and confirms system responsiveness.
TagNameFIX TypeReqDescription
112TestReqIDStringCRequired if responding to TestRequest. Echo the TestReqID from the TestRequest message.

(1) TestRequest

Validates session responsiveness when no messages received within HeartBtInt period.
TagNameFIX TypeReqDescription
112TestReqIDStringYUnique identifier that must be echoed in Heartbeat response

(3) Reject

Indicates session-level rejection of a received message.
TagNameFIX TypeReqDescription
45RefSeqNumIntYMsgSeqNum of rejected message
371RefTagIDIntCTag number of the field with error
372RefMsgTypeStringCMsgType of rejected message
373SessionRejectReasonIntC0 = Invalid tag number
1 = Required tag missing
2 = Tag not defined
5 = Value incorrect
6 = Incorrect data format
58TextStringNHuman-readable description of rejection

(2) ResendRequest

Requests retransmission of messages when gap detected in sequence numbers.
TagNameFIX TypeReqDescription
7BeginSeqNoIntYStarting sequence number for resend range
16EndSeqNoIntYEnding sequence number (0 = resend all messages after BeginSeqNo)

(4) SequenceReset

Resets message sequence numbers or fills sequence gaps.
TagNameFIX TypeReqDescription
123GapFillFlagBooleanCY = Gap fill mode (messages 34 through NewSeqNo-1 have been skipped)
36NewSeqNoIntYNew sequence number for next message

Order Entry Messages

All messages in this section must include the Standard Header fields. See (A) Logon for the full field list.

(D) NewOrderSingle

Request to submit new single-legged order.
TagNameFIX TypeReqDescription
1AccountString(16)YTrading account identifier
11ClOrdIDString(36)YUnique client order identifier. Must be unique across all orders.
38OrderQtyInt(9)YOrder quantity (positive integer)
152CashOrderQtyInt(9)YOrder quantity (in quote units)
40OrdTypeChar(1)Y1 = Market
2 = Limit
4 = Stop Limit
44PricePrice(20)CLimit price. Required for Limit and Stop Limit orders.
54SideChar(1)Y1 = Buy, 2 = Sell
55SymbolString(24)YInstrument symbol (e.g., BTC-27FEB26-CDE, ETH-USD).
167SecurityTypeString(6)YFUT = Futures
59TimeInForceChar(1)N1 = Good Till Cancel (GTC)
6 = Good Till Date (GTD)
3 = Immediate or Cancel (IOC)
4 = Fill or Kill (FOK)
60TransactTimeUTCTimestampYOrder submission time (YYYYMMDD-HH:MM:SS.sss in UTC)
18ExecInstCharNA = Post only
99StopPxPrice(20)CStop trigger price. Required for Stop and Stop Limit orders.
126ExpireTimeUTCTimestampCExpiration time. Required when TimeInForce = 6 (GTD).
168EffectiveTimeUTCTimestampCStart time of an order (required for TWAP/VWAP orders)
1138DisplayQtyQtyNDisplay quantity for iceberg orders. Only available when OrdType 2 = Limit or 4 = Stop Limit.
528OrderCapacityChar(1)NA = Agency, P = Principal
847TargetStrategyNRequires ExpireTime and EffectiveTime for TWAP/VWAP orders. 1001 = TWAP
1028ManualOrderIndicatorBooleanYY = Manual order entry, N = Automated/algorithmic
1031CustOrderHandlingInstStringYW = Desk
Y = Electronic (default)
C = Vendor provided platform billed by executing broker
G = Sponsored access via exchange API
H = Premium algorithmic trading provided by executing broker
D = Other

(F) OrderCancelRequest

Request to cancel submitted single or multi-leg order.
TagNameFIX TypeReqDescription
1AccountString(16)YAccount identifier
11ClOrdIDString(36)YNew unique client order identifier for this cancel request
37OrderIDString(17)YExchange-assigned order ID to be canceled (from ExecutionReport)
41OrigClOrdIDString(36)NClOrdID of the order being canceled
54SideChar(1)YOriginal order side (1 = Buy, 2 = Sell)
55SymbolString(24)YInstrument symbol
167SecurityTypeString(6)YFUT
60TransactTimeUTCTimestampYCancel request submission time
1028ManualOrderIndicatorBooleanYY = Manual, N = Automated

(H) OrderStatusRequest

Queries current status of an order.
TagNameFIX TypeReqDescription
1AccountString(16)NAccount identifier
11ClOrdIDString(36)YClient order identifier
37OrderIDString(17)CExchange order ID (if known)
54SideChar(1)YOrder side (1 = Buy, 2 = Sell)
55SymbolString(24)YInstrument symbol
167SecurityTypeString(6)YFUT

(8) ExecutionReport

Reports order status changes, fills, rejections, and other execution events.
TagNameFIX TypeReqDescription
1AccountString(16)YAccount identifier
11ClOrdIDString(36)YClient order identifier from request message
13CommTypeStringY3 = Absolute
12CommissionAmtYThe Coinbase commission incurred for this fill in quote currency
17ExecIDStringYUnique execution identifier assigned by exchange. Returns 0 when sent in with OrderStatusRequest
30LastMktStringYVenue of execution for last fill
37OrderIDString(17)YExchange-assigned order identifier
41OrigClOrdIDString(36)COriginal ClOrdID when responding to cancel/replace requests
150ExecTypeCharYA = Pending New
0 = New
4 = Canceled
8 = Rejected
C = Expired
F = Trade (partial or full fill)
3 = Done for Day
L = Stop Triggered
39OrdStatusCharYA = Pending New
0 = New
I = Order Status
1 = Partially filled
2 = Filled
4 = Canceled
8 = Rejected
C = Expired
6 = Pending Cancel
E = Pending Replace
54SideChar(1)Y1 = Buy, 2 = Sell
55SymbolString(24)YInstrument symbol
167SecurityTypeString(6)YFUT
38OrderQtyInt(9)YOriginal order quantity
40OrdTypeChar(1)Y1 = Market
2 = Limit
3 = Stop
4 = Stop Limit
44PricePrice(20)CLimit price (if applicable)
99StopPxPrice(20)CStop trigger price (if applicable)
59TimeInForceChar(1)N1 = GTC
6 = GTD
3 = IOC
4 = FOK
60TransactTimeUTCTimestampYTransaction time (YYYYMMDD-HH:MM:SS.ssssss)
14CumQtyQtyYCumulative quantity filled
151LeavesQtyQtyYQuantity remaining open (OrderQty - CumQty)
152CashOrderQtyQtyYQuantity remaining in quote currency
32LastQtyQtyCQuantity filled in this execution (required when ExecType = F)
31LastPxPrice(20)CExecution price (required when ExecType = F)
6AvgPxPrice(20)YAverage fill price across all executions
136NoMiscFeesCNumber of MiscFees (repeating group)
↳137MiscFeeAmtAmtCMisc fee value
↳138MiscFeeCurrStringCCurrency of misc fees in quote currency
↳139MiscFeeTypeStringC1 = Regulatory Fee
7 = Client Fee
4 = Venue Fee
3 = Trading Desk Fee
14 = Financing Fee
31 = Clearing Fee
103OrdRejReasonIntCRequired when ExecType = 8 (Rejected):
1 = Unknown symbol
2 = Exchange closed
3 = Order exceeds limit
4 = Too late to enter
5 = Unknown order
6 = Duplicate order
8 = Stale order
18 = Invalid price increment
99 = Other (see Text)
58TextStringNRejection reason or other informational message
168EffectiveTimeUTCTimestampCStart time of an order (required for TWAP/VWAP)
126ExpireTimeUTCTimestampCExpiration time (when TimeInForce = GTD)
1138DisplayQtyQtyCDisplay quantity for iceberg orders. Only available when OrdType 2 = Limit or 4 = Stop Limit
528OrderCapacityChar(1)NA = Agency, P = Principal
1057AggressorIndicatorBooleanNY = Aggressor, N = Passive (for trade reporting)

Appendix A: Code Sets

OrdType (40)

ValueDescription
1Market
2Limit
3Stop
4Stop Limit

Side (54)

ValueDescription
1Buy
2Sell

SecurityType (167)

ValueDescription
FUTFutures

TimeInForce (59)

ValueDescription
1Good Till Cancel (GTC)
3Immediate or Cancel (IOC)
4Fill or Kill (FOK)
6Good Till Date (GTD)

ExecType (150)

ValueDescription
0New
3Done for Day
4Canceled
5Replace
8Rejected
APending New
CExpired
FTrade (partial or full fill)
IOrder Status
LStop Triggered

OrdStatus (39)

ValueDescription
0New
1Partially filled
2Filled
4Canceled
6Pending Cancel
8Rejected
APending New
CExpired
EPending Replace