
I built a smart order router for Kalshi and Polymarket, saving 2.3¢ per contract on average. Here's the source code.
A few days ago, I posted here about the arbitrage spreads I found between Polymarket and Kalshi. A lot of the discussion came down to execution — finding an edge is one thing, actually getting a good fill is another. That got me looking at a different execution problem: if the same contract trades on both venues at different prices, why send the entire order to just one?
Say you want to buy 1000 contracts:
- Polymarket: 200 @ 51¢, 400 @ 53¢, 400 @ 55¢
- Kalshi: 300 @ 52¢, 500 @ 52.5¢, 200 @ 54¢
Neither venue has the best price for the full 1000. But if you merge both order books, you can take the cheapest liquidity from each. So I built a smart order router. It combines both books, adjusts each level for fees, and routes the order from the cheapest executable price outward across venues.
I tested it across ~200 markets listed on both Kalshi and Polymarket. For a 1000-contract order, routing across both venues saved an average of 2.3¢ per contract versus sending the full order to Kalshi alone.
The router is fully open source here: https://github.com/Synpath-ai/synpath
Anyone else executing across venues? What’s your experience with fill rates and partial fills?