How to Find and Trade Prediction Market Arbitrage
When Kalshi and Polymarket disagree on the same event, that's an opportunity. Here's how to find it and trade it safely.
What Is Prediction Market Arbitrage?
Arbitrage in prediction markets occurs when the same event is priced differently across platforms — creating an opportunity to lock in a risk-free (or near risk-free) profit.
Simple example:
- Kalshi shows "Fed cuts rates in June" at Yes: $0.68
- Polymarket shows the same event at Yes: $0.72
This 4-cent discrepancy means the market hasn't fully agreed on the probability. A trader who acts quickly can exploit this gap.
Two Types of Prediction Market Arbitrage
Type 1: Cross-Platform Arbitrage (The Classic)
This is what Prediction Markets highlights in real time. The same event exists on two platforms at different prices.
How it works:
- Buy Yes on the platform showing the lower price (e.g. Kalshi at $0.68)
- Buy No on the platform showing the higher price (e.g. Polymarket at $0.72, meaning No = $0.28)
- Total cost: $0.68 + $0.28 = $0.96
- Guaranteed payout: $1.00 (one side always wins)
- Risk-free profit: $0.04 per contract (4 cents, or ~4.2% return)
The catch: You need funded accounts on both platforms and must act fast — spreads close quickly when other arbitrageurs see the same opportunity.
Type 2: Intra-Market Arbitrage (Advanced)
Within a single platform, related markets can sometimes be inconsistently priced.
Example:
- "Democrats win Senate" at 45%
- "Democrats hold all current Senate seats" at 52%
Logically, the second event is harder than the first — it should be priced lower. When these get out of sync, there's an opportunity. This requires deeper market knowledge and is best left until you're experienced.
How Prediction Markets Identifies Arbitrage
Prediction Markets's PlatformComparison module flags any market where the spread between platforms exceeds 2 percentage points. Here's what you'll see:
■ 3pp spread — potential arbitrage opportunity
Kalshi: Yes 68% No 32%
Polymarket: Yes 71% No 29%
We calculate the net cost of taking both sides and show whether a profit exists after fees.
The Arbitrage Checklist: Before You Trade
Not every highlighted spread is a genuine arbitrage. Work through this checklist first:
✅ Are the resolution criteria identical? This is the most important check. "Will the Fed cut rates in June?" might resolve differently on each platform based on their specific wording. Read both market descriptions carefully. If one resolves on the announcement date and another on the effective date, they're not the same market.
✅ Is the spread larger than total fees? Kalshi charges ~1-2% per trade. Polymarket charges a small taker fee. A 2pp spread may evaporate entirely after fees on both sides. Only trade when the net spread after all fees is positive.
✅ Is there enough liquidity on both sides? Check the order book depth. If you can only buy 50 contracts at the advertised price before it moves, your actual fill might eliminate the arbitrage. Prediction Markets shows 24h volume — use this as a liquidity proxy.
✅ Can you execute fast enough? Arbitrage spreads in prediction markets close within minutes — sometimes seconds. If your accounts aren't pre-funded and ready, the opportunity will be gone.
✅ Are both accounts funded in the right currency? Kalshi uses USD. Polymarket uses USDC. If you need to convert or deposit, you'll miss the trade. Keep standing balances on both platforms.
Worked Example: A Real Arbitrage Trade
Let's walk through a complete trade with actual numbers.
Setup:
- Market: "Will Bitcoin close above $100,000 on June 30?"
- Kalshi: Yes at $0.61 (61%)
- Polymarket: Yes at $0.66 (66%)
- Spread: 5 percentage points
The trade:
- Buy 100 Yes contracts on Kalshi: 100 × $0.61 = $61.00
- Buy 100 No contracts on Polymarket: 100 × $0.34 = $34.00 (No = 1 - 0.66 = $0.34)
- Total invested: $95.00
Outcomes:
- Bitcoin closes ABOVE $100K: Kalshi Yes pays $100, Polymarket No pays $0 → receive $100
- Bitcoin closes BELOW $100K: Kalshi Yes pays $0, Polymarket No pays $100 → receive $100
Gross profit: $100 - $95 = $5.00 (5.26% return)
Fees (estimated):
- Kalshi: ~$0.80 (1.3% of $61)
- Polymarket: ~$0.20 (0.6% of $34)
- Total fees: ~$1.00
Net profit: $4.00 (4.2% return)
On $95 capital, 4.2% is excellent — especially since it's approximately risk-free (subject to resolution criteria risk).
Why Arbitrage Opportunities Exist
You might wonder: if these are profitable, why don't they disappear immediately?
Several reasons:
Platform friction — Traders need funded accounts on multiple platforms. Many people only use one.
Currency friction — Kalshi is USD, Polymarket is USDC. Converting between them takes time and has its own costs.
Information lags — Not everyone sees prices update at the same time. Smaller markets update less frequently.
Thin markets — Low-volume markets have wider spreads by nature. The arbitrage exists but you can only deploy small capital.
Risk perception — Some traders see apparent arbitrage but worry about resolution criteria differences and leave it alone.
Prediction Markets reduces the first problem significantly — you can see cross-platform discrepancies the moment they open.
Sizing Your Arbitrage Positions
Even "risk-free" arbitrage has limits. Practical position sizing:
Maximum position = minimum liquidity on either side If Kalshi has $500 of Yes liquidity and Polymarket has $2,000 of No liquidity, your max position is $500 — the binding constraint.
Don't deploy your entire bankroll on one trade Resolution criteria risk is real. Keep 20-30% of your capital available for new opportunities.
Track your capital efficiency Your money is locked until resolution. A 4% return sounds great, but if the market resolves in 3 months, that's a ~16% annualised return — good, but compare it to alternative uses of capital.
The Limits of Arbitrage
Resolution risk — If platforms resolve differently (rare but possible), you could lose on both sides. Always verify resolution criteria match.
Counterparty risk — If a platform has issues paying out, your "guaranteed" profit disappears. Stick to regulated platforms (Kalshi, Polymarket).
Correlation risk — Some markets that look independent are actually correlated. Be careful when doing multiple arbitrage trades on related events.
Capital lockup — Funds are locked until resolution. The opportunity cost matters, especially in fast-moving markets.
Setting Up for Arbitrage: The Practical Setup
To trade arbitrage systematically, you need:
- Funded accounts on both Kalshi and Polymarket — minimum $500 each to be meaningful
- Prediction Markets bookmarked — check the arbitrage highlights section daily
- Both platforms open simultaneously — so you can execute both legs quickly
- A simple spreadsheet — track your open positions, expected resolution dates, and net P&L
- Alerts set up — Prediction Markets Pro alerts you when a spread exceeds your threshold
Ready to find live arbitrage opportunities? [Check the current cross-platform spreads on Prediction Markets →]