Skip to main content

INTX FIX Market Data Messages

SecurityListRequest (35=x)

Submits a request to get a list of the securities available to trade on the exchange.

TagNameTypeRequiredDescription
320SecurityReqIDstringYUnique identifier for the security request used to correlate the response to the request.
559SecurityListRequestTypestringYSpecifies the scope of the security request.

Supported values include:
0 = Symbol
4 = All Securities
55SymbolstringCRequired when SecurityListRequestType (tag 559) is set to Symbol (0). The SecurityList response will only include results matching the symbol specified in this field.

SecurityList (35=y)

A response to a SecurityListRequest that includes information about the requested securities.

TagNameTypeRequiredDescription
320SecurityReqIDstringYThe SecurityReqID of the SecurityListRequest that this message is in response to
322SecurityResponseIDstringYA unique response ID
560SecurityRequestResultstringY0 = ValidReq
1 = InvalidReq
393TotNoRelatedSymintYUsed to indicate the total number of securities being returned for this request. Used in the event that message fragmentation is required.
893LastFragmentcharNN = Not Last message
Y = Last Message for SecurityListRequest
146NoRelatedSymintYWhen >0 a repeating group of instrument definitions follows.
→ 55SymbolstringYThe symbol used to represent the instrument.
→ 167SecurityTypestringYIdentifies the type of instrument. Values include:

FXSPOT = Spot pairs
PERP = Perpetual futures
→ 969MinPriceIncrementdecimalYThe tick size of the instrument.
→ 898MarginRatiodecimalYThe base initial margin requirement.
→ 21000DefaultMarginRatiodecimalNThe default initial margin requirement.
→ 870NoInstrAttribintYMarks the beginning of the Instrument Attributes repeating group component.
→→ 871InstrAttribTypeintYIdentifies the type of instrument attribute the InstrAttribValue (872) represents.

Supported values include:
40 = Average daily notional amount
41 = Average daily trade quantity
42 = Total day notional amount (30 days)
43 = Total day trade quantity (30 days)
44 = Total hour notional amount (24 hours)
45 = Total hour trade quantity (24 hours)
→→ 872InstrAttribValuestringYThe value corresponding to the InstrAttribType (871).
→ 15CurrencystringYCurrency used for price.
→ 562MinTradeVoldecimalYThe minimum quantity in terms of USDC notional value accepted for an order.
→ 1140MaxTradeVoldecimalYThe maximum quantity allowed for position size.
→ 561RoundLotdecimalYThe maximum precision allowed when specifying a quantity.
→ 1682MDSecurityTradingStatusintYIdentifies the status of the market.

Values include:
2 = Halt
17 = Ready to trade

During a halt limit orders can be submitted or canceled, but will not match. When moving from Halt (2) to Ready to trade (17) all buy orders above and all sell orders below a communicated target price get canceled before matching resumes.
During ready to trade all supported order types are accepted and continuous matching occurs.

SecurityDefinition (35=d)

Sent when a new security becomes available for trading or something changes with an existing security.

TagNameTypeRequiredDescription
980SecurityUpdateActioncharYIndicates whether the message is adding, modifying, or deleting a instrument.

Values include:
A = Add
M = Modify
D = Delete
779LastUpdateTimeutc timestampYTimestamp of the last update or creation if no updates have occurred yet.
55SymbolstringYThe symbol used to represent the instrument.
167SecurityTypestringYIdentifies the type of instrument. Values include:
FXSPOT = Spot pairs
PERP = Perpetual futures
969MinPriceIncrementdecimalYThe tick size of the instrument.
898MarginRatiodecimalYThe base initial margin requirement.
21000DefaultMarginRatiodecimalNThe default initial margin requirement.
870NoInstrAttribintYMarks the beginning of the Instrument Attributes repeating group component.
→ 871InstrAttribTypeintYIdentifies the type of instrument attribute the InstrAttribValue (872) represents.

