Polymarket Data

v1.0.1

Prediction markets data - Polymarket, Kalshi markets, prices, positions, and trades

0· 131·0 current·0 all-time
byAIsa@aisadocs

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for aisadocs/pred-polymarket.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Polymarket Data" (aisadocs/pred-polymarket) from ClawHub.
Skill page: https://clawhub.ai/aisadocs/pred-polymarket
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: AISA_API_KEY
Required binaries: curl, python
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install pred-polymarket

ClawHub CLI

Package manager switcher

npx clawhub@latest install pred-polymarket
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the included Python client and SKILL.md examples. The skill talks to https://api.aisa.one and requires AISA_API_KEY — a single API key is reasonable for an aggregator that provides Polymarket/Kalshi data. Required binaries (python, curl) are appropriate for the provided examples and script.
Instruction Scope
SKILL.md only instructs querying the AIsa API endpoints and running the included Python script or curl commands. It requires wallet addresses or market IDs for wallet/position queries (expected for these features). There are no instructions to read unrelated files, other environment variables, or to transmit data to unexpected endpoints beyond api.aisa.one.
Install Mechanism
No install spec is provided (instruction-only with an included script). This minimizes install-time risk; the Python client is present in the repository and uses standard libraries (urllib). No downloads from untrusted URLs or extract steps are present.
Credentials
Only a single credential (AISA_API_KEY) is required and is the primaryEnv. That aligns with the skill's use of an external aggregator API. The skill does not request unrelated secrets or multiple broad credentials.
Persistence & Privilege
always is false and the skill does not request system-wide changes or modify other skills. Autonomous invocation is allowed (platform default) but not combined with other red flags here.
Assessment
This skill appears to do what it says: it queries market and wallet data through the AIsa API and requires one API key. Before installing, verify you trust api.aisa.one and the AISA_API_KEY issuer, treat your API key as a secret, and confirm the key's permissions (read-only vs. trading) so you don't grant more authority than intended. If you are uncomfortable with autonomous agent calls using your key, avoid enabling autonomous invocation or provide a scoped/limited key. Also be cautious about supplying wallet addresses (public on-chain addresses can be linkable to identities).

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

📈 Clawdis
Binscurl, python
EnvAISA_API_KEY
Primary envAISA_API_KEY
latestvk9717cega372w9t1tt4bbt48qs8420pv
131downloads
0stars
2versions
Updated 3w ago
v1.0.1
MIT-0

Cross-Platform Prediction Market Data 📈

Prediction markets data access for autonomous agents. Powered by AIsa.

One API key. Full Polymarket and Kalshi intelligence.

What Can You Do?

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."

Quick Start

export AISA_API_KEY="your-key"

How to Look Up IDs

Most endpoints require an ID that comes from the /markets response. Always query markets first, then pass the relevant ID to downstream endpoints.

  1. Polymarket token_id: Query /polymarket/markets, find side_a.id or side_b.id in the response, then pass it to /polymarket/market-price/{token_id}.
  2. Polymarket condition_id: Query /polymarket/markets, find condition_id in the response, then pass it to /polymarket/candlesticks/{condition_id}.
  3. Kalshi market_ticker: Query /kalshi/markets, find market_ticker in the response, then pass it to /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 5

The 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 44482086252598348208660011972852804909957485351743405768768577675743702971026

The price is a decimal between 0 and 1 representing the probability (e.g. 0.20 = 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.75

Core 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:

AbbreviationSport
nflFootball
mlbBaseball
cfbCollege Football
nbaBasketball
nhlHockey
cbbCollege Basketball
pgaGolf
tennisTennis

API Endpoints Reference

Polymarket Endpoints (GET)

EndpointDescriptionKey Params
/polymarket/marketsFind marketssearch, status, market_slug, limit
/polymarket/market-price/{token_id}Get market pricetoken_id, at_time
/polymarket/activityGet user activityuser, start_time, end_time
/polymarket/ordersGet trade historymarket_slug, token_id, user
/polymarket/orderbooksGet orderbook historytoken_id, start_time, end_time
/polymarket/candlesticks/{condition_id}Get candlestick datacondition_id, start_time, end_time, interval
/polymarket/positions/wallet/{wallet_address}Get wallet positionswallet_address, limit
/polymarket/walletGet wallet infoeoa or proxy, with_metrics
/polymarket/wallet/pnl/{wallet_address}Get wallet PnLwallet_address, granularity

Kalshi Endpoints (GET)

EndpointDescriptionKey Params
/kalshi/marketsFind marketssearch, status, market_ticker
/kalshi/market-price/{market_ticker}Get market pricemarket_ticker, at_time
/kalshi/tradesGet trade historyticker, start_time, end_time
/kalshi/orderbooksGet orderbook historyticker, start_time, end_time

Cross-Platform Endpoints (GET)

EndpointDescriptionKey Params
/matching-markets/sportsFind matching sports marketspolymarket_market_slug or kalshi_event_ticker
/matching-markets/sports/{sport}Find sports markets by datesport (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 identifier
  • condition_id (string) - Blockchain condition ID
  • start_time / end_time (integer) - Unix timestamps
  • completed_time (integer|null) - Null if still open
  • tags (array) - Category tags (e.g., ["politics", "us election"])
  • volume_1_week / volume_1_month / volume_1_year / volume_total (number) - Trading volume in USD
  • side_a / side_b (object) - id and label (typically "Yes"/"No")
  • winning_side (object|null) - Null if unresolved
  • image (string) - Market thumbnail URL

Activity Response

Returns activities array:

  • title (string) - Market title
  • market_slug (string) - Market identifier
  • side (string) - Trade side: BUY, SELL, or MERGE
  • shares (integer) - Raw share amount
  • shares_normalized (number) - Human-readable share amount
  • price (number) - Trade price (0-1, represents probability)
  • timestamp (integer) - Unix timestamp of the trade
  • user (string) - Wallet address of the trader
  • tx_hash (string) - Blockchain transaction hash

Understanding Odds

  • Prices are shown as decimals (0.65 = 65% probability)
  • "Yes" price = probability market thinks event will happen
  • Higher volume = more confidence/liquidity
  • Prices change based on trading activity

Pricing

APICost
Prediction market read query$0.01

Every response includes usage.cost and usage.credits_remaining.

Get Started

  1. Sign up at aisa.one
  2. Get your API key
  3. Add credits (pay-as-you-go)
  4. Set environment variable: export AISA_API_KEY="your-key"

Full API Reference

See API Reference for complete endpoint documentation.

Comments

Loading comments...