Skip to main content

INTX FIX Order Entry Messages

NewOrderSingle (35=D)

Used to submit a new spot or perpetual future order.

TagNameTypeRequiredDescription
11ClOrdIDstringYAn identifier specified by the sender to uniquely identify other messages correlating to this request. Must not exceed 18-31 characters depending on the character range or must be a variant 1 UUIDv4:

18 = All ASCII characters
20 = Alphanumeric characters and dash (-)
31 = Hexadecimal characters (0-9, a-f, lowercase and no preceding 0s)
36 = A UUID in standard format

If using a UUID it must be a variant 1 UUIDv4 that follows the standard format. This means all lowercase and hyphens that group the characters in sequences of 8, 4, 4, 4, 12 (e.g. 1985ca2d-61ef-49f1-bfce-6c39d8462914). Failure to follow this formatting will result in a reject.
453NoPartyIDsintYMarks the beginning of the Parties repeating group component. Currently a max of 1 party is supported to specify the portfolio UUID. In the future additional parties may get added.

Supported values:
1 = Specify portfolio UUID or client UUID
If no party is specified the message applies to the default portfolio UUID affiliated with the API key.
→ 448
PartyIDstringYThe unique identifier representing the party entry or portfolio that this order originates from. When PartyRole (452) = 24, set PartyID (448) equal to the UUID of the desired portfolio for this order. You can obtain this portfolio UUID in the response of the List all user portfolios endpoint.
→ 452
PartyRoleintYThe type of party entry that the PartyID (448) value represents. Currently supports:

3 = Client ID
24 = Customer account

The Customer Account (24) value indicates the PartyID value contains the UUID of the portfolio affiliated with the message. The Client ID (3) value indicates the PartyID value contains the UUID of a client managed by the broker (only applies to brokers).
18ExecInstcharCThe execution instruction flags for the order. Currently supports: 6 = Post only
38OrderQtydecimalYThe amount of the base asset to be transacted.
40OrdTypecharYThe type of order for the request which can be:

1 = Market
2 = Limit
3 = Stop
4 = Stop Limit
O = Take Profit Stop Loss

Note: Market (1) orders automatically get converted to aggressively priced limit orders.
44PricedecimalCThe limit price for limit orders of the quote asset or USDC for perpetual futures. The decimal precision must fall within the requirements for each market, see the REST API for precision and decimal limits.
54SidecharYSide of the order, valid options:

1 = Buy
2 = Sell
55SymbolstringYSymbol of the instrument being traded (e.g. BTC-USDC or BTC-PERP)
59TimeInForcecharYSpecifies how long the order remains in effect. The following values are supported:

1 = Good Till Cancel (GTC, up to 30 days)
3 = Immediate Or Cancel (IOC)
6 = Good Till Time (GTT, up to 30 days)
126ExpireTimeutc timestampCRequired when TimeInForce (59) is set to GTT (6). Specifies the time when a GTT order expires.
99StopPxdecimalCSpecifies the quote price at which the order activates for Stop, Stop Limit and TP/SL order types (40=3, 40=4, or 40=O).
3040StopLimitPxdecimalCSpecifies the limit price at which the TP/SL stop leg order is entered (40=O).
8000SelfTradePreventionStrategycharNThe following values specify what to do when two orders submitted by the same portfolio attempt to match:

N = Cancel aggressing order
Q = Cancel both orders
O = Cancel resting order
D = Decrement and cancel

Default if not specified is Cancel both orders (Q).

OrderCancelReplaceRequest (35=G)

Used to modify a parameter of an existing order that is still live on exchange. Only the price and quantity can be modified.

TagNameTypeRequiredDescription
11ClOrdIDstringYAn identifier specified by the sender to uniquely identify other messages correlating to this request. Must not exceed 18-31 characters depending on the character range or must be a variant 1 UUIDv4:

18 = All ASCII characters
20 = Alphanumeric characters and dash (-)
31 = Hexadecimal characters (0-9, a-f, lowercase and no preceding 0s)
36 = A UUID in standard format

If using a UUID it must be a variant 1 UUIDv4 that follows the standard format. This means all lowercase and hyphens that group the characters in sequences of 8, 4, 4, 4, 12 (e.g. 1985ca2d-61ef-49f1-bfce-6c39d8462914). Failure to follow this formatting will result in a reject.
453NoPartyIDsintCMarks the beginning of the Parties repeating group component. Currently a max of 1 party is supported to specify the portfolio UUID. In the future additional parties may get added.

Supported values:
1 = Specify portfolio UUID or client UUID