Supported values include:
40 = Average daily notional amount
41 = Average daily trade quantity
42 = Total day notional amount (30 days)
43 = Total day trade quantity (30 days)
44 = Total hour notional amount (24 hours)
45 = Total hour trade quantity (24 hours)
→ 872InstrAttribValuestringYThe value corresponding to the InstrAttribType (871).
15CurrencystringYCurrency used for price.
562MinTradeVoldecimalYThe minimum quantity in terms of USDC notional value accepted for an order.
1140MaxTradeVoldecimalYThe maximum quantity allowed for position size.
561RoundLotdecimalYThe maximum precision allowed when specifying a quantity.
1682MDSecurityTradingStatusintYIdentifies the status of the market. Values include:
2 = Halt
17 = Ready to trade

During a halt limit orders can be submitted or canceled, but will not match. When moving from Halt (2) to Ready to trade (17) all buy orders above and all sell orders below a communicated target price get canceled before matching resumes.
During ready to trade all supported order types are accepted and continuous matching occurs.
40avgDailyQuantityTypeRequiredThe 30 days average daily traded volume, updated daily

MarketDataRequest (35=V)

Sent by the client to subscribe or unsubscribe to market data for a given security. The market data feed only supports aggregated books on levels 1, 10, or 20 (e.g., 266=Y and 264 = 10).

TagNameTypeRequiredDescription
262MDReqIDstringYA unique ID assigned by the client that is referenced on market data message relating to this request on in the following messages:

MarketDataRequestReject (35=Y)
MarketDataSnapshotFullRefresh (35=W)
MarketDataIncrementalRefresh (35=X)

And also used for a followup MarketDataRequest to unsubscribe (i.e. 263=2).
263SubscriptionRequestTypecharYType of subscription request:

1 = Subscribe (snapshots + updates)
2 = Unsubscribe
264MarketDepthintCHow many price levels from BBO inclusive to include for the market data snapshot and updates (defaults to 1). Limited to 1,10, or 20 levels and does not support full book depth.
146NoRelatedSymintNThe number of symbols in the repeating group defined below. If unspecified or set to 0 the request applies to all symbols.
→ 55SymbolstringCThe symbol used to represent the instrument. Required if NoRelatedSym > 0.
→ 167SecurityTypestringCIdentifies the type of instrument. Values include:

FXSPOT = Spot pairs
PERP = Perpetual futures

Required if NoRelatedSym > 0.

MarketDataRequestReject (35=Y)

Sent by the exchange a MarketDataRequest fails.

TagNameTypeRequiredDescription
262MDReqIDstringYThe same value provided for the MDReqID on the MarketDataRequest message.
281MDReqRejReasonintYA numerical reject code for common rejects to explain why the MarketDataRequest was rejected:

0 = Unknown symbol
1 = Duplicate MDReqID
5 = Unsupported market depth
7 = Other
58TextstringN

MarketDataSnapshotFullRefresh (35=W)

Sent in response to a MarketDataRequest. This message can contain a 2 sided list of quotes for a single security. It is used to initialize or reset the entire state of the book.

TagNameTypeRequiredDescription
262MDReqIDstringYThe same value provided for the MDReqID on the MarketDataRequest message.
55SymbolstringYThe symbol used to represent the instrument.
167SecurityTypestringYIdentifies the type of instrument. Values include:

FXSPOT = Spot pairs
PERP = Perpetual futures
268NoMDEntriesintYMarks the beginning of a repeating group for market data entries while also indicating the number of market data entries in the group. Value must be > 0.
→ 269MDEntryTypecharYIndicates the type of MD entry, values include:

0 = Bid
1 = Offer
2 = Trade
3 = Index price
6 = Settlement price
B = Trade quantity
g = Fair value limit up
h = Fair value limit down
f = Final funding rate
m = Mark price
p = Predicted funding rate
C = Open interest

  • Bid indicates the aggregated quantity interested in buying that is resting on the book at a specific price point.
  • Offer indicates the aggregated quantity interested in selling that is resting on the book at a specific price point.
  • Trade indicates the size and price of the most recent trade.
  • Index price is a calculated price based away market quotes used to determine funding for perpetual futures and calculate the fair value.
  • Settlement price indicates the price used to settle open positions which resets risk calculations for margin and unrealized P&L.
  • Trade quantity discloses how much of the instrument (in base asset/size terms) traded over the last 24 hours.
  • Fair value limit up represents the max price the market can trade at.
  • Fair value limit down represents the min price the market can trade at.
  • Final funding rate indicates the funding rate used to keep perpetual futures assets pegged to the index price.
  • Mark price is the median of the best bid, best offer, and last trade which gets used in various risk calculations.
  • Predicted funding rate gives the most recent rolling calculation update of the funding rate prior to completing a funding period for perpetual futures.
  • Open interest gives the total number of active positions held by traders.
