This page documents every available WebSocket channel across all four Coinbase real-time feeds. Use theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/tiagosiebler/coinbase-api/llms.txt
Use this file to discover all available pages before exploring further.
WsKey column to know which wsKey to pass to subscribe(). Channels marked 🔒 require authentication — the SDK handles signing automatically when credentials are provided.
Advanced Trade — Public Market Data
WsKey:WS_KEY_MAP.advTradeMarketDataURL:
wss://advanced-trade-ws.coinbase.comAuth: Not required (public channels)
heartbeats
Sends a heartbeat every second to confirm the connection is alive. Subscribe to prevent the connection from timing out.
status
Broadcasts trading status updates for all products (new listings, delistings, trading halts).
ticker
Real-time best bid/ask, last trade price, and 24-hour statistics for the specified products. Fires on every price update.
List of product IDs to subscribe to.
ticker_batch
Batched ticker updates delivered once per second (instead of on every tick). Useful for lower-traffic use cases.
candles
Real-time candlestick updates. Delivers the current (forming) candle at the 1-minute granularity. Each event also includes the previous two completed candles.
market_trades
Real-time stream of executed trades (public market fills).
level2
Level 2 order book updates. Delivers a full snapshot on subscription, then incremental bid/offer updates.
Advanced Trade — Private User Data
WsKey:WS_KEY_MAP.advTradeUserDataURL:
wss://advanced-trade-ws-user.coinbase.comAuth: 🔒 Required (JWT signed with CDP API key)
user
Streams updates for your open orders, including fills, cancellations, and status changes.
futures_balance_summary
Streams updates to your Coinbase Financial Markets (futures) balance summary.
Exchange — Public Market Data
WsKey:WS_KEY_MAP.exchangeMarketDataURL:
wss://ws-feed.exchange.coinbase.comSandbox:
wss://ws-feed-public.sandbox.exchange.coinbase.comAuth: Not required
Exchange WebSocket subscriptions use a slightly different format. The
channels field in subscription requests can contain either strings or objects with name and product_ids.heartbeat
Sends a heartbeat for specified products every second.
status
Broadcasts the current trading status of all products on the Exchange.
ticker
Provides real-time best bid/ask and last trade price updates.
level2
Delivers the full order book as a snapshot then streams incremental updates.
matches
Streams all executed trades for the specified products.
full
The full order book channel — streams every order lifecycle event (received, open, done, match, change). High-volume; use only when you need complete order book reconstruction.
Exchange — Private Direct Market Data
WsKey:WS_KEY_MAP.exchangeDirectMarketDataURL:
wss://ws-direct.exchange.coinbase.comSandbox:
wss://ws-direct.sandbox.exchange.coinbase.comAuth: 🔒 Required (HMAC signed with
apiKey, apiSecret, apiPassphrase)
Provides direct server access to the Exchange WebSocket feed with lower latency. Supports the same channels as exchangeMarketData, plus private channels.
user
Streams updates for your open orders, fills, and account changes.
heartbeat
Same as public heartbeat, but delivered via the authenticated direct feed.
International Exchange
WsKey:WS_KEY_MAP.internationalMarketDataURL:
wss://ws-md.international.coinbase.comSandbox:
wss://ws-md.n5e2.coinbase.comAuth: 🔒 Required for all channels (HMAC signed with
apiKey, apiSecret, apiPassphrase)
The International Exchange WebSocket feed always requires authentication — even for market data channels. Subscribe using the
SUBSCRIBE type (uppercase), which is handled automatically by the SDK. Channel names are uppercase strings. Any additional parameters (such as product_ids) are passed via the payload field and merged into the subscription request.LEVEL1
Streams real-time top-of-book (best bid/ask) quotes for a specified instrument.
Prime
WsKey:WS_KEY_MAP.primeMarketDataURL:
wss://ws-feed.prime.coinbase.comAuth: 🔒 Required for all channels
Prime WebSocket subscriptions require
svcAccountId and portfolio_id in the payload. These are included in the signed subscription request automatically by the SDK when provided.l2_data
Level 2 order book updates for a Prime trading product.
market_trades
Real-time stream of executed trades for a product.
order
Streams real-time updates for your open orders on Prime.
Quick Reference Table
| WsKey | Channel | Auth | Description |
|---|---|---|---|
advTradeMarketData | heartbeats | — | Connection keep-alive |
advTradeMarketData | status | — | Product listing/trading status changes |
advTradeMarketData | ticker | — | Real-time best bid/ask and last price |
advTradeMarketData | ticker_batch | — | Batched ticker (once per second) |
advTradeMarketData | candles | — | 1-minute candlestick updates |
advTradeMarketData | market_trades | — | Public trade executions |
advTradeMarketData | level2 | — | Full order book + incremental updates |
advTradeUserData | user | 🔒 | My orders, fills, cancellations |
advTradeUserData | futures_balance_summary | 🔒 | Futures balance updates |
exchangeMarketData | heartbeat | — | Per-product heartbeat |
exchangeMarketData | status | — | Product status |
exchangeMarketData | ticker | — | Best bid/ask, last trade |
exchangeMarketData | level2 | — | Order book snapshot + updates |
exchangeMarketData | matches | — | Public trade executions |
exchangeMarketData | full | — | Full order lifecycle feed |
exchangeDirectMarketData | user | 🔒 | My orders + account updates |
exchangeDirectMarketData | heartbeat | 🔒 | Heartbeat on direct feed |
internationalMarketData | LEVEL1 | 🔒 | Top-of-book best bid/ask quotes |
primeMarketData | l2_data | 🔒 | Level 2 order book |
primeMarketData | market_trades | 🔒 | Trade executions |
primeMarketData | order | 🔒 | My order updates |