If no party is specified the message applies to the default portfolio UUID affiliated with the API key.
If populated it must match the value on the referenced order specified in the OrigClOrdID(41).
→ 448
PartyIDstringCThe unique identifier used to represent the party entry.

If populated it must match the value on the referenced order specified in the OrigClOrdID(41).
→ 452
PartyRoleintCThe type of party entry that the PartyID (448) value represents. Currently supports:
3 = Client ID
24 = Customer account

The Customer Account (24) value indicates the PartyID value contains the UUID of the portfolio affiliated with the message. The Client ID (3) value indicates the PartyID value contains the UUID of a client managed by the broker (only applies to brokers).

If populated it must match the value on the referenced order specified in the OrigClOrdID(41).
41OrigClOrdIDstringYAn identifier matching the ClOrdID from the OrderSingle or OrderCancelReplaceRequest that this request applies to.
38OrderQtydecimalNThe amount of the base asset to be transacted, this value can be changed from the order referenced in OrigClOrdId(41)
44PricedecimalNThe limit price for limit orders of the quote asset or USDC for perpetual futures. The decimal precision must fall within the requirements for each market, see the REST API for precision and decimal limits. This value can be different from the message that the OrigClOrdID references.
55SymbolstringYMust match the symbol on the message that the OrigClOrdID references.
99StopPxdecimalNSpecifies the quote price at which the order activates for Stop and Stop Limit order types (44=3 or 44=4). Must match the StopPx on the message that OrigClOrdId references.

OrderCancelRequest (35=F)

Used to cancel an order that is still live on the exchange.

TagNameTypeRequiredDescription
11ClOrdIDstringYAn identifier specified by the sender to uniquely identify other messages correlating to this request. Must not exceed 18-31 characters depending on the character range or must be a variant 1 UUIDv4:

18 = All ASCII characters
20 = Alphanumeric characters and dash (-)
31 = Hexadecimal characters (0-9, a-f, lowercase and no preceding 0s)
36 = A UUID in standard format

If using a UUID it must be a variant 1 UUIDv4 that follows the standard format. This means all lowercase and hyphens that group the characters in sequences of 8, 4, 4, 4, 12 (e.g. 1985ca2d-61ef-49f1-bfce-6c39d8462914). Failure to follow this formatting will result in a reject.
453NoPartyIDsintCMarks the beginning of the Parties repeating group component. Currently a max of 1 party is supported to specify the portfolio UUID. In the future additional parties may get added.

Supported values:
1 = Specify portfolio UUID or client UUID

If no party is specified the message applies to the default portfolio UUID affiliated with the API key.
If populated it must match the value on the referenced order specified in the OrigClOrdID(41).
→ 448
PartyIDstringCThe unique identifier used to represent the party entry.

If populated it must match the value on the referenced order specified in the OrigClOrdID(41).
→ 452
PartyRoleintCThe type of party entry that the PartyID (448) value represents. Currently supports:

3 = Client ID
24 = Customer account

The Customer Account (24) value indicates the PartyID value contains the UUID of the portfolio affiliated with the message. The Client ID (3) value indicates the PartyID value contains the UUID of a client managed by the broker (only applies to brokers).

If populated it must match the value on the referenced order specified in the OrigClOrdID(41).
41OrigClOrdIDstringYAn identifier matching the ClOrdID from the OrderSingle or OrderCancelReplaceRequest that this request applies to.
55SymbolstringYMust match the message that the OrigClOrdID references.

OrderMassCancelRequest (35=q)

Used to cancel multiple orders that is still live on the exchange.

TagNameTypeRequiredDescription
11ClOrdIDstringYAn identifier specified by the sender to uniquely identify other messages correlating to this request. Must not exceed 18-31 characters depending on the character range or must be a variant 1 UUIDv4:

18 = All ASCII characters
20 = Alphanumeric characters and dash (-)
31 = Hexadecimal characters (0-9, a-f, lowercase and no preceding 0s)
36 = A UUID in standard format

If using a UUID it must be a variant 1 UUIDv4 that follows the standard format. This means all lowercase and hyphens that group the characters in sequences of 8, 4, 4, 4, 12 (e.g. 1985ca2d-61ef-49f1-bfce-6c39d8462914). Failure to follow this formatting will result in a reject.
54sidestringYSide of the order, valid options:

1 = Buy
2 = Sell. If Side is not provided, the request cancels all orders in that portfolio regardless of side.
55SymbolstringYSymbol of the instrument being traded (e.g. BTC-USDC or BTC-PERP). If Symbol is not provided, the request cancels all orders in that portfolio regardless of symbol.
453NoPartyIDsintCMarks the beginning of the Parties repeating group component. Currently a max of 1 party is supported to specify the portfolio UUID. In the future additional parties may get added.

