#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
- PredictPedia: Compare prices across platforms for matched markets
- Event Pages: Check the "Cross-Platform Price Comparison" section
- High-Volume Markets: Politics, crypto, and sports often have discrepancies
#What Creates Opportunities
| Factor | Why It Causes Price Gaps |
|---|---|
| Different users | Polymarket has crypto traders; Kalshi has traditional finance |
| News speed | Information reaches platforms at different times |
| Fee structures | Kalshi ~7% vs Polymarket ~2% affects "fair" prices |
| Liquidity | Thin 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
| Input | Value |
|---|---|
| Kalshi Yes Price | 55% |
| Polymarket No Price | 38% |
| Kalshi Fee | 7% |
| Polymarket Fee | 2% |
| Capital | $1,000 |
Scenarios:
If Yes wins:
- Kalshi pays: 1,691
- Lost on Polymarket: $380
- Net: 1,000 = $311 profit
If No wins:
- Polymarket pays: 2,579
- Lost on Kalshi: $550
- Net: 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 Sign | Risk |
|---|---|
| Vague resolution language | Platforms may resolve differently |
| Different time zones | "December 31" might mean different things |
| Different sources | "Official results" vs "AP call" |
| One platform has much higher price | They 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
- Fund both platforms before you need to trade
- Open both platforms in separate browser tabs
- Pre-fill order details on both sides
- 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:
- Monitor both positions until resolution
- Track the market (useful for future opportunities)
- Document everything for taxes
- Withdraw winnings after resolution
#Timeline Expectations
| Market Type | Typical Resolution |
|---|---|
| Daily events (weather, stocks) | 1-7 days |
| Monthly (economic data) | 2-4 weeks |
| Elections | Months |
| Long-term predictions | 6+ 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)
| Platform | Trump Win | Harris Win |
|---|---|---|
| Polymarket | 52% | 47% |
| Kalshi | 48% | 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)
| Platform | Rate Cut | No Cut |
|---|---|---|
| Polymarket | 78% Yes | 22% No |
| Kalshi | 71% Yes | 29% No |
Opportunity: Buy Yes on Kalshi (71%) + Buy No on Polymarket (22%) = 93%
Result: 7% profit in 6 hours
#Example 3: Crypto Price Market
| Platform | BTC > $100K |
|---|---|
| Polymarket | 65% Yes / 35% No |
| Kalshi | 58% 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 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
- Arbitrage Calculator - Calculate profits with fees
- Implied Probability Calculator - Convert prices to probabilities
#Price Comparison
- PredictPedia Search - Compare markets across platforms
- Event Pages - See cross-platform pricing on matched events
#Platform APIs
For automated monitoring:
#Related Wiki Articles
- Arbitrage - Detailed theory and research
- Cross-Platform Trading
- Order Book
- Slippage
- Liquidity
#FAQ
#How much can I realistically make?
Individual opportunities typically offer 2-10% profit. With 500-2,000/month. Returns depend heavily on market conditions and how actively you trade.
#Is this legal?
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
- Create accounts on Polymarket and Kalshi
- Fund with test capital ($100-500 to start)
- Use PredictPedia to find price discrepancies
- Calculate with the Arbitrage Calculator
- Execute a small trade to learn the process
- Scale up as you gain experience
Good luck, and remember: the best arbitrage is the one where you've verified everything twice.