Cross-platform arbitrage in prediction markets is the practice of simultaneously buying YES on one platform and NO on another for the same event when the combined cost is below $1. If both positions pay out at $1 on resolution, you lock in a risk-free profit equal to the spread.
A real example
Suppose Polymarket has "Fed cuts in March" at 58% (YES costs $0.58) and Kalshi has the same event at 47% (NO costs $0.53). Buy YES on Polymarket for $0.58, buy NO on Kalshi for $0.53. Total cost: $1.11. Wait — that's more than $1. That's not arbitrage, that's a guaranteed loss.
Flip it: Polymarket at 42% (YES at $0.42) and Kalshi at 55% (NO at $0.45). Buy YES on Polymarket + NO on Kalshi: $0.87 total. One of them pays $1. Profit: $0.13 per dollar, or ~15% return on the trade, risk-free on resolution.
Why gaps exist
Gaps arise because the platforms have different user bases, different liquidity depths, and different information flows. Kalshi's US-only user base skews toward macro traders. Polymarket's global user base includes crypto-native participants with different macro priors. When a data release hits, these audiences don't update at the same speed.
Execution constraints
The main friction is capital lockup. Both legs of the trade need to be funded simultaneously, and capital is locked until resolution (which could be months). Factor in: Polymarket's 2% winning fee, Kalshi's per-contract fee, and the opportunity cost of locked capital. After fees, most apparent arbitrage opportunities are 2–8% — real, but not infinite money.