Supported values:
1 = Specify portfolio UUID or client UUID

If no party is specified the message applies to the default portfolio UUID affiliated with the API key.
If populated it must match the value on the referenced order specified in the OrigClOrdID(41).
→ 448
PartyIDstringCThe unique identifier used to represent the party entry.

If populated it must match the value on the referenced order specified in the OrigClOrdID(41).
→ 452
PartyRoleintCThe type of party entry that the PartyID (448) value represents. Currently supports:

3 = Client ID
24 = Customer account

The Customer Account (24) value indicates the PartyID value contains the UUID of the portfolio affiliated with the message. The Client ID (3) value indicates the PartyID value contains the UUID of a client managed by the broker (only applies to brokers).

If populated it must match the value on the referenced order specified in the OrigClOrdID(41).

ExecutionReport (35=8)

Sent by the exchange to provide an update on a submitted order.

TagNameTypeRequiredDescription
11ClOrdIDstringYAn identifier specified by the sender to uniquely identify other messages relating to this request.
41OrigClOrdIDstringCAn identifier matching the ClOrdID from the OrderSingle or OrderCancelReplaceRequest if this execution report belongs to an OrderCancelRequest or an OrderCancelReplaceRequest.
880TrdMatchIDstringCA unique ID provided on trade messages that is affiliated with the match. The same ID is provided on both sides of the trade which can aid in self trade detection.
17ExecIDstringYA globally unique 64bit monotonically increasing integer identifier specified by Coinbase International that identifies an event generated in the system. Please reference this identifier when speaking with Coinbase International Support.
20ExecTransTypecharYIndicates whether this message is original or an amendment. The potential values include:

0 = New
1 = Cancel
2 = Correct

All original messages get marked as New. Trade busts get marked as Cancel and trade corrections get marked as Correct. The trade bust and correct functionality will get implemented at a future date.
37OrderIDstringYA unique identifier assigned by the exchange for the order. Please use this ID when referencing the order for support.
453NoPartyIDsintCMarks the beginning of the Parties repeating group component. Currently a max of 1 party is supported to specify the portfolio UUID. In the future additional parties may get added.

Supported values:
1 = Specify portfolio UUID or client UUID

If no party is specified the message applies to the default portfolio UUID affiliated with the API key.
→ 448
PartyIDstringCThe unique identifier used to represent the party entry.
→ 452
PartyRoleintCThe type of party entry that the PartyID (448) value represents. Currently supports:

3 = Client ID
24 = Customer account

The Customer Account (24) value indicates the PartyID value contains the UUID of the portfolio affiliated with the message. The Client ID (3) value indicates the PartyID value contains the UUID of a client managed by the broker (only applies to brokers).
150ExecTypecharYThe type of execution report indicating what happened to the order.

Potential values include:
0 = New
1 = Partial Fill
2 = Fill
4 = Canceled
5 = Replaced
6 = Pending Cancel
8 = Rejected
A = Pending New
C = Expired
E = Pending Replace
L = Stop Triggered
39OrdStatuscharYIdentifies the current state of the order.

The potential values include:
0 = New
1 = Partially Filled
2 = Filled
4 = Canceled
5 = Replaced
6 = Pending Cancel
8 = Rejected
A = Pending New
E = Pending Replace
C = Expired
103OrdRejReasonintCUsed for reject messages, a set of code based references for common types of rejects.

The potential values include:
0 = Unknown
1 = Invalid order parameter
2 = Price violation
55SymbolstringYSymbol of the instrument being traded (e.g. BTC-USDC or BTC-PERP)
54SidecharYSide of the order, valid options:

1 = Buy
2 = Sell
38OrderQtydecimalCRequired for limit orders. The quantity specified on the order.
40OrdTypecharYThe order type specified on the order.
44PricedecimalCRequired for limit orders. Price specified on the order.
99StopPxdecimalCRequired for stop orders. The stop price specified on the order.
3040StopLimitPxdecimalCRequired for TP/SL orders. The stop leg limit price specified on the order.
15CurrencystringYThe currency used for prices and commission values reflected in this message.
59TimeInForcecharNTime in force specified on the order. The following values are supported:

