预测市场 API

Odds, orderbooks and trader analytics from every major prediction venue, behind one endpoint. Pay per call in USDC — no venue accounts, no subscriptions.

Prediction-market data across Polymarket, Kalshi, Limitless, Opinion, Predict.Fun and a sports feed — markets, orderbooks, candlesticks, trades, wallet analytics and smart-money positioning.

覆盖范围

Six venues — Polymarket, Kalshi, Limitless, Opinion, Predict.Fun and the Predexon sports feed — plus Binance spot data and the UMA resolution oracle.

Live market state on every call: no cached tier and no snapshot delay. Historical series (candlesticks, orderbooks, volume) are addressable by Unix-second ranges.

50 个端点

Polymarket markets

Markets, events, prices and historical series, with both offset and keyset pagination.

付款方式端点说明信息
GET/polymarket/marketsQuery markets with filtering, sorting and pagination
GET/polymarket/markets/keysetCursor-based keyset pagination over markets
GET/polymarket/events列出事件(支持筛选和排序)
GET/polymarket/events/keysetCursor-based keyset pagination over events
GET/polymarket/crypto-updownCrypto up/down markets
GET/polymarket/market-price/{token_id}Current or historical price for one outcome token
GET/polymarket/candlesticks/{condition_id}OHLCV candlesticks for a market
GET/polymarket/candlesticks/token/{token_id}OHLCV candlesticks for a single outcome token
GET/polymarket/volume-chart/{condition_id}Volume over time
GET/polymarket/orderbooks历史订单簿快照
GET/polymarket/tradesTrades, filtered by condition_id, market_slug, token_id or wallet
GET/polymarket/activityMerges, splits and redemptions for one wallet
GET/polymarket/markets/{token_id}/volumeCumulative volume history
GET/polymarket/markets/{condition_id}/open_interestOpen interest history
GET/polymarket/positionsPositions across users, with filtering
GET/polymarket/markets/smart-activityMarkets where high-performing wallets are active

Trader analytics

Leaderboards, wallet profiles, P&L series, portfolio similarity and smart-money positioning.

付款方式端点说明信息
GET/polymarket/leaderboardGlobal leaderboard of profitable wallets
GET/polymarket/leaderboard/market/{condition_id}Leaderboard scoped to one market
GET/polymarket/cohorts/statsPerformance compared across trader cohorts
GET/polymarket/market/{condition_id}/top-holdersLargest holders, ranked by position size
GET/polymarket/market/{condition_id}/smart-moneySmart-money positioning in one market
GET/polymarket/wallet/{wallet}Full wallet profile
GET/polymarket/wallet/{wallet}/marketsPer-market performance for one wallet
GET/polymarket/wallet/{wallet}/similarWallets holding similar portfolios
GET/polymarket/wallet/pnl/{wallet}P&L time series
GET/polymarket/wallet/positions/{wallet}Open and closed positions
GET/polymarket/wallet/volume-chart/{wallet}Traded volume over time
GET/polymarket/wallet/identity/{wallet}Identity and profile metadata
GET/polymarket/wallet/{address}/clusterConnected wallets, discovered via on-chain transfers
GET/polymarket/wallets/profilesBatch wallet profiles
GET/polymarket/wallets/filterFilter wallets by the markets they traded
POST/polymarket/wallet/identitiesBulk identity lookup, up to 200 addresses

Sports

Sports markets grouped by game, with outcome mapping across venues.

付款方式端点说明信息
GET/sports/categoriesAvailable sports categories
GET/sports/marketsMarkets grouped by game
GET/sports/markets/{game_id}One game with its outcomes
GET/sports/outcomes/{predexon_id}Equivalent outcomes across venues

Cross-venue search

One query across every connected venue.

付款方式端点说明信息
GET/markets/searchSearch markets across all venues in one call

Kalshi

Markets, trades and orderbook snapshots.

付款方式端点说明信息
GET/kalshi/marketsMarkets with filtering and pagination
GET/kalshi/tradesHistorical trades
GET/kalshi/orderbooks历史订单簿快照

Limitless · Opinion · Predict.Fun

Market listings and orderbook history for three further venues.

付款方式端点说明信息
GET/limitless/marketsLimitless markets
GET/limitless/orderbooksLimitless orderbook snapshots
GET/opinion/marketsOpinion markets
GET/opinion/orderbooksOpinion orderbook snapshots
GET/predictfun/marketsPredict.Fun markets
GET/predictfun/orderbooksPredict.Fun orderbook snapshots

