Documentation

Methodology

How we identify, match, and validate arbitrage opportunities across prediction markets

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

1

Data Collection

We fetch live market data from both Polymarket and Kalshi APIs, including prices, volumes, and event metadata.

2

Event Matching

Our similarity algorithm compares event titles and metadata to identify matching markets across platforms (see Match Scoring below).

3

Spread Calculation

We calculate the price difference between matched markets, accounting for platform fees and transaction costs.

4

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

85-100%

Excellent Match

High confidence - Events are almost certainly identical. Safe to proceed.

70-84%

Good Match

Likely the same event, but verify resolution criteria manually before trading.

60-69%

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

1

Identify an Opportunity

Look for events with high profit percentages (5%+) in the terminal. Prioritize opportunities with excellent match scores (85%+) for lower risk.

2

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
3

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.

4

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
5

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

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

P
Polymarket
Decentralized prediction market on Polygon

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.

K
Kalshi
CFTC-regulated prediction exchange

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

REST

https://gamma-api.polymarket.com

Events, markets, and order book data via public gamma API

Kalshi API

REST

https://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

1.Fetch events and markets from both platforms in parallel
2.Normalize titles and extract metadata (dates, keywords, numbers)
3.Build token index for efficient candidate matching
4.Calculate similarity scores for all potential matches (60%+ threshold)
5.Compare market prices and calculate fee-aware profit percentages
6.Filter for 5%+ profit opportunities and display in terminal

Ready to Start Trading?

Head to the terminal to explore live arbitrage opportunities, or learn more about our methodology and risk management practices.