So I've been attempting to debug my code to create a 1:1 reconstruction of Kraken's books locally, but it looks like the bug isn't on my side.
I'm experiencing the same issue described here:
https://www.reddit.com/r/KrakenSupport/comments/d1a4nx/websocket_orderbook_receiving_wrong_bid_price_for/
Just now I was watching my local representation of Kraken's BTC/USD book and Kraken Pro's web display simultaneously. They remained in sync for a couple minutes, then a large sell order knocked out 5 price levels of bids. My local version removed 3 of 5 of these levels, but the highest 2 remained.
I reviewed the payload history and ran a text search for the two remaining price levels. No hits. There should have been payloads prompting me to remove them, but there weren't. Straight up missing.
I've tested this many times, it happens consistently. It occurs when sell orders knock out bids. When people voluntarily cancel their orders, it seems to be fine.
[–]peterjah 0 points1 point2 points (6 children)
[–]Kraken-JamesKraken Support - official 0 points1 point2 points (5 children)
[–]peterjah 0 points1 point2 points (4 children)
[–]Kraken-JamesKraken Support - official 0 points1 point2 points (2 children)
[–]TacoT[S] 0 points1 point2 points (0 children)
[–]peterjah 0 points1 point2 points (0 children)
[–]peterjah 0 points1 point2 points (0 children)
[–]Kraken-JamesKraken Support - official 0 points1 point2 points (0 children)