Why Price Gaps Between Kalshi and Polymarket Aren't Free Money (Most of the Time)
You've seen the 10–15¢ spreads. Here's the real classification of what they actually are.
The 5 Types of "Arbitrage"
Most price gaps between platforms fall into one of these five buckets. Only one of them is actually exploitable.
Same contract, same resolution source, same resolution date — gap exceeds combined fees on both sides and you can fill both legs without slippage.
The markets look identical but have different resolution criteria — AP call vs. federal certification, live score vs. exchange-designated source. The 'gap' isn't arb; it's pricing different things.
The apparent gap is smaller than the combined fees to open and close both sides. You pay to open, pay to close — the math doesn't work even if the spread stays open.
Kalshi is US-retail only; Polymarket is global and crypto-native. Different participant pools can sustain persistent price differences that reflect genuine disagreement between two separate user bases — not exploitable inefficiency.
Not enough information to classify. Market depth, resolution source, or contract terms are ambiguous. Don't trade on a gap you can't classify.
Why Fees Eat Apparent Arbitrage
Even when you see a real gap, the combined cost of opening and closing both legs often exceeds it.
Fee Rates by Platform
| Platform | Entry fee | Exit fee |
|---|---|---|
| Kalshi | 1.75¢/contract | None |
| Polymarket | 0.1¢/contract | None |
Fee rates are estimates — verify on the official platform website
Worked Example: 3¢ Gap
The question: "Is a 3¢ gap — Kalshi YES at 55¢, Polymarket YES at 52¢ — real arbitrage?"
What you see: Kalshi 55¢ | Polymarket 52¢ → apparent 3¢ gap
Leg 1 — buy: Buy Polymarket YES at 52¢. Fee: −0.1¢
Leg 2 — sell: Sell Kalshi YES at 55¢. Fee: −1.75¢
Total fee cost: −1.85¢
Net edge after fees: +1.15¢
Possible outcomes
You net 1.15¢ per contract. The 3¢ gap was real arbitrage after fees.
You end up long one side with open exposure plus fees paid, and no offsetting leg. What looked like a 3¢ gap was a contract-wording difference, not arbitrage.
A 3¢ gap might survive fees — but only if both legs fill at the quoted price and the contracts are truly identical. Most aren't.
Most "Arb" Is Actually Contract Mismatch
The same event, priced differently, because the resolution criteria differ in ways that matter.
Why Kalshi and Polymarket Trade at Different Prices Even on Identical Contracts
Different participant pools can sustain persistent price differences that aren't exploitable.
US retail only (Reg basis)
Global, crypto-native, no US retail (QCX LLC basis)
A price gap between US-only and global crypto markets often reflects different trader composition, not pure information disagreement.
Kalshi position limit threshold: $25,000 — large positions trigger review.
The Rarer Case: When a Gap Is Actually Exploitable
Real cross-platform arbitrage exists, but requires all six conditions to hold simultaneously.
Real Arb Checklist
- Same underlying contract terms
- Same resolution source (exact wording matches)
- Same resolution date
- Gap larger than combined fees on both sides
- You can fill both legs at quoted price (no slippage)
- Settlement timing aligns (you won't be stuck in one platform awaiting payout)
Honest bottom line
Real cross-platform arb exists but is rare and usually closed before manual traders can execute. Systematic traders with API access and automated execution are the primary beneficiaries. If you're reading this page, you're probably not trading fast enough to catch it. Where retail has real edge: category selection and resolution mechanics knowledge — not pure speed arb.