Binance spot

Candlesticks and book-ticker data, for pricing the underlying.

付款方式端点说明信息
GET/binance/candles/{symbol}OHLCV candles (1m spans up to 7 days, 1h spans longer)
GET/binance/ticks/{symbol}Book-ticker data at microsecond granularity

UMA oracle

Resolution questions and their status timeline.

付款方式端点说明信息
GET/polymarket/uma/marketsUMA questions, filtered by state
GET/polymarket/uma/market/{condition_id}Oracle status and resolution timeline

定价

Billed per call in USDC, settled on-chain via x402. Every endpoint quotes its own price: send the request without payment and read the 402 for the exact figure before you commit.

快速开始

cURL

# Trending markets by volume
curl "https://api.jarvisclaw.ai/v1/marketplace/prediction/polymarket/markets?sort=volume&limit=20" \
  -H "Authorization: Bearer sk-your-api-key"

# Search every venue at once
curl "https://api.jarvisclaw.ai/v1/marketplace/prediction/markets/search?q=bitcoin" \
  -H "Authorization: Bearer sk-your-api-key"

# Wallet P&L (granularity: day | week | month)
curl "https://api.jarvisclaw.ai/v1/marketplace/prediction/polymarket/wallet/pnl/0x56687bf447db6ffa42ffe2204a05edaa20f55839?granularity=day" \
  -H "Authorization: Bearer sk-your-api-key"

# Read the price before paying: omit credentials and inspect the 402
curl -i "https://api.jarvisclaw.ai/v1/marketplace/prediction/polymarket/markets"

Python

import requests

BASE = "https://api.jarvisclaw.ai/v1/marketplace/prediction"
headers = {"Authorization": "Bearer sk-your-api-key"}

# Trending markets
markets = requests.get(
    f"{BASE}/polymarket/markets",
    headers=headers,
    params={"sort": "volume", "limit": 20},
).json()

# Follow the top traders: leaderboard, then their open positions
leaders = requests.get(
    f"{BASE}/polymarket/leaderboard",
    headers=headers,
    params={"limit": 20, "sort_by": "total_pnl"},
).json()

for entry in leaders["entries"][:5]:
    wallet = entry["user"]
    positions = requests.get(
        f"{BASE}/polymarket/wallet/positions/{wallet}",
        headers=headers,
    ).json()
    print(wallet, len(positions.get("positions", [])), "open")

# Historical ranges take Unix SECONDS, not ISO strings
import time
end = int(time.time())
books = requests.get(
    f"{BASE}/kalshi/orderbooks",
    headers=headers,
    params={"ticker": "KXBTC", "start_time": end - 86400 * 5, "end_time": end},
).json()

JavaScript

const BASE = 'https://api.jarvisclaw.ai/v1/marketplace/prediction'
const headers = { Authorization: 'Bearer sk-your-api-key' }

// Trending markets
const markets = await fetch(
  `${BASE}/polymarket/markets?sort=volume&limit=20`,
  { headers },
).then((r) => r.json())

// Cross-venue search
const hits = await fetch(
  `${BASE}/markets/search?q=bitcoin`,
  { headers },
).then((r) => r.json())

// Smart money in one market (needs at least one threshold)
const cid = '0xc6485bb7...'
const smart = await fetch(
  `${BASE}/polymarket/market/${cid}/smart-money?min_total_pnl=100000`,
  { headers },
).then((r) => r.json())

使用场景

FAQ

Do I need an account at each prediction venue?

No. One JarvisClaw key reaches every venue on this page. We hold the upstream relationships; you pay per call in USDC.

Is this read-only, or can I place bets?

Read-only. These endpoints return market data, orderbooks and analytics. Placing a position happens on the venue itself.

How do I know what a call will cost before I make it?

Send it without credentials. The gateway answers 402 with the exact amount in the payment-required header, and charges nothing for the quote.

What time format do the historical endpoints take?

Unix epoch seconds as integers, e.g. start_time=1748736000. ISO-8601 strings are rejected.

Why does one of my requests come back 404?

The gateway serves an allow-list. A path that is not on it answers 404 "endpoint not available" rather than being quoted and charged — that refusal is deliberate, so a typo in a URL never costs you money.

Can an autonomous agent call this without an API key?

Yes. An agent holding a funded wallet signs x402 directly on Base or Solana; no key and no account are involved.

文档