Skip to main content
Back to Blog

Polymarket vs Kalshi Arbitrage: 7 Costly Mistakes to Avoid

10 minPredictEngine TeamStrategy
# Polymarket vs Kalshi Arbitrage: 7 Costly Mistakes to Avoid **Arbitrage between Polymarket and Kalshi looks straightforward on paper — find a price gap, bet both sides, lock in profit.** In practice, traders consistently lose money because of fees, liquidity traps, regulatory mismatches, and timing errors that silently eat into every trade. Understanding these pitfalls before you deploy capital is the difference between a profitable cross-platform strategy and an expensive lesson. --- ## Why Polymarket vs Kalshi Arbitrage Is So Appealing It's easy to see the appeal. Two of the biggest prediction market platforms often price the same event — an election outcome, a Fed rate decision, an economic indicator — at meaningfully different odds. A 6-cent gap on a binary contract sounds small until you're moving $10,000 through it. **Polymarket** operates on the Polygon blockchain, is unregulated for U.S. users (technically restricted, though widely accessed), and draws heavy crypto-native liquidity. **Kalshi** is a CFTC-regulated exchange based in the U.S., operates with real USD accounts, and attracts more institutional and retail compliance-conscious traders. That structural difference is exactly why price gaps exist — and exactly why they're harder to exploit than they appear. If you're also exploring automated approaches to closing these gaps, check out [AI Agents for Prediction Markets: Beginner's Guide 2026](/blog/ai-agents-for-prediction-markets-beginners-guide-2026) for an overview of how software can monitor both platforms simultaneously. --- ## Mistake #1: Ignoring the True Cost of Fees on Both Sides This is the single most common mistake, and it destroys more arbitrage trades than any other factor. ### Breaking Down the Fee Structures | Platform | Trading Fee | Withdrawal Fee | Settlement Fee | |---|---|---|---| | Polymarket | ~2% on winnings | Gas fees (~$0.01–$0.10 on Polygon) | None (auto-settled via smart contract) | | Kalshi | ~7% on winnings | $0 (ACH) / variable (wire) | None | | Net Impact on $1,000 trade | ~$20 | ~$1 | — | | Net Impact on $1,000 trade (Kalshi) | ~$70 | ~$0 | — | At first glance, a 5-cent price gap on a $1,000 position looks like a $50 profit. After Kalshi's 7% fee on winnings, you're looking at a net loss on most mid-range contracts. **You need to model the fee-adjusted expected value before executing any cross-platform arb.** The formula is simple: **Profit = (Price Gap × Position Size) − (Fee_Polymarket × Win Amount) − (Fee_Kalshi × Win Amount)** If the result is negative or under ~$10 for small positions, the trade isn't worth it. --- ## Mistake #2: Treating the Contracts as Identical When They're Not Even when two platforms list what appears to be the "same" event, the **contract resolution rules can differ significantly**. ### Common Resolution Mismatches - **Election contracts**: Polymarket often resolves on the call by major media outlets (AP, Fox News, NBC). Kalshi resolves based on certified official results. In a contested election, these could resolve differently — or on wildly different timelines. - **Economic indicator contracts**: A "Will CPI exceed 3.5% in June?" contract may use different data releases or revision policies across platforms. - **Sports events**: Overtime rules, tiebreaker criteria, and postponement policies vary. In the 2022 midterms, several election markets on different platforms took days to weeks longer to resolve than anticipated. Traders holding "locked" capital on one side of an arb faced significant opportunity cost — and in some cases, the contracts resolved in opposite directions due to definitional differences. Before executing, **read the resolution criteria verbatim on both platforms**. This sounds tedious. It's mandatory. For deeper analysis on how election markets specifically behave, [Election Outcome Trading: Real-World Case Studies & Examples](/blog/election-outcome-trading-real-world-case-studies-examples) covers several scenarios where definitional gaps cost traders real money. --- ## Mistake #3: Underestimating Liquidity Risk A price gap exists. You go to take the trade on Kalshi. You get partial fill at the displayed price, and the rest fills 3 cents worse. Meanwhile, your Polymarket leg already executed at the full size. You're now directionally exposed — the opposite of what you wanted. ### How to Assess Liquidity Before Trading 1. **Check the order book depth**, not just the best bid/ask. A tight spread with only $200 sitting at that price is a trap. 2. **Calculate your position size relative to available liquidity.** If you want to move $5,000 and there's $1,200 on the book, expect significant slippage. 3. **Use limit orders**, not market orders, on both sides simultaneously or in rapid succession. 4. **Monitor time-of-day liquidity.** Both platforms see higher activity during U.S. market hours and around news events. 5. **Account for slippage in your profit model.** Assume you'll get at least 1–2 cents worse than the displayed price on medium-to-large trades. Kalshi in particular has thinner liquidity on niche contracts. Polymarket benefits from global crypto liquidity but can also gap sharply on news. **Never enter an arb leg unless you've confirmed the other side is executable at a profitable price.** --- ## Mistake #4: Miscalculating the Capital Lockup Period This mistake is subtle but financially significant. Arbitrage isn't just about locking in a spread — it's about **locking in a spread relative to the time your capital is tied up**. If you commit $2,000 across both platforms on a contract that resolves in 6 months, and you're earning a 4% gross spread, that's approximately 8% annualized — before fees. After Kalshi's 7% fee on winnings, your net annualized return may be under 2%. A money market fund beats that with zero complexity. ### The Hidden Time Cost Calculation **Annualized Return = (Net Profit / Capital Deployed) × (365 / Days to Resolution)** Always run this calculation before every trade. Contracts that look profitable often fail this test when you account for: - Slow-resolving edge cases (disputed events, rule changes) - Capital locked on Kalshi during withdrawal processing (1–3 business days via ACH) - USDC on Polygon needing bridging time if you need to exit quickly If you're managing a small portfolio specifically on Kalshi, the [Kalshi Trading Risk Analysis: Small Portfolio Survival Guide](/blog/kalshi-trading-risk-analysis-small-portfolio-survival-guide) is essential reading before committing capital to long-duration arb positions. --- ## Mistake #5: Ignoring Regulatory and Access Risk **Polymarket is not legally accessible to U.S. users.** This is not a gray area — the platform's terms of service explicitly restrict U.S. persons. Many traders access it anyway via VPNs, but this creates specific risks that matter for arbitrage: - **Account bans and frozen funds** if Polymarket detects U.S.-based access - **No legal recourse** if a smart contract has a bug or a resolution is disputed - **KYC/AML mismatches** between what you report on Kalshi (a regulated U.S. exchange) and what you're doing on Polymarket Kalshi, by contrast, requires full identity verification and reports to U.S. regulators. The asymmetry in regulatory treatment means that if something goes wrong on the Polymarket side — a hack, a disputed resolution, a liquidity crisis — you have limited options. **Risk-adjusted arbitrage requires accounting for platform risk, not just price risk.** --- ## Mistake #6: Failing to Automate Monitoring Manual monitoring of price gaps across two platforms is simply not competitive. By the time you've spotted a 5-cent gap, refreshed both order books, and placed your trades, the gap is frequently gone — or has already moved against you. ### Steps to Build a Basic Monitoring Setup 1. **Pull price data via APIs** — Kalshi has a documented REST API; Polymarket data is accessible via The Graph (on-chain) and third-party aggregators. 2. **Set threshold alerts** — flag any gap above your minimum profitable spread (e.g., 4 cents after estimated fees). 3. **Pre-authorize capital on both platforms** so you can execute within seconds of a signal. 4. **Log all attempted trades**, including partial fills and slippage, to refine your fee and liquidity models over time. 5. **Review performance weekly** and adjust thresholds based on actual realized spreads vs. modeled spreads. Tools like [PredictEngine](/) are built specifically for this kind of cross-platform monitoring, giving traders structured price feeds and alerting infrastructure without having to build everything from scratch. For traders interested in more algorithmic approaches, the piece on [Reinforcement Learning Trading: Quick Reference June 2025](/blog/reinforcement-learning-trading-quick-reference-quick-reference-june-2025) covers how adaptive models can improve signal detection over time. --- ## Mistake #7: Treating Every Price Gap as an Arbitrage Opportunity Not every price difference is exploitable. Some are there for good reason. ### When a Gap Is NOT Arbitrage - **Information asymmetry**: One platform's market participants know something the other's don't. The gap reflects genuine uncertainty, not mispricing. - **Resolution date mismatch**: The contracts technically resolve on different dates or under different conditions, creating a synthetic spread that isn't convergent. - **Liquidity premium**: Thin-market contracts on Kalshi often carry a wider spread simply because there aren't enough participants to tighten it — not because it's mispriced relative to Polymarket. - **Sentiment divergence**: Crypto-native Polymarket users may systematically misprice politically charged events relative to Kalshi's more mainstream user base. This isn't a stable arb — it's a directional bet on which crowd is right. True arbitrage requires **near-certain convergence**. If there's meaningful uncertainty about whether both legs will resolve identically, you're not arbitraging — you're speculating with complexity. --- ## Comparison: Polymarket vs Kalshi at a Glance | Feature | Polymarket | Kalshi | |---|---|---| | Regulation | Unregulated (U.S. restricted) | CFTC-regulated | | Settlement Currency | USDC (crypto) | USD (bank) | | Fee on Winnings | ~2% | ~7% | | Liquidity | High on major markets | Moderate, growing | | API Access | Via Graph Protocol / aggregators | Official REST API | | Resolution Disputes | Community/UMA oracle | Kalshi compliance team | | U.S. Legal Access | Restricted | Yes | | Typical Spread | $0.01–$0.03 | $0.02–$0.05 | --- ## Frequently Asked Questions ## Is arbitrage between Polymarket and Kalshi actually profitable? Yes, but only under specific conditions — primarily when the price gap exceeds the combined fee load (roughly 4–5 cents on most contracts), liquidity is sufficient for your position size, and both contracts have identical resolution criteria. Many apparent opportunities disappear once fees and slippage are properly modeled. ## What is the minimum price gap needed to profit from Polymarket-Kalshi arbitrage? Given Kalshi's ~7% fee on winnings and Polymarket's ~2%, you generally need a raw price gap of at least 5–6 cents on a $1 binary contract to break even. For a comfortable profit margin, most experienced traders target gaps of 8 cents or more after accounting for expected slippage. ## Can I use bots to automate Polymarket vs Kalshi arbitrage? Yes, and for competitive arbitrage, automation is essentially required. Both platforms offer API access (Polymarket via on-chain data, Kalshi via REST API), and tools like [PredictEngine](/) can monitor spreads in real time. Without automation, you'll routinely miss gaps before they close. You can also explore [/polymarket-arbitrage](/polymarket-arbitrage) for platform-specific tooling. ## Why do price gaps between Polymarket and Kalshi exist in the first place? Primarily because the two platforms attract different user bases — crypto-native traders on Polymarket and more mainstream U.S. retail/institutional users on Kalshi. Different information sets, different sentiment biases, and different liquidity profiles create persistent but often small price divergences. Regulatory differences also prevent the kind of fast cross-platform capital flow that would otherwise close gaps instantly. ## What happens if one contract resolves differently than expected? If the resolution criteria differ and contracts resolve in opposite directions, you face a full loss on one side without the offsetting win on the other. This is why reading both resolution criteria verbatim before trading is non-negotiable. Always model the "misresolution" scenario before entering any cross-platform position. ## Is Polymarket legal for U.S. traders? Officially, no. Polymarket's terms of service restrict U.S. users, and the platform has faced regulatory scrutiny. Kalshi is fully CFTC-regulated and legal for U.S. traders. Attempting to access Polymarket from the U.S. via VPN carries account and legal risk that must be factored into any strategy built around cross-platform trading. --- ## The Bottom Line: Discipline Beats Opportunity-Chasing **Polymarket vs Kalshi arbitrage is a real strategy — but it rewards precision, not enthusiasm.** The traders who consistently profit are those who model fees before every trade, verify resolution criteria obsessively, respect liquidity constraints, and automate their monitoring rather than relying on manual spot-checking. The mistakes covered here — fee blindness, contract mismatch, liquidity overconfidence, lockup miscalculation, regulatory naivety, manual monitoring, and confusing spreads for arb — collectively account for the vast majority of failed attempts in this space. If you're serious about prediction market arbitrage, [PredictEngine](/) gives you the infrastructure to monitor both platforms, model fee-adjusted spreads in real time, and execute with better timing than manual approaches allow. Pair that with the analytical depth from resources like [Swing Trading Prediction Markets: Beginner Tutorial for Q2 2026](/blog/swing-trading-prediction-markets-beginner-tutorial-for-q2-2026) and [AI-Powered Prediction Market Liquidity Sourcing on Mobile](/blog/ai-powered-prediction-market-liquidity-sourcing-on-mobile), and you'll be operating with a genuine edge rather than guessing at price gaps. Start with small positions, track everything, and only scale what's demonstrably profitable after fees.

Ready to Start Trading?

PredictEngine lets you create automated trading bots for Polymarket in seconds. No coding required.

Get Started Free

Continue Reading