Skip to main content
The Coinbase Derivatives: Predictions FIX Market Data API lets you subscribe to order books, public trades, trade volume, open interest, and instrument status changes over FIX 5.0 SP2.

Market Data Message Types

The Coinbase Derivatives: Predictions Market Data FIX API supports the following message types. For Logon, heartbeats, and sequence recovery, see Session.
Logon (35=A), Logout (35=5), Heartbeat (35=0), TestRequest (35=1), ResendRequest (35=2), Reject (35=3), and SequenceReset (35=4). See Session.

Connection

Connect with TargetCompID (56) = CPMMD and your API key in SenderCompID (49). The API key must have the MARKET_DATA permission. You can open several sessions with one API key; see Multiple sessions per API key. Host and port are listed on the Coinbase Derivatives: Predictions Connectivity page. Header fields are on Header/Trailer. Logon, the Logon signature, heartbeats, and sequence recovery are on Session. SendingTime (52) and TransactTime (60) on messages you receive are UTC timestamps with microsecond precision.

MarketDataRequest (35=V)

Subscribes to or unsubscribes from market data for one or more instruments, or for all instruments.

Entry types

Request instrument lifecycle (269=L) on its own MDReqID. A request that combines 269=L with any other entry type is rejected with 281=8.
Only order book requests (269=0 or 1) receive an initial 35=W snapshot. Trade, trade volume, open interest, and lifecycle subscriptions deliver only changes that occur after you subscribe.
  • A multi-instrument request is all-or-nothing: if any Symbol (55) does not resolve, or a snapshot cannot be delivered, the whole request is rejected and no subscription is created.
  • To unsubscribe, send 263=2 with the MDReqID of the subscription. All instruments subscribed under that MDReqID are removed.

MarketDataSnapshotFullRefresh (35=W)

Sent once per instrument when you subscribe to the order book (269=0 or 1). The snapshot contains only the requested sides, up to the requested MarketDepth (264).

MarketDataIncrementalRefresh (35=X)

Carries order book level changes, trades, trade volume, and open interest. Each message carries one kind of update: order book levels, one trade, or trade volume and open interest.
Order book entries carry the absolute quantity at the price level. Replace your local level with MDEntrySize (271); do not add or subtract. 279=2 removes the level.
The gateway sends 279=2 only when a level’s resting quantity drops to zero. When better prices push a level out of your requested depth, no Delete is sent; truncate your local book to the requested depth.
Trade volume (269=B) and open interest (269=C) are sent with 279=0. At settlement, the message may carry only open interest (269=C), without trade volume.

MarketDataRequestReject (35=Y)

Sent when a MarketDataRequest is well-formed but cannot be accepted. No subscription is created.

SecurityStatus (35=f)

Sent to instrument lifecycle subscriptions (269=L) when an instrument is created or its trading status or symbol changes. No snapshot is sent on subscribe.

SecurityTradingStatus values

Coinbase Derivatives: Predictions assigns its own meanings to SecurityTradingStatus (326). Interpret the values by this table, not by the standard FIX descriptions.

BusinessMessageReject (35=j)

Sent when an application message cannot be processed:
  • A MarketDataRequest that is structurally malformed, for example a missing required tag or an invalid value format.
  • Any application message type other than MarketDataRequest (35=V).

Values specific to Coinbase Derivatives: Predictions

The gateway uses standard FIX 5.0 SP2 tags. The following values are specific to Coinbase Derivatives: Predictions.