| name | prediction-market-arbitrage-api |
| description | Find arbitrage opportunities across Polymarket and Kalshi prediction markets via AIsa API. Scan sports markets for cross-platform price discrepancies, compare real-time odds, verify orderbook liquidity. Use when user asks about: prediction market arbitrage, cross-platform price differences, sports betting arbitrage, odds comparison, risk-free profit, market inefficiencies. |
| license | MIT |
| allowed-tools | Read Bash Grep |
| when_to_use | user asks about: prediction market arbitrage, cross-platform price differences, sports betting arbitrage, odds comparison, risk-free profit, market inefficiencies |
Prediction Market Arbitrage Api
Find arbitrage opportunities across Polymarket and Kalshi via AIsa API.
Setup
export AISA_API_KEY="your-key"
Get a key at aisa.one ($0.01/query, pay-as-you-go).
Workflow
Finding arbitrage involves these steps:
- Scan matching markets across platforms (
scan for bulk, match for specific)
- Review spreads — the tool calculates price differences automatically
- Verify liquidity — use
prediction_market_client.py orderbooks to check depth before acting
Quick Examples
Scan a sport for arbitrage
python3 scripts/arbitrage_finder.py scan nba --date 2025-04-01
Analyze a specific market
python3 scripts/arbitrage_finder.py match --polymarket-slug <slug>
python3 scripts/arbitrage_finder.py match --kalshi-ticker <ticker>
Verify liquidity before acting
python3 scripts/prediction_market_client.py polymarket orderbooks --token-id <id>
python3 scripts/prediction_market_client.py kalshi orderbooks --ticker <ticker>
Commands
arbitrage_finder.py — Automated Detection
python3 scripts/arbitrage_finder.py scan <sport> --date <YYYY-MM-DD> [--min-spread <pct>] [--min-liquidity <usd>] [--json]
python3 scripts/arbitrage_finder.py match --polymarket-slug <slug> [--min-spread <pct>] [--min-liquidity <usd>] [--json]
python3 scripts/arbitrage_finder.py match --kalshi-ticker <ticker> [--min-spread <pct>] [--min-liquidity <usd>] [--json]
Sports: nba, nfl, mlb, nhl, soccer, tennis.
prediction_market_client.py — Raw Market Data
Use for manual price checks and deeper analysis.
python3 scripts/prediction_market_client.py polymarket markets --search <kw> --status open --limit 5
python3 scripts/prediction_market_client.py kalshi markets --search <kw> --status open --limit 5
python3 scripts/prediction_market_client.py polymarket price <token_id>
python3 scripts/prediction_market_client.py kalshi price <market_ticker>
python3 scripts/prediction_market_client.py sports by-date <sport> --date <YYYY-MM-DD>
python3 scripts/prediction_market_client.py sports matching (--polymarket-slug <slug> | --kalshi-ticker <ticker>)
python3 scripts/prediction_market_client.py polymarket orderbooks --token-id <id>
python3 scripts/prediction_market_client.py kalshi orderbooks --ticker <ticker>
Understanding Arbitrage
Arbitrage exists when the combined cost of all mutually exclusive outcomes across platforms is less than 1.0:
"Yes" at 0.40 on Polymarket + "No" at 0.55 on Kalshi = cost 0.95, guaranteed payout 1.00 → 5.3% profit.
Always verify orderbook depth — a spread without liquidity is not executable.
Security & Permissions
Requires: AISA_API_KEY environment variable.
All operations are read-only via HTTPS GET to api.aisa.one. Arbitrage spreads are calculated locally. No trades executed, no wallets connected, no personal data sent beyond the API key. Every response includes usage.cost and usage.credits_remaining.
Full docs: AIsa API Reference.