Prediction Market Data
by @bibaofeng
Cross-platform prediction market data via AIsa API. Query Polymarket and Kalshi markets, prices, orderbooks, candlesticks, positions, and trades. Use when us...
clawhub install prediction-market-dataπ About This Skill
name: prediction-market-data description: "Cross-platform prediction market data via AIsa API. Query Polymarket and Kalshi markets, prices, orderbooks, candlesticks, positions, and trades. Use when user asks about: prediction market odds, election betting, event probabilities, market sentiment, Polymarket prices, Kalshi prices, sports betting odds, wallet PnL, or cross-platform market comparison." license: MIT metadata: openclaw: emoji: "π" requires: bins: [python3] env: [AISA_API_KEY] primaryEnv: AISA_API_KEY
Prediction Market Data
Query Polymarket and Kalshi prediction markets via AIsa API.
Setup
export AISA_API_KEY="your-key"
Get a key at aisa.one ($0.01/query, pay-as-you-go).
Workflow
Querying prediction market data involves these steps:
1. Search markets to find IDs (always start here)
2. Extract the ID from the response (token_id, condition_id, or market_ticker)
3. Query details using the extracted ID (price, orderbook, candlesticks, etc.)
Quick Examples
Polymarket: search β get price
# Step 1: Search β find markets and extract token_id (side_a.id or side_b.id)
python3 {baseDir}/scripts/prediction_market_client.py polymarket markets --search "election" --status open --limit 5Step 2: Get price using token_id from Step 1
python3 {baseDir}/scripts/prediction_market_client.py polymarket price
Kalshi: search β get price
# Step 1: Search β find markets and extract market_ticker
python3 {baseDir}/scripts/prediction_market_client.py kalshi markets --search "fed rate" --status open --limit 5Step 2: Get price using market_ticker from Step 1
python3 {baseDir}/scripts/prediction_market_client.py kalshi price
Cross-platform sports
python3 {baseDir}/scripts/prediction_market_client.py sports by-date nba --date 2025-04-01
ID Reference
Most commands need an ID from the markets response. Always search first.
| Platform | ID Field | Where to Find |
|----------|----------|---------------|
| Polymarket | token_id | side_a.id or side_b.id in markets output |
| Polymarket | condition_id | condition_id in markets output |
| Kalshi | market_ticker | market_ticker in markets output |
Commands
Polymarket
python3 {baseDir}/scripts/prediction_market_client.py polymarket markets [--search ] [--status open|closed] [--min-volume ] [--limit ]
python3 {baseDir}/scripts/prediction_market_client.py polymarket price [--at-time ]
python3 {baseDir}/scripts/prediction_market_client.py polymarket activity --user [--market-slug ] [--limit ]
python3 {baseDir}/scripts/prediction_market_client.py polymarket orders [--market-slug ] [--token-id ] [--user ] [--limit ]
python3 {baseDir}/scripts/prediction_market_client.py polymarket orderbooks --token-id [--start ] [--end ] [--limit ]
python3 {baseDir}/scripts/prediction_market_client.py polymarket candlesticks --start --end [--interval 1|60|1440]
python3 {baseDir}/scripts/prediction_market_client.py polymarket positions [--limit ]
python3 {baseDir}/scripts/prediction_market_client.py polymarket wallet (--eoa | --proxy ) [--with-metrics]
python3 {baseDir}/scripts/prediction_market_client.py polymarket pnl --granularity
Kalshi
python3 {baseDir}/scripts/prediction_market_client.py kalshi markets [--search ] [--status open|closed] [--min-volume ] [--limit ]
python3 {baseDir}/scripts/prediction_market_client.py kalshi price [--at-time ]
python3 {baseDir}/scripts/prediction_market_client.py kalshi trades [--ticker ] [--start ] [--end ] [--limit ]
python3 {baseDir}/scripts/prediction_market_client.py kalshi orderbooks --ticker [--start ] [--end ] [--limit ]
Cross-Platform Sports
python3 {baseDir}/scripts/prediction_market_client.py sports matching (--polymarket-slug | --kalshi-ticker )
python3 {baseDir}/scripts/prediction_market_client.py sports by-date --date
Sports: nfl, mlb, cfb, nba, nhl, cbb, pga, tennis.
Understanding Odds
Prices are decimals: 0.65 = 65% implied probability. "Yes" price = probability the event happens. Higher volume = more liquidity.
Security & Permissions
Requires: AISA_API_KEY environment variable.
All operations are read-only via HTTPS GET to api.aisa.one. 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.
βοΈ Configuration
export AISA_API_KEY="your-key"
Get a key at aisa.one ($0.01/query, pay-as-you-go).