Skip to main content
Strategy GuidesLast updated January 11, 2025

Arbitrage Guide: How to Find & Execute Cross-Platform Opportunities

A practical step-by-step guide to finding and executing prediction market arbitrage across Polymarket, Kalshi, and other platforms. Includes calculator, examples, and risk management.

#Overview

This guide teaches you how to find and execute arbitrage opportunities across prediction market platforms like Polymarket and Kalshi. You'll learn to identify price discrepancies, calculate profits after fees, size positions correctly, and manage the risks involved.

What You'll Learn:

  • How to spot arbitrage opportunities
  • Calculating profits with fees included
  • Step-by-step execution process
  • Position sizing for equal profit
  • Common mistakes to avoid

#Quick Start: The Arbitrage Formula

For a binary market (Yes/No), arbitrage exists when:

Yes Price (Platform A) + No Price (Platform B) < 100%

Example:

  • Kalshi: Yes = 55%
  • Polymarket: No = 38%
  • Total Cost = 93%
  • Guaranteed Profit = 7%

One outcome MUST happen, so you receive 100% back on a 93% investment.

Use the Arbitrage Calculator to instantly calculate opportunities including fees.


#Step 1: Find Price Discrepancies

#Where to Look

  1. PredictPedia: Compare prices across platforms for matched markets
  2. Event Pages: Check the "Cross-Platform Price Comparison" section
  3. High-Volume Markets: Politics, crypto, and sports often have discrepancies

#What Creates Opportunities

FactorWhy It Causes Price Gaps
Different usersPolymarket has crypto traders; Kalshi has traditional finance
News speedInformation reaches platforms at different times
Fee structuresKalshi ~7% vs Polymarket ~2% affects "fair" prices
LiquidityThin markets can be pushed to extreme prices

#Best Times to Find Arbitrage

  • After major news (prices update at different speeds)
  • Low-liquidity periods (weekends, overnight)
  • Near market resolution (increased volatility)
  • New market launches (prices not yet efficient)

#Step 2: Calculate True Profit (Including Fees)

Raw price differences don't tell the full story. Fees can eliminate apparent profits.

#Fee-Adjusted Formula

Net Profit = (100% × (1 - Winner Fee)) - Total Cost

#Example Calculation

InputValue
Kalshi Yes Price55%
Polymarket No Price38%
Kalshi Fee7%
Polymarket Fee2%
Capital$1,000

Scenarios:

If Yes wins:

  • Kalshi pays: 1,000×(1/0.55)×0.93=1,000 × (1/0.55) × 0.93 = 1,691
  • Lost on Polymarket: $380
  • Net: 1,6911,691 - 1,000 = $311 profit

If No wins:

  • Polymarket pays: 1,000×(1/0.38)×0.98=1,000 × (1/0.38) × 0.98 = 2,579
  • Lost on Kalshi: $550
  • Net: 2,5792,579 - 1,000 = $1,029 profit

Note: Unequal profits mean position sizing wasn't optimized. See Step 4.


#Step 3: Verify It's True Arbitrage

Before executing, confirm:

#Checklist

  • Same event? Titles may differ slightly between platforms
  • Same resolution date? Different close times = different risk
  • Same resolution criteria? Check rules on both platforms
  • Sufficient liquidity? Can you fill your order at displayed prices?
  • Account for all fees? Trading fees, withdrawal fees, gas fees

#Red Flags

Warning SignRisk
Vague resolution languagePlatforms may resolve differently
Different time zones"December 31" might mean different things
Different sources"Official results" vs "AP call"
One platform has much higher priceThey may know something

#Step 4: Size Positions for Equal Profit

To guarantee the same profit regardless of outcome, size your bets inversely to the payout ratio.

#Formula

Yes Bet = Capital × (No Return / (Yes Return + No Return))
No Bet = Capital × (Yes Return / (Yes Return + No Return))

Where:

  • Yes Return = (1 / Yes Price) × (1 - Yes Fee)
  • No Return = (1 / No Price) × (1 - No Fee)

#Example

With $1,000 capital, 55% Yes (7% fee), 38% No (2% fee):

Yes Return = (1/0.55) × 0.93 = 1.69
No Return = (1/0.38) × 0.98 = 2.58

Yes Bet = $1,000 × (2.58 / 4.27) = $604
No Bet = $1,000 × (1.69 / 4.27) = $396

This creates approximately equal profit regardless of outcome.

Tip: Use the Arbitrage Calculator to get exact position sizes.


#Step 5: Execute the Trade

Speed matters. Prices can change between identification and execution.

#Preparation

  1. Fund both platforms before you need to trade
  2. Open both platforms in separate browser tabs
  3. Pre-fill order details on both sides
  4. Use limit orders to avoid slippage

#Execution Sequence

1. Double-check prices haven't moved
2. Submit order on less liquid platform first
3. Immediately submit order on more liquid platform
4. Verify both orders filled completely
5. Screenshot/record for tax purposes

