Price Discrepancies Are the Rule, Not the Exception
Prediction markets price binary outcomes as contracts between 0 and 100 cents. If a contract for "Will the Fed cut rates in June?" trades at 62 cents on Polymarket and 57 cents on Kalshi, there is a 5-cent discrepancy on the same underlying event. In traditional financial markets, this kind of gap would be closed almost instantly by arbitrageurs. In prediction markets, these discrepancies persist for hours or sometimes days, for reasons that are both structural and practical.
The first reason is fragmented liquidity. Polymarket runs on Polygon with USDC settlement. Kalshi operates as a regulated US exchange with USD settlement. Different user bases, different capital pools, different regulatory constraints. A trader on Polymarket might be a crypto-native user comfortable with on-chain transactions, while a Kalshi trader might be a US-based individual who went through KYC and deposited via bank transfer. These populations have different information sets and different risk preferences, which leads to different prices.
How the Arbitrage Works Mechanically
Suppose a binary event is priced as follows. Platform A prices "Yes" at 60 cents. Platform B prices "Yes" at 52 cents. Since the contracts are complementary (Yes + No = $1 on each platform), Platform A prices "No" at 40 cents and Platform B prices "No" at 48 cents.
The arbitrage: buy "Yes" on Platform B for 52 cents and buy "No" on Platform A for 40 cents. Total cost: 92 cents. Regardless of the outcome, one of your positions pays $1. Guaranteed profit: 8 cents per pair, minus fees and capital costs.
This is the textbook case. In practice, several frictions reduce or eliminate the profit. Trading fees on both platforms typically run 1-2% of notional. Withdrawal fees and bridge costs (for moving capital between chains or between crypto and fiat) add up. And there is settlement timing risk, since you need capital locked on both platforms until the event resolves, which could be weeks or months.
The Capital Efficiency Problem
The biggest constraint on prediction market arbitrage is capital efficiency. To execute the trade described above, you need funded accounts on both platforms. Your capital is locked from the moment you enter the trade until the market resolves. If a contract does not settle for three months, an 8-cent profit on 92 cents of capital is an annualized return of roughly 35%, which is decent but not extraordinary, and it requires you to tie up capital the entire time.
Compare this to traditional arbitrage where positions can be closed and capital recycled quickly. In prediction markets, the binary nature of the contracts means you generally hold to settlement. There is a secondary market, you can sell your positions before the event resolves, but the spreads on exit can be wide enough to eat your profit.
Cross-Outcome Arbitrage
A more interesting variant involves multi-outcome markets. If a market asks "Who will win the presidential election?" and lists five candidates, the sum of all "Yes" prices should equal $1 (since exactly one candidate wins). If the sum exceeds $1, you can sell all outcomes and lock in a risk-free profit equal to the excess. If the sum is below $1, you can buy all outcomes.
These overround/underround situations are common. A five-candidate market might price candidates at 42, 28, 18, 9, and 7 cents, totaling 104 cents. Selling all five gives you $1.04 in revenue with a guaranteed $1 payout, netting 4 cents before fees. The excess exists because platforms need market makers to provide liquidity on each individual contract, and those market makers each build in their own edge.
Tools and Execution
Monitoring these discrepancies manually is impractical. The useful approach is to build or use tools that poll prices across platforms continuously and flag when discrepancies exceed your cost threshold. Several open-source bots exist for Polymarket specifically, and the API documentation for both Polymarket and Kalshi is straightforward enough to build a price comparison system in a few hundred lines of Python.
The execution side matters more than the detection side. When you spot a discrepancy, you need to execute on both platforms nearly simultaneously. If you buy "Yes" on the cheaper platform but the "No" price on the other platform moves before you can execute, your arbitrage may disappear or turn into a loss. This is where low-latency infrastructure and pre-funded accounts become important.
For most individual traders, the realistic opportunity is not in high-frequency arbitrage but in identifying persistent structural discrepancies, cases where regulatory, demographic, or informational differences between platforms create reliable mispricings that last long enough to capture.