Skills prediction-market-arbitrage-api
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.
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bibaofeng/prediction-market-arbitrage-api" ~/.claude/skills/clawdbot-skills-prediction-market-arbitrage-api && rm -rf "$T"
skills/bibaofeng/prediction-market-arbitrage-api/SKILL.mdPrediction 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 (
for bulk,scan
for specific)match - Review spreads — the tool calculates price differences automatically
- Verify liquidity — use
to check depth before actingprediction_market_client.py orderbooks
Quick Examples
Scan a sport for arbitrage
# Scan all NBA markets on a date — shows spreads automatically python3 {baseDir}/scripts/arbitrage_finder.py scan nba --date 2025-04-01
Analyze a specific market
# By Polymarket slug python3 {baseDir}/scripts/arbitrage_finder.py match --polymarket-slug <slug> # By Kalshi ticker python3 {baseDir}/scripts/arbitrage_finder.py match --kalshi-ticker <ticker>
Verify liquidity before acting
# Check orderbook depth on both sides python3 {baseDir}/scripts/prediction_market_client.py polymarket orderbooks --token-id <id> python3 {baseDir}/scripts/prediction_market_client.py kalshi orderbooks --ticker <ticker>
Commands
arbitrage_finder.py — Automated Detection
python3 {baseDir}/scripts/arbitrage_finder.py scan <sport> --date <YYYY-MM-DD> [--min-spread <pct>] [--min-liquidity <usd>] [--json] python3 {baseDir}/scripts/arbitrage_finder.py match --polymarket-slug <slug> [--min-spread <pct>] [--min-liquidity <usd>] [--json] python3 {baseDir}/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.
# Search markets python3 {baseDir}/scripts/prediction_market_client.py polymarket markets --search <kw> --status open --limit 5 python3 {baseDir}/scripts/prediction_market_client.py kalshi markets --search <kw> --status open --limit 5 # Get prices (use token_id / market_ticker from markets output) python3 {baseDir}/scripts/prediction_market_client.py polymarket price <token_id> python3 {baseDir}/scripts/prediction_market_client.py kalshi price <market_ticker> # Cross-platform sports matching python3 {baseDir}/scripts/prediction_market_client.py sports by-date <sport> --date <YYYY-MM-DD> python3 {baseDir}/scripts/prediction_market_client.py sports matching (--polymarket-slug <slug> | --kalshi-ticker <ticker>) # Orderbook depth python3 {baseDir}/scripts/prediction_market_client.py polymarket orderbooks --token-id <id> python3 {baseDir}/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
on Polymarket + "No" at0.40on Kalshi = cost0.55, guaranteed payout0.95→ 5.3% profit.1.00
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.