#If Partial Fill

If one order fills but the other doesn't:

  • You now have a directional position (not arbitrage)
  • Decide: wait for fill, cancel, or accept the exposure
  • This is why limit orders and liquidity checks matter

#Step 6: Wait and Collect

After execution:

  1. Monitor both positions until resolution
  2. Track the market (useful for future opportunities)
  3. Document everything for taxes
  4. Withdraw winnings after resolution

#Timeline Expectations

Market TypeTypical Resolution
Daily events (weather, stocks)1-7 days
Monthly (economic data)2-4 weeks
ElectionsMonths
Long-term predictions6+ months

Annualized Return Matters: A 5% profit over 6 months is only 10% annualized. Factor this into your decision.


#Real-World Examples

#Example 1: Election Market (September 2024)

PlatformTrump WinHarris Win
Polymarket52%47%
Kalshi48%51%

Opportunity: Buy Trump on Kalshi (48%) + Buy Harris on Polymarket (47%) = 95%

Result: 5% guaranteed return over 2 months (~30% annualized)

#Example 2: Fed Rate Decision (March 2024)

PlatformRate CutNo Cut
Polymarket78% Yes22% No
Kalshi71% Yes29% No

Opportunity: Buy Yes on Kalshi (71%) + Buy No on Polymarket (22%) = 93%

Result: 7% profit in 6 hours

#Example 3: Crypto Price Market

PlatformBTC > $100K
Polymarket65% Yes / 35% No
Kalshi58% Yes / 42% No

Opportunity: Buy Yes on Kalshi (58%) + Buy No on Polymarket (35%) = 93%

Note: Crypto markets often have larger discrepancies due to Polymarket's crypto-native users being more bullish.


#Common Mistakes

#1. Ignoring Fees

Mistake: "5% spread = 5% profit" Reality: With 7% Kalshi + 2% Polymarket fees, your 5% spread might yield 1-2% net profit.

#2. Not Checking Liquidity

Mistake: Seeing a 10% spread and trying to trade 10,000Reality:Orderbookonlysupports10,000 **Reality:** Order book only supports 500 at those prices; your order moves the market.

#3. Assuming Identical Resolution

Mistake: Both platforms ask "Will X happen?" so they're the same Reality: Different sources, time zones, or edge case handling can cause different resolutions.

#4. Slow Execution

Mistake: Taking 5 minutes to execute both legs Reality: Prices moved, opportunity vanished, now you have unhedged exposure.

#5. Over-Leveraging

Mistake: Putting all capital into one arbitrage play Reality: If something goes wrong (platform issue, resolution dispute), you lose everything.


#Risk Management

#Capital Allocation

  • Never risk more than 20% of total capital on one platform
  • Diversify across opportunities rather than sizing up one trade
  • Keep reserves for unexpected opportunities

#Platform Risk

Both platforms are relatively new. Protect yourself:

  • Don't keep more on any platform than you can afford to lose
  • Withdraw profits regularly
  • Use regulated platforms when possible (Kalshi is CFTC-regulated)

#Execution Risk Mitigation

  • Start with liquid markets (>$100K volume)
  • Use limit orders always
  • Test with small sizes first
  • Have a plan for partial fills

#Tools & Resources

#Calculators

#Price Comparison

#Platform APIs

For automated monitoring:


#FAQ

#How much can I realistically make?

Individual opportunities typically offer 2-10% profit. With 10,000capitalactivelymanaged,experiencedarbitrageursreport10,000 capital actively managed, experienced arbitrageurs report 500-2,000/month. Returns depend heavily on market conditions and how actively you trade.

Yes. Arbitrage is legal. However, you must:

  • Comply with each platform's terms of service
  • Follow your local regulations on prediction markets
  • Report profits for tax purposes

#Why doesn't everyone do this?

Several barriers:

  • Requires capital on multiple platforms
  • Opportunities are time-sensitive
  • Geographic restrictions (Kalshi is US-only; Polymarket is US-restricted)
  • Fees can eliminate small spreads
  • Requires attention and quick execution

#Can I automate this?

Yes, experienced traders build bots using platform APIs. However:

  • Requires programming skills
  • APIs have rate limits
  • Risk of bugs causing losses
  • Some platforms restrict automated trading

#What if platforms resolve differently?

This is "resolution risk" - you could lose on both sides. To minimize:

  • Read resolution criteria carefully on both platforms
  • Avoid markets with ambiguous language
  • Stick to clear, verifiable events

#Next Steps

  1. Create accounts on Polymarket and Kalshi
  2. Fund with test capital ($100-500 to start)
  3. Use PredictPedia to find price discrepancies
  4. Calculate with the Arbitrage Calculator
  5. Execute a small trade to learn the process
  6. Scale up as you gain experience

Good luck, and remember: the best arbitrage is the one where you've verified everything twice.