Install
openclaw skills install kalshi-trackerTrack Kalshi event contract prices, order book depth, and recent trades. Covers sports, politics, economics, and weather markets. Converts contract prices to American odds for cross-platform comparison. Read-only — no trade execution.
openclaw skills install kalshi-trackerMonitor Kalshi prediction market contracts — prices, order books, and trade history.
Use this skill when the user asks about:
Common Kalshi event categories:
| Category | Series Prefix | Examples |
|---|---|---|
| Sports | SPORTS- | NBA winners, NFL spreads, World Cup |
| Politics | POL- | Elections, policy decisions |
| Economics | ECON-, FED- | GDP, inflation, Fed rate decisions |
| Weather | WEATHER- | Temperature records, hurricane landfalls |
| Finance | FINANCE- | Stock prices, crypto prices |
| Entertainment | ENT- | Award show winners, box office |
Browse events with optional category filtering:
curl -s "https://api.elections.kalshi.com/trade-api/v2/events?status=open&limit=50" \
-H "Authorization: Bearer $KALSHI_API_KEY" \
| jq '[.events[] | {
ticker: .event_ticker,
title: .title,
category: .category,
markets_count: (.markets | length),
volume: .volume
}] | sort_by(-.volume) | .[:20]'
To filter by category (e.g., sports):
curl -s "https://api.elections.kalshi.com/trade-api/v2/events?status=open&limit=50&series_ticker=SPORTS" \
-H "Authorization: Bearer $KALSHI_API_KEY" \
| jq '[.events[] | {
ticker: .event_ticker,
title: .title,
markets_count: (.markets | length),
volume: .volume,
close_time: .close_time
}] | sort_by(-.volume)'
Fetch current Yes/No prices, volume, and status for a specific event's markets. Replace EVENT_TICKER with the event ticker from operation 1:
curl -s "https://api.elections.kalshi.com/trade-api/v2/events/EVENT_TICKER" \
-H "Authorization: Bearer $KALSHI_API_KEY" \
| jq '{
event: .event.title,
category: .event.category,
markets: [.event.markets[] | {
ticker: .ticker,
subtitle: .subtitle,
yes_price: (.yes_bid // "no bid"),
no_price: (.no_bid // "no bid"),
yes_ask: (.yes_ask // "no ask"),
no_ask: (.no_ask // "no ask"),
last_price: .last_price,
volume: .volume,
open_interest: .open_interest,
status: .status,
close_time: .close_time
}]
}'
After fetching prices, convert to American odds for sportsbook comparison:
curl -s "https://api.elections.kalshi.com/trade-api/v2/events/EVENT_TICKER" \
-H "Authorization: Bearer $KALSHI_API_KEY" \
| jq -r '.event.markets[] | "\(.subtitle)\t\(.last_price)"' \
| python3 -c "
import sys
for line in sys.stdin:
parts = line.strip().split('\t')
if len(parts) != 2:
continue
name, price_str = parts
try:
price = float(price_str) / 100
except (ValueError, TypeError):
print(f'{name}: no price available')
continue
if price <= 0 or price >= 1:
print(f'{name}: {price_str}c (off the board)')
elif price > 0.5:
odds = -(price / (1 - price)) * 100
print(f'{name}: {price_str}c → {int(odds):+d} (implied {price:.1%})')
elif price < 0.5:
odds = ((1 - price) / price) * 100
print(f'{name}: {price_str}c → +{int(odds)} (implied {price:.1%})')
else:
print(f'{name}: {price_str}c → +100/-100 (implied 50.0%)')
"
View resting orders to assess liquidity for a specific market. Replace MARKET_TICKER with the market ticker from operation 2:
curl -s "https://api.elections.kalshi.com/trade-api/v2/markets/MARKET_TICKER/orderbook" \
-H "Authorization: Bearer $KALSHI_API_KEY" \
| jq '{
ticker: .ticker,
yes_orders: [.orderbook.yes[]? | "price: \(.[0])c qty: \(.[1])"],
no_orders: [.orderbook.no[]? | "price: \(.[0])c qty: \(.[1])"],
spread: ((.orderbook.yes[0]?[0] // 0) + (.orderbook.no[0]?[0] // 0) - 100),
depth_yes_top3: ([.orderbook.yes[:3]?[]?[1]] | add // 0),
depth_no_top3: ([.orderbook.no[:3]?[]?[1]] | add // 0)
}'
See the last trades executed on a market for momentum and volume analysis:
curl -s "https://api.elections.kalshi.com/trade-api/v2/markets/MARKET_TICKER/trades?limit=20" \
-H "Authorization: Bearer $KALSHI_API_KEY" \
| jq '[.trades[] | {
time: .created_time,
price: .yes_price,
count: .count,
taker_side: .taker_side
}]'
Built by AgentBets — full tutorial at agentbets.ai/guides/openclaw-kalshi-tracker-skill/.
Part of the OpenClaw Skills series for the Agent Betting Stack.