→ 278MDEntryIDlongCA unique identifier used to reference the entry, only used for trades.
→ 270MDEntryPxdecimalYThe price of the MD entry.
→ 271MDEntrySizedecimalCThe size of the MD entry.

Not required when the MDUpdateAction (279) is a delete (2) or the MDEntryType (269) is index price (3), Settlement price (6), Fair value limit up (g), Fair value limit down (h), Final funding rate (f), Mark price (m), or Predicted funding rate (p).
→ 60TransactTimeutc timestampYThe timestamp representing when the MD entry was generated.
→ 1023MDPriceLevelintCIndicates the level of price from the BBO with the BBO price as level 1.

Not required when the MDUpdateAction (279) is a delete (2) or the MDEntryType (269) is index price (3), Settlement price (6), Fair value limit up (g), Fair value limit down (h), Final funding rate (f), Mark price (m), or Predicted funding rate (p).
→ 2446AggressorSideintCIndicates what side was the aggressor causing the match to occur. Only used for trades.

Values include: 1 = Buy
2 = Sell

MarketDataIncrementalRefresh (35=X)

Sent in response to a MarketDataRequest. This message provides incremental updates for quote changes in a single security.

TagNameTypeRequiredDescription
262MDReqIDstringYThe same value provided for the MDReqID on the MarketDataRequest message.
268NoMDEntriesintYMarks the beginning of a repeating group for market data entries while also indicating the number of market data entries in the group. Value must be > 0.
→ 279MDUpdateActioncharYIndicates the type of update, supported values include:

0 = New
1 = Change
2 = Delete
→ 269MDEntryTypecharYIndicates the type of MD entry, values include:

0 = Bid
1 = Offer
2 = Trade
3 = Index price
6 = Settlement price
B = Trade quantity
g = Fair value limit up
h = Fair value limit down
f = Final funding rate
m = Mark price
p = Predicted funding rate
C = Open interest

  • Bid (0) and Offer (1) get disseminated when orders prices within a visible BBO level post to the book, get canceled, or trade.
  • Trade (2) only gets disseminated for trade events once per trade pair (i.e. the matching portions of a buy and sell generates a single trade message).
  • Index (3) price gets disseminated when calculated (typically 1 second).
  • Settlement price (6) gets disseminated per settlement event (typically 5 minutes).
  • Trade quantity (B) gets disseminated daily around 12am UTC.
  • The Fair value limit up (g) and Fair value limit down (h) get disseminated when updated (no more frequently than once a second).
  • The Final funding rate (f) gets dissmenated at the end of the funding interval (hourly).
  • The Mark price (m) gets disseminated no more than once per second.
  • The Predicted funding rate (p) gets disseminated no more than once a second.
  • The Open interest (C) gets disseminated no more than once a second.
→ 278MDEntryIDlongCA unique identifier used to reference the entry, set to the match ID when MdEntryType (269) has value trade (2)
→ 55SymbolstringYThe symbol used to represent the instrument.
→ 270MDEntryPxdecimalCThe price of the MD entry.
→ 271MDEntrySizedecimalCThe size of the MD entry.

Only required when MDEntryType (269) is Bid (0) or Offer (1) while MDUpdateAction (279) is a New (0) or Change (1).
→ 60TransactTimeutc timestampYThe timestamp representing when the MD entry was generated.
→ 1023MDPriceLevelintCIndicates the level of price from the BBO with the BBO price as level 1.

Only required when MDEntryType (269) is Bid (0) or Offer (1) while MDUpdateAction (279) is a New (0) or Change (1).
→ 2446AggressorSideintCIndicates what side was the aggressor causing the match to occur. May not get set in certain future contexts like an opening auction.

Values include:
1 = Buy
2 = Sell

Was this helpful?