Skip to main content

Order Entry

NewOrderSingle (35=D)

TAGNAMETYPEREQDESCRIPTION
11ClOrdIDstringYAn identifier specified by the sender to uniquely identify messages correlating to this request. Must be in one of the following formats:
  • UUID version 4 in its human readable form, with hypens, and in lowercase.
  • An ASCII string of up to 18 characters containing only the unreserved URL characters: letters (a–z, A–Z), digits (0–9), hyphen (-), underscore (_), period (.), and tilde (~).
18ExecInststringNExecution instructions separated by spaces:
  • 6 — Add Liquidity Only (ALO)
ALO: Matching engine only accepts the order if it doesn't match against any resting orders.
38OrderQtydecimal128YQuantity requested. This represents the number of shares of the base asset.
40OrdTypecharYOrder type:
  • 1 — Market
  • 2 — Limit
Note: Market (OrdType = 1) orders will automatically be converted to aggressively priced limit orders.
44Pricedecimal128CThe maximum execution price for a buy or the minimum execution price for a sell. The requested price must meet the market's minimum price variation (MPV) requirements or will be rejected by the exchange.Note: Required when OrdType = 2 (Limit). Ignored for other order types.
54SidecharYSide of order:
  • 1 — Buy
  • 2 — Sell
55SymbolstringYTicker symbol. Human-readable representation of the security. (e.g. BTC/USDC)
59TimeInForcecharNSpecifies how long the order remains in effect. Absence of this field is interpreted as GTC:
  • 1 — Good Till Cancel (GTC, up to 30 days)
  • 3 — Immediate Or Cancel (IOC)
453NoPartyIDsintYNumber of PartyID (448) and PartyRole (452) entries. This tag must be the first entry before the repeating group(s).Must be set equal to 1. Only one party is supported per request.
↳448PartyIDstringYStart of a new party group entryParty identifier/code.
↳452PartyRoleintYIdentifies the type or role of the PartyID (448) specified:
  • 3 — Client ID
2964SelfMatchPreventionInstintNSpecifics how this order should handle self matches (orders that would trade with the same client id). This cannot be changed once entered.
  • 1 — Cancel Aggressor
  • 3 — Cancel Both

OrderCancelRequest (35=F)

TAGNAMETYPEREQDESCRIPTION
11ClOrdIDstringYAn identifier specified by the sender to uniquely identify other messages correlating to this request. Must be in one of the following formats:
  • UUID version 4 in its human readable form, with hypens, and in lowercase.
  • An ASCII string of up to 18 characters containing only the unreserved URL characters: letters (a–z, A–Z), digits (0–9), hyphen (-), underscore (_), period (.), and tilde (~).
41OrigClOrdIDstringYClOrdID (tag 11) of the previous order as assigned by the sender, used to identify the previous order for the cancel request.
  • UUID version 4 in its human readable form, with hypens, and in lowercase.
  • An ASCII string of up to 18 characters containing only the unreserved URL characters: letters (a–z, A–Z), digits (0–9), hyphen (-), underscore (_), period (.), and tilde (~).
453NoPartyIDsintYNumber of PartyID (448) and PartyRole (452) entries. This tag must be the first entry before the repeating group(s).Must be set equal to 1. Only one party is supported per request.
↳448PartyIDstringYStart of a new party group entryParty identifier/code.
↳452PartyRoleintYIdentifies the type or role of the PartyID (448) specified:
  • 3 — Client ID

OrderCancelReplaceRequest (35=G)

TAGNAMETYPEREQDESCRIPTION
11ClOrdIDstringYAn identifier specified by the sender to uniquely identify messages correlating to this request. Must be in one of the following formats:
  • UUID version 4 in its human readable form, with hypens, and in lowercase.
  • An ASCII string of up to 18 characters containing only the unreserved URL characters: letters (a–z, A–Z), digits (0–9), hyphen (-), underscore (_), period (.), and tilde (~).
38OrderQtydecimal128NNew quantity requested. This represents the number of shares of the base asset.
40OrdTypecharNUsed only to convert a Limit order to Market. The single accepted value is:
  • 1 — Market
Do not send 40=2. Omit the tag to leave the order type unchanged.
41OrigClOrdIDstringYClOrdID (tag 11) of the previous order as assigned by the sender, used to identify the previous order for the replace requests.
  • UUID version 4 in its human readable form, with hypens, and in lowercase.
  • An ASCII string of up to 18 characters containing only the unreserved URL characters: letters (a–z, A–Z), digits (0–9), hyphen (-), underscore (_), period (.), and tilde (~).
44Pricedecimal128CThe new limit price for the order of the quote asset. The new requested limit price must meet the market's minimum price variation (MPV) requirements or will be rejected by the exchange.Note: Conditionally required when OrdType = 2 (Limit). Ignored for other order types.
453NoPartyIDsintYNumber of PartyID (448) and PartyRole (452) entries. This tag must be the first entry before the repeating group(s).Must be set equal to 1. Only one party is supported per request.
↳448PartyIDstringYStart of a new party group entryParty identifier/code.
↳452PartyRoleintYIdentifies the type or role of the PartyID (448) specified:
  • 3 — Client ID

ExecutionReport (35=8)

