Skip to main content

NewOrderSingle (35=D)

Used to submit a new spot or perpetual future order.

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.

OrderCancelRequest (35=F)

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

OrderMassCancelRequest (35=q)

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

ExecutionReport (35=8)

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

OrderMassCancelReport (35=r)

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

OrderCancelReject (35=9)

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

BusinessMessageReject (35=j)

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

TradeCaptureReport (35=AE)

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

PreFillRequest (35=F6)

Used to subscribe to the PreFills channel to receive PreFillReports for portfolios scoped to your API key. A successful subscription is indicated by a PreFillRequestSuccess(35=F7) message with the PreFillRequestID field set to the same PreFillRequestID supplied in the PreFillRequest. An unsuccessful subscription is indicated by a BusinessMessageReject with the BusinessRejectRefID field set to the PreFillRequestID supplied in the PreFillRequest.

PreFillRequestSuccess (35=F7)

Sent in response to a successful PreFillRequest (35=F6) subscription.

PreFillReport (35=F8)

Sent by the exchange on every fill on an order to PreFills subscribers. These are not aggregated across multiple fills. Each fill has a separate PreFillReport.

RFQ Request (35=AH)

Clients must send an RFQ Request message (35=AH) after each successful Logon message (35=A) for any session in which they are interested in receiving Quote Requests.
  • If the session submitting this request is not approved by Coinbase for participating in the RFQ program, this request is rejected with a Business Message Reject (j).If this request is acknowledged, and no symbol is specified, this session receives all Quote requests (all assets).

Quote Request (35=R)

Sent by the exchange to signal the start of the RFQ process. Coinbase sends a Quote Request to Liquidity Providers (LPs) on behalf of a customer looking to participate in an RFQ trade. LPs respond to a Quote Request with a Quote (S).

Quote (35=S)

Quote (S) messages are submitted by Liquidity Providers (LP) in response to a Quote Request (R) in order to participate in the competitive RFQ auction. Quotes can be submitted as either a one-way or two-way quote, and must be received by the ValidUntilTime (62) specified in the Quote Request. Only one side is traded if the Liquidity Provider wins the RFQ.

Quote Status Report (35=AI)

Sent by the exchange to Liquidity Providers with Quote statuses and expired Quote Requests.
  • If the Quote (S) is rejected b/c validation checks failed or it was sent too late, the response to the quoter is 297=5 (QuoteStatus = Rejected).
  • If the Quote (S) is accepted and eligible to participate in an RFQ auction, the response to the quoter is 297=16 (QuoteStatus = Active).
  • If the Quote (S) is accepted but not selected for execution, the response to the quoter is 297=17 (QuoteStatus = Canceled).
  • If the Quote (S) is accepted and selected for execution, the response to the quoter is 297=19 (QuoteStatus = Pending End Trade), followed by Execution Report - Filled.
  • If the Quote Request (r) is unmatched by ExpireTime (126) on the Quote Request, 297=7 (QuoteStatus = Expired) is broadcast to all LPs.

QuoteResponse (35=AJ)

Sent by a customer (taker/broker) to accept a Quote and initiate a trade in an RFQ auction.