Spot Order Routing to Coinbase Exchange
Docs Added: 2025-OCT-7 Introducing support to route spot orders to rest and match on equivalent Coinbase Exchange books. Unless otherwise noted, the following only applies for spot instruments configured to route orders to Coinbase Exchange, orders routed to Coinbase Exchange, or fills on orders routed to Coinbase Exchange. Where noted, “forwarded” properties indicate that Coinbase International Exchange will publish data from Coinbase Exchange. For example, in the REST API’s List Instruments endpoint, for spot instruments configured to route orders to Coinbase Exchange, theqty_24hr
property is forwarded, meaning it will represent the 24 hour trading volume for the instrument on Coinbase Exchange rather than on Coinbase International Exchange. For data returned by Coinbase Exchange, please refer to the Coinbase Exchange API documentation.
REST API
List instruments, Get instrument details
Response
The following only applies for spot instruments configured to route spot orders to Coinbase Exchange.Property | Type | Description |
---|---|---|
qty_24hr | string | Forwarded from Coinbase Exchange |
avg_daily_qty | string | Forwarded from Coinbase Exchange |
previous_day_qty | string | Forwarded from Coinbase Exchange |
trading_state | string | New available options include: AUCTION_MODE , CANCEL_ONLY , POST_ONLY , LIMIT_ONLY , TRADING_DISABLED , CANCEL_ONLY_ENFORCED_BY_COINBASE_INTERNATIONAL_EXCHANGE , COINBASE_EXCHANGE_UNREACHABLE All new options, except for the following, are forwarded from Coinbase Exchange. CANCEL_ONLY_ENFORCED_BY_COINBASE_INTERNATIONAL_EXCHANGE means Coinbase International Exchange only permits order cancellation separately from Coinbase Exchange. COINBASE_EXCHANGE_UNREACHABLE means the Coinbase International Exchange component is unable to establish connectivity with Coinbase Exchange |
notional_24hr | string | Will not be populated |
avg_daily_notional | string | Will not be populated |
quote → best_bid_price | string | Forwarded from Coinbase Exchange |
quote → best_ask_price | string | Forwarded from Coinbase Exchange |
quote → best_bid_size | string | Forwarded from Coinbase Exchange |
quote → best_ask_size | string | Forwarded from Coinbase Exchange |
quote → trade_price | string | Forwarded from Coinbase Exchange |
quote → trade_size | string | Forwarded from Coinbase Exchange |
quote → limit_up | string | Will not be populated |
quote → limit_down | string | Will not be populated |
Get quote per instrument
Response
The following only applies for spot instruments configured to route spot orders to Coinbase Exchange.Property | Type | Description |
---|---|---|
best_bid_price | string | Forwarded from Coinbase Exchange |
best_ask_price | string | Forwarded from Coinbase Exchange |
best_bid_size | string | Forwarded from Coinbase Exchange |
best_bid_size | string | Forwarded from Coinbase Exchange |
trade_price | string | Forwarded from Coinbase Exchange |
trade_size | string | Forwarded from Coinbase Exchange |
limit_up | string | Will not be populated |
limit_down | string | Will not be populated |
Get daily trading volumes
Response
The following only applies for spot instruments configured to route spot orders to Coinbase Exchange.Property | Type | Description |
---|---|---|
instruments → notional | string | Will not be populated |
totals → total_instruments_volume | string | Excludes spot instruments which route orders to Coinbase Exchange |
totals → total_instruments_notional | string | Excludes spot instruments which route orders to Coinbase Exchange |
totals → total_exchange_volume | string | Excludes spot instruments which route orders to Coinbase Exchange |
totals → total_exchange_notional | string | Excludes spot instruments which route orders to Coinbase Exchange |
Get aggregated candles data per instrument
Not supported for spot instruments configured to route orders to Coinbase Exchange.Create order, Get order details, Cancel order, Cancel orders
The following only applies for orders routed to Coinbase Exchange.Property | Type | Description |
---|---|---|
text | string | Value may be forwarded from Coinbase Exchange |
List fills by portfolios
The following only applies for fills executed on Coinbase Exchange.Property | Type | Description |
---|---|---|
execution_venue | string | The following existing values for fills executed on Coinbase International Exchange will be renamed:CLOB will be renamed to COINBASE_INTERNATIONAL_EXCHANGE_CLOB RFQ will be renamed to COINBASE_INTERNATIONAL_EXCHANGE_RFQ The following values for fills executed on Coinbase Exchange will be added: COINBASE_EXCHANGE_CLOB COINBASE_EXCHANGE_RFQ Values suffixed with CLOB indicate fills which occurred on the central limit order book (CLOB). Values suffixed with RFQ indicate fills matches through an RFQ process |
FIX API, Order Entry & Drop Copy
ExecutionReport (35=8)
The following only applies for orders routed to Coinbase Exchange.Tag | Name | Type | Required | Notes |
---|---|---|---|---|
103 | OrdRejReason | int | C | For spot orders routed to Coinbase Exchange, new potential values include: 49 = BROKER 50 = UNKNOWN_SYMBOL 51 = EXCHANGE_CLOSED 52 = ORDER_EXCEEDS_LIMIT 53 = TOO_LATE_TO_ENTER 54 = DUPLICATE_ORDER 55 = DUPLICATE_OF_A_VERBALLY_COMMUNICATED_ORDER 56 = STALE_ORDER 57 = TRADE_ALONG_REQUIRED 58 = INVALID_INVESTOR_ID 59 = UNSUPPORTED_ORDER_CHARACTERISTIC 60 = SURVEILLENCE_OPTION 61 = INCORRECT_ALLOCATED_QUANTITY 62 = UNKNOWN_ACCOUNT 63 = OTHER 64 = COINBASE_EXCHANGE_DEPOSIT_FAILED |
1430 | VenueType | char | N | The following existing values for orders executed on Coinbase International Exchange will be renamed to: E = COINBASE_INTERNATIONAL_EXCHANGE_ELECTRONIC_EXCHANGE N = COINBASE_INTERNATIONAL_EXCHANGE_QUOTE_NEGOTIATION The following values for spot orders routed to Coinbase Exchange will be added: X = COINBASE_EXCHANGE_ELECTRONIC_EXCHANGE Q = COINBASE_EXCHANGE_QUOTE_NEGOTIATION Values suffixed with ELECTRONIC_EXCHANGE indicate trades which occur on the central limit order book (CLOB). Values suffixed with QUOTE_NEGOTIATION indicate trades through an RFQ process |
58 | Text | string | N | Value may be forwarded from Coinbase Exchange |
OrderCancelReject (35=9)
The following only applies for spot orders routed to Coinbase Exchange.Tag | Name | Type | Required | Notes |
---|---|---|---|---|
102 | CxlRejReason | int | N | For spot orders routed to Coinbase Exchange, new potential values include: 26 = TOO_LATE_TO_CANCEL 27 = BROKER 28 = UNABLE_TO_PROCESS_ORDER_MASS_CANCEL_REQUEST 29 = ORIGORDMODTIME 30 = DUPLICATE_CLORDID 31 = PRICE_EXCEEDS_CURRENT_PRICE 32 = PRICE_EXCEEDS_CURRENT_PRICE_BAND 33 = INVALID_PRICE_INCREMENT 34 = OTHER |
58 | Text | string | N | Value may be forwarded from Coinbase Exchange |
PreFillReport (35=F8)
Not sent for spot orders routed to Coinbase Exchange.FIX API, Market Data
For spot instruments configured to route spot orders to Coinbase Exchange, all values represent the unless otherwise noted,SecurityList (35=y) & SecurityDefinition (35=d)
The following only applies for spot instruments configured to route spot orders to Coinbase Exchange.Tag | Name | Type | Required | Notes |
---|---|---|---|---|
871 | InstrAttribType | int | Y | The following values are not sent: 40 = Average daily notional amount 42 = Total day notional amount (30 days) 44 = Total hour notional amount (24 hours) Other values are forwarded from Coinbase Exchange |
1682 | MDSecurityTradingStatus | int | Y | New values include: 100 = AUCTION_MODE 101 = CANCEL_ONLY 102 = POST_ONLY 103 = LIMIT_ONLY 104 = TRADING_DISABLED 105 = CANCEL_ONLY_ENFORCED_BY_COINBASE_INTERNATIONAL_EXCHANGE 106 = COINBASE_EXCHANGE_UNREACHABLE All new options, except for the following, are forwarded from Coinbase Exchange. CANCEL_ONLY_ENFORCED_BY_COINBASE_INTERNATIONAL_EXCHANGE means Coinbase International Exchange only permits order cancellation separately from Coinbase Exchange. COINBASE_EXCHANGE_UNREACHABLE means the Coinbase International Exchange component is unable to establish connectivity with Coinbase Exchange |
MarketDataSnapshotFullRefresh (35=W) & MarketDataIncrementalRefresh (35=X)
The following only applies for spot instruments configured to route spot orders to Coinbase Exchange.Tag | Name | Type | Required | Notes |
---|---|---|---|---|
269 | MDEntryType | char | Y | The following values are not sent: 4 = Opening price g = Fair value limit up h = Fair value limit down Other values are forwarded from Coinbase Exchange |
2446 | AggressorSide | int | C | Forwarded from Coinbase Exchange |
WebSocket Feed
INSTRUMENTS Channel
The following only applies for spot instruments configured to route spot orders to Coinbase Exchange.Response
Property | Description |
---|---|
trading_state | New available options include: auction_mode , cancel_only , post_only , limit_only , trading_disabled , cancel_only_enforced_by_coinbase_international_exchange , coinbase_exchange_unreachable All new options, except for the following, are forwarded from Coinbase Exchange. cancel_only_enforced_by_coinbase_international_exchange means Coinbase International Exchange only permits order cancellation separately from Coinbase Exchange. coinbase_exchange_unreachable means the Coinbase International Exchange component is unable to establish connectivity with Coinbase Exchange |
avg_daily_quantity | Forwarded from Coinbase Exchange |
total_30_day_quantity | Forwarded from Coinbase Exchange |
total_24_hour_quantity | Forwarded from Coinbase Exchange |
avg_daily_volume | Will not be populated |
total_30_day_volume | Will not be populated |
total_24_hour_volume | Will not be populated |
indicative_open_price | Will not be populated |
min_quantity | Will not be populated |