Need for lightweight WebSocket channel for just the BBO (best bid/offer)

I want to be updated of the BBO for every asset pair (there are 630 or so on Coinbase).
It is currently only possible via REST endpoint, but that is obviously too slow to manage for 630 pairs. Plus, with REST you are polling, whereas a web socket has the advantage that it pushes updates to you when they happen.

I know the level2 channel exists, but this has updates for the entire orderbook. I just want to know the BBO, a.k.a. the first best layer of the orderbook. As other users also pointed out, your message structure for level2 messages (or any message, really) is ridiculously verbose. Now imagine that for 630 pairs.

Other exchanges have a way better message structure for their orderbook, optimized for bandwidth. Example:

{"a": [
        ["0.05120", "0.00000500", "1582905486.493008"],
        ["0.05275", "0.00000500", "1582905486.493034"]
{"b": [
        ["0.04765", "0.00000500", "1582905486.493008"],
        ["0.04940", "0.00000500", "1582905486.493034"]

^ where it is documented that a = asks and b = bids, and the numbers are in order of price, volume, timestamp.
Compare this to Coinbase which writes out every word in full, for every single line in the order book…


And contains garbage data, such as event_time always being 1970-01-01 (epoch time).

Please provide a lightweight web socket channel for the BBO only.

It was available in the ticker channel on Pro, but not there any longer for Advanced…

Hey @Darrow! Thank you so much for sharing this. The example given above would be helpful. We are taking this as a feedback and will be sharing it further with our teams. For now we are unable to provide an ETA, but be assured that this will be reviewed and we will keep you update about any improvement on this. We are always grateful for such feedbacks.
Thank you!

1 Like

Same boat, looking for lightweight BBO WS subscription.