1 = Good Till Cancel (GTC, up to 30 days)
3 = Immediate Or Cancel (IOC)
6 = Good Till Time (GTT, up to 30 days)
126ExpireTimeutc timestampCRequired when TimeInForce (59) is set to GTT (6). Specifies the time when a GTT order expires.
18ExecInstcharCThe execution instructions specified on the order. Supported values include: 6 = Post only
32LastQtydecimalCRequired for trades (150=1 or 150=2). Represents the total amount of the order's specified OrderQty that traded.
31LastPxdecimalCRequired for trades (150=1 or 150=2). Price in the currency (tag 15) at which the LastQty (tag 32) amount traded.
151LeavesQtydecimalYThe amount of the OrderQty that remains open for further execution.
14CumQtydecimalYThe total amount of the OrderQty that has traded so far including the LastQty amount if applicable (i.e. if 150=1 or 150=2).
6AvgPxdecimalYThe average price in Currency (tag 15) of the CumQty (tag 14) traded at so far including the current trade if applicable (i.e. if 150=1 or 150=2).
60TransactTimeutc timestampYThe original time that this execution report occurred (useful for replays).
58TextstringNA text message that gets populated when the context of the execution report requires explanation (e.g. rejects or unsolicited cancels).
851LastLiquidityIndintCProvided for trades (150=1 or 150=2). Provides context on how the order traded on the exchange for use in reference to trading fees.

Values include:
1 = Added liquidity
2 = Removed liquidity
136NoMiscFeesintCUsed for trades (150=1 or 150=2). Provides information on the fees affiliated with the transaction. If specified and the value is > 0 it marks the beginning of a repeating group of the following 3 tags.
→ 137
MiscFeeAmtdecimalCThe total fee amount in units of MiscFeeCurr
→ 138
MiscFeeCurrstringCThe currency the fee amount is charged in (e.g. USDC)
→ 139
MiscFeeTypestringCSpecifies the type of fee. Values may include:

4 = Exchange fees
7 = Other
14 = Asset lending
8000SelfTradePreventionStrategycharYThe self trade prevention strategy associated with the order.

The following values specify what to do when two orders submitted by the same portfolio attempt to match:
N = Cancel aggressing order
Q = Cancel both orders
O = Cancel resting order
D = Decrement and cancel smaller order

Default if not specified is Cancel both orders (Q).

OrderMassCancelReport (35=r)

Sent by the exchange to provide an update on a submitted order mass cancel.

TagNameTypeRequiredDescription
11ClOrdIDstringYAn identifier specified by the sender to uniquely identify other messages relating to this request.
1369MassActionReportIDstringYA globally unique 64bit monotonically increasing integer identifier specified by Coinbase International that identifies an event generated in the system. Please reference this identifier when speaking with Coinbase International Support.
55SymbolstringNSymbol of the instrument being traded (e.g. BTC-USDC or BTC-PERP)
54SidecharNSide of the order, valid options:

1 = Buy
2 = Sell
531MassCancelResponsecharYIdentifies the response of order mass cancel request. For accepted requests, the value will be CANCEL_ALL_ORDERS (7). For rejected requests, the value will be CANCEL_REQUEST_REJECTED (0) and MassCancelRejectReason will be provided.

The potential values include:
0 = Cancel Request Rejected
1 = Cancel orders for a security
2 = Cancel orders for an Underlying security
3 = Cancel orders for a Product
4 = Cancel orders for a CFICode
5 = Cancel orders for a SecurityType
6 = Cancel orders for a trading session
7 = Cancel all orders
532MassCancelRejectReasonintNIdentifies the rejected reason of order mass cancel request. For rejected requests, the value will be MASS_CANCEL_NOT_SUPPORTED (0).

The potential values include:
0 = Mass Cancel Not Supported
1 = Invalid or unknown Security
2 = Invalid or unknown Underlying security
3 = Invalid or unknown Product
4 = Invalid or unknown CFICode
5 = Invalid or unknown SecurityType
6 = Invalid or unknown trading session
99 = Other
533TotalAffectedOrdersdecimalNTotal number of orders affected by order mass cancel request
60TransactTimeutc timestampNThe original time that this order mass cancel report occurred
58TextstringNA message providing more detail about the order mass cancel reject

OrderCancelReject (35=9)

Sent by the exchange when a cancel or cancel-replace request fails.

TagNameTypeRequiredDescription
11ClOrdIDstringYAn identifier specified by the sender to uniquely identify other messages correlating to this request.
41OrigClOrdIDstringYAn identifier matching the ClOrdID from the OrderSingle or OrderCancelReplaceRequest that this request applies to.
37OrderIDstringYAn identifier specified by Coinbase International that uniquely identifies the order in the system. Please reference this identifier when speaking with Coinbase International Support. If the cancel or cancel-replace request was unable to find the OrigClOrdID specified in the message this value contains the text NONE.
58TextstringNA message providing more detail about the cancel reject
102CxlRejReasonintNA code to identify common reasons why for the cancel reject. Potential values include:

