Install
openclaw skills install @bibaofeng/prediction-market-arbitrage-apiFind 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.
openclaw skills install @bibaofeng/prediction-market-arbitrage-apiFind arbitrage opportunities across Polymarket and Kalshi via AIsa API.
export AISA_API_KEY="your-key"
Get a key at aisa.one ($0.01/query, pay-as-you-go).
Finding arbitrage involves these steps:
scan for bulk, match for specific)prediction_market_client.py orderbooks to check depth before acting# Scan all NBA markets on a date — shows spreads automatically
python3 {baseDir}/scripts/arbitrage_finder.py scan nba --date 2025-04-01
# 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>
# 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>
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.
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>
Arbitrage exists when the combined cost of all mutually exclusive outcomes across platforms is less than 1.0:
"Yes" at
0.40on Polymarket + "No" at0.55on Kalshi = cost0.95, guaranteed payout1.00→ 5.3% profit.
Always verify orderbook depth — a spread without liquidity is not executable.
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.