I spent a few months capturing and auditing order-book and oracle data from prediction markets (Polymarket, Kalshi) for my own research. I went in wanting to find cross-venue arbitrage. What I mostly found was that my own numbers were wrong, four times, for four boring reasons.

Every one of those mistakes produces a confident, impressive, completely useless result. If you are building anything against these venues, here they are, with the fixes.

1. The order book is not sorted the way you assume

Polymarket's CLOB returns asks in descending price order. If you read asks[0] expecting the best price, you get the worst one in the book.

# wrong: reads the most expensive ask in the book