0 = Too late to cancel
1 = Unknown order
3 = Order already pending cancel or cancel replace
434CxlRejResponseTocharYIndicates whether this message is in response to a cancel request or cancel replace request.

Values include:
1 = Order Cancel Request
2 = Order Cancel/Replace Request

BusinessMessageReject (35=j)

An application level reject message sent when the FIX session can't process a message.

TagNameTypeRequiredDescription
45RefSeqNumintNThe MsgSeqNum of the referenced message that was rejected.
372RefMsgTypeintYThe message type that this reject message applies to.

Supported values include:
A = Logon
0 = Heartbeat
1 = TestRequest
D = NewOrderSingle
F = OrderCancelRequest
G = OrderCancelReplaceRequest
F1 = LastExecIDRequest
F3 = EventResendRequest
x = SecurityListRequest
V = MarketDataRequest
379BusinessRejectRefIDstringNAn identifier pointing to the message referenced for this reject. In the context of an order request this points to the ClOrdId.
380BusinessRejectReasonintNA code to quickly identify common reasons for a reject.

Values could include:
0 = Other
1 = Unknown ID
2 = Unknown asset or instrument
3 = Unsupported message type
4 = Application not available
5 = Conditionally required field missing
6 = Not authorized
8 = Throttle limit exceeded
9 = Throttle limit exceeded, session will be disconnected
58TextstringNA message explaining why the message was rejected.

TradeCaptureReport (35=AE)

Sent by the exchange when a trade occurs from an automated liquidation or liquidation triggered position transfer.

TagNameTypeRequiredDescription
828TrdTypeintYIndicates the type of trade for the liquidation:

0 = Regular trade
3 = Transfer

A regular trade occurs when the exchange's liquidation engine automatically places orders in the open market. A transfer happens when the account gets closed out and the position goes to another participant that specializes in closing out liquidated positions.
830TransferReasonstringCUsed when TydType (828) = Transfer (3) to indicate the transfer context.

Values include:
LIQUIDATED
ASSIGNED

The LIQUIDATED value indicates a position getting transferred out of the portfolio. The ASSIGNED value indicates a position getting transferred into the portfolio (only applicable for LSP portfolios).
880TrdMatchIDstringYA unique ID provided on trade messages that is affiliated with the match. The same ID is provided on both sides of the trade which can aid in self trade detection.
17ExecIDstringYA globally unique 64bit monotonically increasing integer identifier specified by Coinbase International that identifies an event generated in the system. Please reference this identifier when speaking with Coinbase International Support.
820TradeLinkIDstringYAn identifier used to track all trades linked with the current phase of the liquidation process. Changes each time the portfolio gets flagged for handling by liquidation engine or if the portfolio gets transferred to liquidation specialists.
55SymbolstringYSymbol of the instrument being traded (e.g. BTC-USDC or BTC-PERP)
32LastQtydecimalCRepresents the total amount of the asset that traded.
31LastPxdecimalCPrice in the currency (tag 15) at which the LastQty (tag 32) amount traded.
60TransactTimeutc timestampYThe original time that this execution report occurred (useful for replays).
552NoSidesintYMarks the beginning of the repeating group for sides and will always be set to 1.
→ 54
SidecharYSide of the trade, valid options:

1 = Buy
2 = Sell
→ 453
NoPartyIDsintCMarks the beginning of the Parties repeating group component. Currently a max of 1 party is supported to specify the portfolio UUID. In the future additional parties may get added.

Supported values:
1 = Specify portfolio UUID or client UUID

If no party is specified the message applies to the default portfolio UUID affiliated with the API key.
→→ 448
PartyIDstringCThe unique identifier used to represent the party entry.
→→ 452
PartyRoleintCThe type of party entry that the PartyID (448) value represents.

Currently supports:
3 = Client ID
24 = Customer account

The Customer Account (24) value indicates the PartyID value contains the UUID of the portfolio affiliated with the message. The Client ID (3) value indicates the PartyID value contains the UUID of a client managed by the broker (only applies to brokers).
→ 136
NoMiscFeesintCProvides information on the fees affiliated with the transaction. If specified and the value is > 0 it marks the beginning of a repeating group of the following 3 tags.
→→ 137
MiscFeeAmtdecimalCThe total fee amount in units of MiscFeeCurr
→→ 138
MiscFeeCurrstringCThe currency the fee amount is charged in (e.g. USDC)
→→ 139
MiscFeeTypestringCSpecifies the type of fee.

Values may include:
4 = Exchange fees
7 = Other
14 = Asset lending

Was this helpful?