prediction-market-data
Skill0 starsChanged 7 months agoMITView on GitHub
Access prediction market data from Polymarket and Kalshi, including markets, prices, trades, orderbooks, positions, and cross-platform market matching. Use when you need current odds, historical market data, or wallet-level prediction market analysis.
- Reads credentials
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- AISA-skills/financial-data-skillsedited, first seen Nov 1, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- AISA-skills/financial-data-skills★ 484% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository59 other files it gives its agents.
- aisa-multi-search-engineSkill
- aisa-providerSkill
- aisa-tavilySkill
- aisa-twitter-apiSkill
- aisa-twitter-command-centerSkill
- aisa-twitter-engagement-suiteSkill
- aisa-twitter-post-engageSkill
- aisa-youtube-searchSkill
- aisa-youtube-serp-scoutSkill
- cn-llmSkill
- crypto-market-dataSkill
- gmail-lead-deskSkill
- kol-creator-discoverySkill
- last30daysSkill
- last30days-zhSkill
- llm-routerSkill
- marketpulseSkill
- marketSkill
- media-genSkill
- multi-searchSkill
- multi-source-searchSkill
- notion-workspaceSkill
- openclaw-aisa-youtube-aisaSkill
- openclaw-media-genSkill
- openclaw-searchSkill
- openclaw-twitter-post-engageSkill
- openclaw-twitterSkill
- openclaw-youtubeSkill
- perplexity-researchSkill
- perplexity-searchSkill
- prediction-market-arbitrage-apiSkill
- prediction-market-arbitrageSkill
- prediction-market-arbitrage-zhSkill
- prediction-market-data-zhSkill
- prediction-marketSkill
- saas-gatewaySkill
- scholar-searchSkill
- searchSkill
- seo-keyword-researchSkill
- smart-searchSkill
- stock-analysisSkill
- stock-dividendSkill
- stock-hotSkill
- stock-portfolioSkill
- stock-rumorsSkill
- stock-watchlistSkill
- tavily-extractSkill
- tavily-searchSkill
- trend-forecastSkill
- twitter-autopilotSkill
- twitter-command-center-search-post-interactSkill
- twitter-command-center-search-postSkill
- twitterSkill
- us-stock-analystSkill
- web-searchSkill
- x-intelligence-automationSkill
- youtube-searchSkill
- youtube-serpSkill
- youtubeSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Use this skill when you need to:
- Distinctive: line 23
check current implied odds for an event
- Distinctive: line 24
search open or resolved markets
- Distinctive: line 97
Always query markets first.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Prediction Market Data 📈
Access Polymarket and Kalshi market data through AIsa.
Use this skill when you need to:
- check current implied odds for an event
- search open or resolved markets
- inspect trade history, orderbooks, or candlesticks
- review wallet activity, positions, or P&L
- compare equivalent sports markets across platforms
Compatibility
Works with any agentskills.io-compatible harness, including:
- Claude Code and Claude
- OpenAI Codex
- Cursor
- Gemini CLI
- OpenCode, Goose, OpenClaw, Hermes
- and other harnesses that implement the Agent Skills specification
Requires Python 3, a POSIX shell, and AISA_API_KEY (available from
aisa.one).
Quick Start
export AISA_API_KEY="your-key"Common Requests
Probability Checks
"What are the odds of [event] happening?"Market Sentiment
"Research the current market sentiment on the upcoming election."Trading Analysis
"Analyze historical prices and orderbooks for this market."Portfolio Tracking
"Track portfolio positions and P&L for wallet address X."Arbitrage Detection
"Find arbitrage opportunities across Polymarket and Kalshi."How to Look Up IDs
Most downstream endpoints require an ID returned by a market search. In
practice, start with /markets, inspect the response, then pass the
relevant identifier to the next endpoint.
- Polymarket
token_id: Query/polymarket/markets, then useside_a.idorside_b.idwith/polymarket/market-price/{token_id}. - Polymarket
condition_id: Query/polymarket/markets, then usecondition_idwith/polymarket/candlesticks/{condition_id}. - Kalshi
market_ticker: Query/kalshi/markets, then usemarket_tickerwith/kalshi/market-price/{market_ticker}.
End-to-End Examples
Get the current price of a Polymarket market
Prices require a token_id, which comes from the /markets response.
Always query markets first.
Step 1: Find a market and extract the token_id:
# Search for open election markets and grab a token_id
python scripts/prediction_market_client.py polymarket markets --search "election" --status open --limit 5The response includes a side_a.id and side_b.id for each market;
these are the token IDs for the Yes and No sides respectively:
{
"markets": [
{
"title": "Will Trump nationalize elections?",
"market_slug": "will-trump-nationalize-elections",
"condition_id": "0xe6522d64f35a6843ebdbccab2e3d4a1385350be6d40a3de766330e207b71a8ba",
"side_a": {
"id": "44482086252598348208660011972852804909957485351743405768768577675743702971026",
"label": "Yes"
},
"side_b": {
"id": "68987475491741167427045844503509447338405188188495224371188027929166363674438",
"label": "No"
}
}
]
}Step 2: Fetch the current price using the token_id:
# Use side_a.id (Yes) or side_b.id (No) from Step 1
python scripts/prediction_market_client.py polymarket price 44482086252598348208660011972852804909957485351743405768768577675743702971026The price is a decimal between 0 and 1 representing probability (for
example, 0.20 means a 20% chance of Yes).
Get the current price of a Kalshi market
Step 1: Find a market and extract the market_ticker:
python scripts/prediction_market_client.py kalshi markets --search "fed rate" --status open --limit 5{
"markets": [
{
"title": "Will the federal funds rate be above 3.75% after the Mar 2026 meeting?",
"market_ticker": "KXFED-26MAR-T3.75",
"last_price": 6
}
]
}Step 2: Fetch the price using the market_ticker:
python scripts/prediction_market_client.py kalshi price KXFED-26MAR-T3.75Core Capabilities
Polymarket
Markets
# Find markets on Polymarket
curl -X GET "https://api.aisa.one/apis/v1/polymarket/markets?search=election&status=open" \
-H "Authorization: Bearer $AISA_API_KEY"Market Price
# Step 1: query /polymarket/markets to get a token_id from side_a.id or side_b.id
# Step 2: pass that token_id here to get the current price
curl -X GET "https://api.aisa.one/apis/v1/polymarket/market-price/{token_id}" \
-H "Authorization: Bearer $AISA_API_KEY"Activity
# Fetch activity data for a specific user
curl -X GET "https://api.aisa.one/apis/v1/polymarket/activity?user={wallet_address}" \
-H "Authorization: Bearer $AISA_API_KEY"Trade History
# Fetch historical trade data
curl -X GET "https://api.aisa.one/apis/v1/polymarket/orders?market_slug={market_slug}" \
-H "Authorization: Bearer $AISA_API_KEY"Orderbook History
# Fetch historical orderbook snapshots for a specific asset
# token_id comes from side_a.id or side_b.id in /polymarket/markets response
curl -X GET "https://api.aisa.one/apis/v1/polymarket/orderbooks?token_id={token_id}" \
-H "Authorization: Bearer $AISA_API_KEY"Candlesticks
# Fetch historical candlestick data for a market
# condition_id comes from /polymarket/markets response
curl -X GET "https://api.aisa.one/apis/v1/polymarket/candlesticks/{condition_id}?interval=60" \
-H "Authorization: Bearer $AISA_API_KEY"Positions
# Fetch all Polymarket positions for a proxy wallet address
curl -X GET "https://api.aisa.one/apis/v1/polymarket/positions/wallet/{wallet_address}" \
-H "Authorization: Bearer $AISA_API_KEY"Wallet
# Fetch wallet information
curl -X GET "https://api.aisa.one/apis/v1/polymarket/wallet?eoa={wallet_address}" \
-H "Authorization: Bearer $AISA_API_KEY"Wallet Profit-and-Loss
# Fetch realized profit and loss (PnL) for a specific wallet address
curl -X GET "https://api.aisa.one/apis/v1/polymarket/wallet/pnl/{wallet_address}?granularity=day" \
-H "Authorization: Bearer $AISA_API_KEY"Kalshi
Markets
# Find markets on Kalshi
curl -X GET "https://api.aisa.one/apis/v1/kalshi/markets?search=fed%20rate" \
-H "Authorization: Bearer $AISA_API_KEY"Market Price
# Fetch the current market price for a Kalshi market
# market_ticker comes from /kalshi/markets response
curl -X GET "https://api.aisa.one/apis/v1/kalshi/market-price/{market_ticker}" \
-H "Authorization: Bearer $AISA_API_KEY"Trade History
# Fetch historical trade data for Kalshi markets
# ticker (market_ticker) comes from /kalshi/markets response
curl -X GET "https://api.aisa.one/apis/v1/kalshi/trades?ticker={ticker}" \
-H "Authorization: Bearer $AISA_API_KEY"Orderbook History
# Fetch historical orderbook snapshots for a specific Kalshi market
# ticker (market_ticker) comes from /kalshi/markets response
curl -X GET "https://api.aisa.one/apis/v1/kalshi/orderbooks?ticker={ticker}" \
-H "Authorization: Bearer $AISA_API_KEY"Cross-Platform
Sports Markets
# Find equivalent markets across platforms for sports events
curl -X GET "https://api.aisa.one/apis/v1/matching-markets/sports" \
-H "Authorization: Bearer $AISA_API_KEY"Sports Markets by Date
# Find equivalent markets across platforms for a sport on a given date
# sport options: nfl, mlb, cfb, nba, nhl, cbb, pga, tennis
# date format: YYYY-MM-DD
curl -X GET "https://api.aisa.one/apis/v1/matching-markets/sports/nba?date=2025-08-16" \
-H "Authorization: Bearer $AISA_API_KEY"Sport abbreviations:
| Abbreviation | Sport |
nfl | Football |
mlb | Baseball |
cfb | College Football |
nba | Basketball |
nhl | Hockey |
cbb | College Basketball |
pga | Golf |
tennis | Tennis |
API Endpoints Reference
Polymarket Endpoints (GET)
| Endpoint | Description | Key Params |
/polymarket/markets | Find markets | search, status, market_slug, limit |
/polymarket/market-price/{token_id} | Get market price | token_id, at_time |
/polymarket/activity | Get user activity | user, start_time, end_time |
/polymarket/orders | Get trade history | market_slug, token_id, user |
/polymarket/orderbooks | Get orderbook history | token_id, start_time, end_time |
/polymarket/candlesticks/{condition_id} | Get candlestick data | condition_id, start_time, end_time, interval |
/polymarket/positions/wallet/{wallet_address} | Get wallet positions | wallet_address, limit |
/polymarket/wallet | Get wallet info | eoa or proxy, with_metrics |
/polymarket/wallet/pnl/{wallet_address} | Get wallet PnL | wallet_address, granularity |
Kalshi Endpoints (GET)
| Endpoint | Description | Key Params |
/kalshi/markets | Find markets | search, status, market_ticker |
/kalshi/market-price/{market_ticker} | Get market price | market_ticker, at_time |
/kalshi/trades | Get trade history | ticker, start_time, end_time |
/kalshi/orderbooks | Get orderbook history | ticker, start_time, end_time |
Cross-Platform Endpoints (GET)
| Endpoint | Description | Key Params |
/matching-markets/sports | Find matching sports markets | polymarket_market_slug or kalshi_event_ticker |
/matching-markets/sports/{sport} | Find sports markets by date | sport (nfl|mlb|cfb|nba|nhl|cbb|pga|tennis), date (YYYY-MM-DD) |
Response Schemas
Markets Response
Returns markets array:
title(string) - Market question (e.g., "Will Trump nationalize elections?")market_slug(string) - URL-friendly identifiercondition_id(string) - Blockchain condition IDstart_time/end_time(integer) - Unix timestampscompleted_time(integer|null) - Null if still opentags(array) - Category tags (e.g., ["politics", "us election"])volume_1_week/volume_1_month/volume_1_year/volume_total(number) - Trading volume in USDside_a/side_b(object) - id and label (typically "Yes"/"No")winning_side(object|null) - Null if unresolvedimage(string) - Market thumbnail URL
Activity Response
Returns activities array:
title(string) - Market titlemarket_slug(string) - Market identifierside(string) - Trade side: BUY, SELL, or MERGEshares(integer) - Raw share amountshares_normalized(number) - Human-readable share amountprice(number) - Trade price (0-1, represents probability)timestamp(integer) - Unix timestamp of the tradeuser(string) - Wallet address of the tradertx_hash(string) - Blockchain transaction hash
Understanding Odds
- Prices are shown as decimals (
0.65= 65% probability) - "Yes" price represents the market-implied probability that the event happens
- Higher volume can indicate deeper liquidity and stronger participation
- Prices change as traders buy and sell shares
Pricing
| API | Cost |
| Prediction market read query | $0.01 |
Get Started
- Sign up at aisa.one
- Get your API key
- Add credits (pay-as-you-go)
- Set environment variable:
export AISA_API_KEY="your-key"
Full API Reference
See API Reference for complete endpoint documentation.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