TAGNAMETYPEREQDESCRIPTION
6AvgPxdecimal128CSet when ExecType (150) equals Trade (F).Calculated average price of all fills on this order.
11ClOrdIDstringYID of the order being reported. Set by sender on request.
14CumQtydecimal128YTotal quantity filled on this order.
15CurrencystringNIdentifies currency used for prices, fees, and commissions within the execution report.
17ExecIDstringYUnique identifier of execution message as assigned by the exchange.
18ExecInststringCExecution instructions for the order, when present on the order.
31LastPxdecimal128CSet when ExecType (150) equals Trade (F). Price of this (last) trade.
32LastQtydecimal128CSet when ExecType (150) equals Trade (F). Quantity bought/sold of this (last) trade.
37OrderIDstringYUnique identifier of order request as assigned by the exchange.
38OrderQtydecimal128CQuantity requested. This represents the number of shares of the base asset. Always present on accepted execution reports; on a NewOrderSingle reject, only included when the inbound request set OrderQty.
39OrdStatuscharYIdentifies current status of order:
  • 0 — New
  • 1 — Partially Filled
  • 2 — Filled
  • 4 — Canceled
  • 5 — Replaced
  • 6 — Pending Cancel
  • 8 — Rejected
  • 9 — Suspended
  • A — Pending New
  • E — Pending Replace
  • C — Expired
40OrdTypecharYOrder type:
  • 1 — Market
  • 2 — Limit
41OrigClOrdIDstringCClOrdID (tag 11) of the previous order as assigned by the sender, used to identify the previous order in the cancel/replace requests.
44Pricedecimal128CLimit price for the order. Market orders report the internally stored price. Always present on accepted execution reports; on a NewOrderSingle reject, only included when the inbound request set Price.
54SidecharYSide of order:
  • 1 — Buy
  • 2 — Sell
55SymbolstringYTicker symbol. Human-readable representation of the security.
58TextstringCHuman-readable reason text. Populated when ExecType (150)=8 (Rejected) with the rejection reason, and when ExecType (150)=4 (Canceled) if the matching engine reports a cancel reason. Not sent on other execution types.
59TimeInForcecharYSpecifies how long the order remains in effect:
  • 1 — Good Till Cancel (GTC)
  • 3 — Immediate Or Cancel (IOC)
60TransactTimeutc timestampYTime the execution report was generated.
150ExecTypecharYDescribes the specific Execution report:
  • 0 — New
  • 4 — Canceled
  • 5 — Replaced
  • 6 — Pending Cancel
  • 8 — Rejected
  • A — Pending New
  • C — Expired
  • E — Pending Replace
  • F — Trade
151LeavesQtydecimal128YQuantity open for further execution.
453NoPartyIDsintYNumber of PartyID (448) and PartyRole (452) entries.
↳448PartyIDstringYStart of a new party group entryParty identifier/code.
↳452PartyRoleintYIdentifies the type or role of the PartyID (448) specified:
  • 3 — Client ID
851LastLiquidityIndintCSet when ExecType (150) equals Trade (F). Indicates whether this execution added or removed liquidity:
  • 1 — Added Liquidity
  • 2 — Removed Liquidity
  • 4 — Unknown Liquidity
880TrdMatchIDstringCSet when ExecType (150) equals Trade (F). Exchange-assigned identifier for the match that produced this execution.
136NoMiscFeesintCSet when ExecType (150) equals Trade (F). Number of miscellaneous fee entries.
↳137MiscFeeAmtdecimal128CStart of a new misc fee group entry. Fee amount for this execution.
↳139MiscFeeTypestringCType of miscellaneous fee:
  • 4 — Exchange Fees
2964SelfMatchPreventionInstintCSpecifics how this order should handle self matches. Present when self-match prevention was set on the order.
  • 1 — Cancel Aggressor
  • 3 — Cancel Both

OrderCancelReject (35=9)

TAGNAMETYPEREQDESCRIPTION
11ClOrdIDstringYAn identifier specified by the sender to uniquely identify other messages correlating to this request. Must be in one of the following formats:
  • UUID version 4 in its human readable form, with hypens, and in lowercase.
  • An ASCII string of up to 18 characters containing only the unreserved URL characters: letters (a–z, A–Z), digits (0–9), hyphen (-), underscore (_), period (.), and tilde (~).
37OrderIDstringYUnique identifier of order request as assigned by the exchange.
39OrdStatuscharYCurrent status of the order being canceled or replaced. Uses the same values listed for OrdStatus on ExecutionReport.
41OrigClOrdIDstringYClOrdID (tag 11) of the previous order as assigned by the sender, used to identify the previous order for the cancel request.
  • UUID version 4 in its human readable form, with hypens, and in lowercase.
  • An ASCII string of up to 18 characters containing only the unreserved URL characters: letters (a–z, A–Z), digits (0–9), hyphen (-), underscore (_), period (.), and tilde (~).
58TextstringCThe message will indicate why the cancel was rejected.
102CxlRejReasonintCA code to indicate a reason for more common scenarios that produce a cancel reject. Supported values include:
  • 0 — Too late to cancel
  • 1 — Unknown order
434CxlRejResponseTocharYIdentifies the type of request that a Cancel Reject is in response to:
  • 1 — Cancel Request
  • 2 — Cancel Replace Request