On this page
Getting Started
Understanding the basics of prediction market arbitrage
What is Arbitrage?
Arbitrage is the practice of taking advantage of price differences between two or more markets. In the context of prediction markets, this means identifying events that are priced differently on Polymarket and Kalshi, allowing you to profit from the price discrepancy.
ArbRadar continuously monitors both platforms and calculates the potential profit (spread) for matching events. Our terminal displays these opportunities in real-time, allowing you to act quickly on profitable trades.
How It Works
Data Collection
We fetch live market data from both Polymarket and Kalshi APIs, including prices, volumes, and event metadata.
Event Matching
Our similarity algorithm compares event titles and metadata to identify matching markets across platforms (see Match Scoring below).
Spread Calculation
We calculate the price difference between matched markets, accounting for platform fees and transaction costs.
Real-time Display
Profitable opportunities (5%+ profit) are displayed in the terminal, sorted by profit potential.
Match Scoring System
How we determine event similarity between platforms
Similarity Algorithm
Each opportunity displays a match percentage indicating how confident we are that events on both platforms refer to the same outcome. Our algorithm uses multiple factors:
Text Similarity (Jaccard Index)
We tokenize and normalize event titles, then compare the word overlap. Common words like "the", "a", "and" are removed. Higher overlap = higher similarity score.
Keyword Matching
Important keywords (Trump, Biden, Bitcoin, etc.) are weighted more heavily. Matching keywords boost the score, while mismatches reduce it.
Number Matching
Numbers in titles (dates, thresholds, etc.) must match. Events with different numerical values are penalized.
Substring Detection
If one title is a substring of another, we apply a bonus based on length ratio. This handles cases where one platform uses a shortened version.
Match Quality Thresholds
Excellent Match
High confidence - Events are almost certainly identical. Safe to proceed.
Good Match
Likely the same event, but verify resolution criteria manually before trading.
Moderate Match
Possible match, but requires careful verification. Check end dates and resolution rules.
Example Matching Process
Polymarket Event:
"Will Donald Trump win the 2024 election?"
Kalshi Event:
"Will Trump win 2024 presidential election?"
Scoring Breakdown:
- • Word overlap (trump, win, 2024, election): +40%
- • Keyword match (Trump, 2024): +20%
- • Number match (2024): +10%
- • Substring similarity: +15%
- = 85% match (Excellent)
Understanding the Terminal
Key metrics and how to read them
Profit Percentage
The percentage profit after accounting for fees and transaction costs. Higher percentages indicate larger profit potential. Only opportunities with 5%+ profit are displayed.
Match Percentage
Confidence score (60-100%) indicating how similar the events are across platforms. Higher scores mean better matches. See Match Scoring section for details.
Price Comparison
Shows the outcome probability pricing on both Polymarket and Kalshi. Buy low on one platform and sell high on the other to capture the spread.
Spread & Liquidity
Price spread and liquidity indicators for both platforms. Higher liquidity means easier execution of your arbitrage strategy at displayed prices.
How to Execute Arbitrage
Step-by-step process for capturing opportunities
Identify an Opportunity
Look for events with high profit percentages (5%+) in the terminal. Prioritize opportunities with excellent match scores (85%+) for lower risk.
Verify Event Matching
Even with high match scores, manually verify that events are truly identical:
- Check exact resolution criteria on both platforms
- Verify end dates and resolution timelines match
- Ensure the outcome definitions are identical
- Look for any platform-specific conditions
Calculate Position Size
Determine investment amount based on risk tolerance and available liquidity. Consider starting small (1-5% of portfolio) until you're comfortable with the process.
Execute Simultaneously
Open both platforms and execute trades at the same time to lock in the spread:
- Buy the outcome at the lower price
- Sell (or buy opposite) at the higher price
- Confirm both trades execute successfully
- Monitor for any slippage or failed orders
Wait for Resolution
Once the event resolves, you'll profit from the price difference regardless of the outcome. Withdraw funds according to each platform's process.
Risk Considerations
Important factors to consider before trading
- •Matching Errors: Events may not be perfectly matched despite high similarity scores and similar titles
- •Resolution Differences: Criteria might differ between platforms, leading to different outcomes
- •Fee Impact: Platform fees, withdrawal costs, and gas fees can significantly reduce profits
- •Liquidity Issues: Insufficient liquidity may prevent execution at displayed prices (slippage)
- •Timing Risk: Prices can move between identification and execution
- •Regulatory Risk: Jurisdiction-specific regulations vary - ensure compliance with local laws
Best Practices
- ✓Always manually verify match scores above 85% before trading
- ✓Start with small position sizes (1-5% of portfolio) to test the process
- ✓Check resolution criteria on both platforms thoroughly
- ✓Factor in all fees (trading, withdrawal, gas) when calculating profit
- ✓Execute both sides simultaneously to minimize timing risk
- ✓Never invest more than you can afford to lose
Platform Specifics
Understanding Polymarket and Kalshi differences
Technology
- • Built on Polygon blockchain
- • Decentralized order book (CLOB)
- • Uses USDC for all trading
- • Requires Web3 wallet (MetaMask, etc.)
Market Coverage
Wide variety of events including politics, crypto, sports, pop culture, and more. Generally more speculative markets.
Fees
Lower trading fees (~2%) but may incur gas fees for deposits/withdrawals. No withdrawal fees for USDC.
Regulation
- • CFTC-regulated in the United States
- • Traditional exchange model
- • Uses USD (fiat currency)
- • ACH/wire transfers for deposits
Market Coverage
Focus on economic indicators, political events, weather, and regulated event contracts. More conservative market selection.
Fees
Trading fees vary by contract. Withdrawal fees may apply for bank transfers. Generally higher fees than Polymarket.
Key Differences for Arbitrage
Execution Speed
Polymarket trades execute on-chain (slower), while Kalshi trades settle instantly
Resolution Authority
Polymarket uses UMA oracle, Kalshi resolves internally with regulatory oversight
Availability
Polymarket: Global (with restrictions), Kalshi: US only (with state restrictions)
Technical Details
Data sources and update frequency
Data Aggregation
ArbRadar fetches and processes data from both platforms' public APIs in real-time. Our system continuously monitors price changes and recalculates arbitrage opportunities.
Polymarket API
RESThttps://gamma-api.polymarket.com
Events, markets, and order book data via public gamma API
Kalshi API
RESThttps://api.elections.kalshi.com/trade-api/v2
Events and market data via public trading API
Update Frequency
Cache Duration
4-6 min
Calculation results are cached to improve performance and reduce API load
Fetch Time
15-45s
Full calculation takes 15-45 seconds depending on market count and server load
Processing Pipeline
Ready to Start Trading?
Head to the terminal to explore live arbitrage opportunities, or learn more about our methodology and risk management practices.