Bugs I found while checking what a library returns against the exchange's data and API docs. Each went to the project as a pull request or an issue, together with a script that shows it. Since 24 October 2026: 29 pull requests and 3 issues in six projects. 8 are merged, the project solved 1 more with its own change, and the rest are open.
ccxt
16 pull requests, 3 merged
mergedOKX fetchFundingHistory asked for the latest 100 bills of every swap in the currency and filtered locally, so one symbol could get 16 of its 42 payments. #30993
mergedBitstamp funding-rate history always came back empty: timestamps and symbol were not parsed. #31025
mergedBybit watchLiquidations reported the side of the position. It now reports the side of the liquidation order, as on Binance and OKX. #31042
openGate fetchLiquidations: the same side convention. #31047
openFunding-rate history pagination moved by an assumed interval instead of the returned timestamps, so symbols with shorter funding intervals came back with gaps (on Binance, 44-46% of the rows for 4h symbols). Binance #30983, OKX #30987, Gate #31006, WhiteBIT #31007, Crypto.com #31013, Phemex #31014, HitBTC #31019, BloFin #31020, HTX #31024
openOKX fetchOHLCV with pagination skipped mark and index candles: 400 of 720 hourly candles over 30 days. #30996
openBingX fetchOHLCV with pagination lost part of the range from 5m up: 1961 of 2401 hourly candles over 100 days. #31095
openCoinbase public trades carried the maker side, while unified trades use the taker side. #31032
cryptofeed
6 pull requests, 5 merged
mergedBybit liquidations had the side inverted. #1159
mergedBybit open interest was twice what Binance, OKX and Deribit report for the same contracts. #1160
mergedDeribit liquidations where the maker was liquidated came with the wrong side. #1162
mergedGate candle volume was in the quote currency instead of the base. #1169
resolvedOKX replayed the last 100 liquidations on every start of the poller. The maintainer made history an opt-in setting instead of taking my patch. #1167
nautilus_trader
2 issues, 1 pull request
openIn a backtest on bar or trade data, liquidation never triggered. Issue #5453, fix #5538
openInverse instruments: the same fills gave different realized PnL under NETTING and HEDGING. #5444
vectorbt
2 pull requests
openGross exposure of a fully short portfolio stayed at 1.0 at any price. #903
openRounding an order down to size_granularity could drop a whole lot. #894
zipline-reloaded
1 issue, 1 pull request
openCash dividends from csvdir and quandl bundles never reached the portfolio. Issue #367, fix #368
hummingbot
3 pull requests
openBybit spot candles: history older than the latest 1000 candles could not be fetched. #8512
openMEXC perpetual candles: the window went out in milliseconds where the endpoint expects seconds, so only the latest 2000 candles came back. #8513
openGate.io spot candles: a window of 1000 intervals asked for 1001 points and got HTTP 400. #8514