Quant Trader
Kalshi vs Polymarket on the Same Event β The Agent Found a 7% Edge
Key Takeaway
My agent continuously monitors prediction market pricing across Kalshi and Polymarket, detected a 7% cross-platform spread on the same event, and structured a risk-free arbitrage opportunity netting ~5% after fees.
The Problem
Prediction markets are supposed to be efficient. In theory, the same event should be priced the same everywhere. In practice, Kalshi and Polymarket have different user bases, different liquidity profiles, and different fee structures. Prices diverge. Often.
The problem isn't finding one divergence. Scroll both platforms for twenty minutes and you'll spot one. The problem is monitoring hundreds of markets simultaneously, filtering noise from actionable spreads, and calculating the actual P&L after accounting for fees, settlement mechanics, and platform-specific quirks.
I was doing this manually for a while. Checking three times a day. Missing spreads that appeared at 3 AM and closed by 7 AM. Leaving money on the table because I have a life outside of refreshing two browser tabs.
The Solution
An agent running the Kalshi + Polymarket Analysis skill monitors cross-platform pricing continuously. When the same event is priced differently by more than 5%, it triggers an alert with the exact arbitrage structure: which side to buy on which platform, position sizes adjusted for fee differences, expected P&L, and historical convergence data for similar spreads.
The agent watches. I execute. (Regulatory reasons β automated execution across prediction markets has compliance implications I'd rather not test.)
The Process
The monitoring configuration:
yamlShow code
# prediction-market-arbitrage.yaml
platforms:
polymarket:
api: "https://clob.polymarket.com"
fee_rate: 0.02 # 2% on profit
settlement: crypto # USDC on Polygon
kalshi:
api: "https://trading-api.kalshi.com/v2"
fee_rate: 0.07 # 7% on profit (capped)
settlement: usd # USD bank transfer
monitoring:
categories:
- politics
- economics
- crypto
- tech
- sports
match_method: fuzzy # Event titles differ across platforms
match_threshold: 0.85 # Minimum similarity to consider same event
alert_threshold: 0.05 # Alert on 5%+ spreads
check_interval: 60 # Every 60 seconds
arbitrage:
min_spread_after_fees: 0.03 # Only alert if 3%+ profit after all fees
min_liquidity: 5000 # Minimum $5K available on each side
max_position: 2000 # Cap per arbitrage
The matching and arbitrage calculation:
pythonShow code
# Cross-platform event matching and arb detection
def detect_arbitrage(poly_markets, kalshi_markets):
matches = match_events(
poly_markets, kalshi_markets,
method='fuzzy', threshold=0.85
)
for match in matches:
poly_yes = match.polymarket.best_ask_yes
kalshi_yes = match.kalshi.best_ask_yes
poly_no = 1 - poly_yes
kalshi_no = 1 - kalshi_yes
# Check both directions
spread_1 = kalshi_yes - poly_yes # If positive, Poly YES is cheap
spread_2 = poly_yes - kalshi_yes # If positive, Kalshi YES is cheap
if abs(spread_1) > config.alert_threshold:
# Calculate after-fee P&L
if spread_1 > 0: # Poly YES is cheap
cost = poly_yes + kalshi_no # Buy YES@Poly + NO@Kalshi
guaranteed_payout = 1.00
gross_profit = guaranteed_payout - cost
fees = (gross_profit * 0.02) + (gross_profit * 0.07)
net_profit = gross_profit - fees
if net_profit / cost > config.min_spread_after_fees:
yield ArbitrageAlert(
event=match.event_title,
spread=abs(spread_1),
net_profit_pct=net_profit / cost,
structure=structure,
liquidity=min(match.poly_liquidity, match.kalshi_liquidity)
)
The alert format:
View details
β‘ ARBITRAGE DETECTED β 7.0% Spread
Event: "Will Fed cut rates in June 2026?"
Polymarket YES: $0.55 (55%)
Kalshi YES: $0.62 (62%)
Spread: 7.0 percentage points
Structure:
β Buy YES on Polymarket at $0.55
β Buy NO on Kalshi at $0.38 (= 1 - 0.62)
Total cost per unit: $0.93
Guaranteed payout: $1.00
Gross profit: $0.07 (7.5%)
After fees:
Polymarket fee (2% on profit): -$0.0014
Kalshi fee (7% on profit): -$0.0049
Net profit per unit: $0.0637 (6.85%)
Liquidity: $12.4K available (Poly) / $8.7K available (Kalshi)
Recommended position: $2,000 per side
Expected P&L: +$137 on $4,000 deployed
Historical context:
Similar spreads (>5%) in past 90 days: 14
Avg convergence time: 3.2 days
Avg realized P&L: +5.1% after fees
The Results
8-12
Spreads detected (>5%) per month
6.2%
Average spread
4.8%
Average net P&L after fees
100% (arbitrage)
Win rate (profitable after fees)
3.2 days
Average convergence time
$2-5K per side
Capital deployed per arb
+$847
Monthly P&L (6 months avg)
~28%
Annual projected return on deployed capital
30 min/day
Time spent monitoring (manual before)
0 (alert-based)
Time spent monitoring (with agent)
The "risk-free" label needs a caveat: settlement risk exists. If a platform can't pay out, your arb has counterparty risk. But in terms of market risk β one side always pays β it's as close to risk-free as public markets offer.
Try It Yourself
- Sign up for Mr.Chief and install the
argus-edgeskill for prediction market analysis - Set up API access for Kalshi (KYC required) and Polymarket (wallet-based)
- Configure the fuzzy event matcher and spread thresholds
- Let the agent monitor β it checks every 60 seconds across all markets
- Execute manually or build semi-automated execution with approval gates
Prediction markets are new enough that pricing inefficiencies are real and persistent. They won't last forever β as liquidity deepens, spreads will tighten. But right now, the edge is there. The question is whether you're watching when it appears.
Efficient markets are a theory. Cross-platform spreads are a fact.
Related case studies
Quant Trader
Prediction Markets vs Reality β Agent Tracks Calibration Over Time
AI agent tracks prediction market calibration across Polymarket and Kalshi. Found mispricing at the tails β markets overconfident on sure things. Monthly calibration reports reveal where the edge is.
Portfolio Manager
Polymarket Odds Shifted 15% Overnight β My Agent Woke Me Up
AI agent monitors Polymarket for probability shifts above 10%, cross-references news and on-chain data, and detects arbitrage opportunities across correlated prediction markets.
Portfolio Manager
The Complete Financial Operating System β All 17 Skills in One Stack
How 17 AI finance skills work as one integrated system: data ingestion, analysis, execution, and reporting. 31 agents across 8 teams running a complete financial operating system on Mr.Chief.
Want results like these?
Start free with your own AI team. No credit card required.