ExchangeRebel Prediction Markets API
The Prediction Markets API from ExchangeRebel — 6 operation(s) for prediction markets.
The Prediction Markets API from ExchangeRebel — 6 operation(s) for prediction markets.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/exchangerebel-com:exchangerebel-com-prediction-markets-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: ExchangeRebel — pay-per-call APIs for AI agents (x402 on…
version: 1.0.0
contact:
name: 'ExchangeRebel (operator: Rebel Data)'
url: https://exchangerebel.com
email: sound.money.investing@gmail.com
x-guidance: 'All paid operations use x402 on Solana: call without payment to get a 402 challenge (SOL recipient + USDC token account + fresh memo), pay with the memo attached via the Solana Memo program, then retry with header X-Payment-Tx: <signature> and ?toll_memo=<memo>. Challenges are dual-version: the PAYMENT-REQUIRED header carries the x402 v2 PaymentRequired object and the response body carries the same challenge in x402 v1 form for compatibility. Free operations (security: []) include each service''s /health catalog with full response shapes. Prices in x-payment-info are USD per call unless the summary says otherwise (RPC is per 1,000-request block; Telegram provisioning is per bot-month; transcription is per minute of audio).'
description: '67 data and utility APIs behind x402 tolls, settled in SOL or USDC on Solana. Call a paid endpoint without payment to receive a 402 x402 challenge (recipient + fresh memo), pay with the memo attached via the Solana Memo program, then retry with the X-Payment-Tx header and toll_memo query parameter. Free catalog/health endpoints are marked without x-payment-info. Full catalogs: GET /toll/discovery and each service''s /health.'
servers:
- url: https://exchangerebel.com
tags:
- name: Prediction Markets
paths:
/toll/pred/arb:
get:
tags:
- Prediction Markets
summary: Scan Polymarket vs Kalshi price spreads
responses:
'200':
description: Success. Response shape is documented in the service catalog (GET /health on the service).
content:
application/json:
example:
topic: fed
min_spread_pts: 5
pairs:
- topic_match_words: 4
polymarket:
question: Will the Fed cut rates in October?
yes_price_pts: 65
url: https://polymarket.com/event/fed-cut-october
kalshi:
title: Fed rates cut in October
ticker: FED-26OCT
yes_price_pts: 58
url: https://kalshi.com/markets/FED-26OCT
spread_pts: 7
edge_direction: buy kalshi YES / sell polymarket YES
count: 1
caveats:
- Prices are snapshots; both venues move fast.
- Fees, liquidity depth, and settlement-rule differences can erase paper spreads.
- Kalshi is USD/CFTC-regulated; Polymarket settles in crypto — capital transfer is not instant.
data_health:
as_of: '2026-10-21T21:23:04.571Z'
sources:
- polymarket
- kalshi
license: Platform public APIs; factual prices only
checks_passed:
- schema
error_budget: critical fields <0.1%, other fields <1%
paid: true
'402':
description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
parameters:
- name: topic
in: query
required: false
schema:
type: string
description: Topic keyword (default fed)
- name: min_spread
in: query
required: false
schema:
type: string
description: Minimum spread in points (default 5)
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '0.05'
security:
- x402Payment: []
operationId: getTollPredArb
x-operation-id-source: derived
/toll/pred/calendar:
get:
tags:
- Prediction Markets
summary: Fetch the prediction-market event calendar
responses:
'200':
description: Success. Response shape is documented in the service catalog (GET /health on the service).
content:
application/json:
example:
as_of: '2026-10-21T21:23:04.595Z'
fomc_meetings:
dates:
'2026':
- October 27-28
- December 8-9
'2027':
- January 26-27
source: federalreserve.gov (live)
live: true
bls_releases:
releases:
- release: Employment Situation (Oct 2026)
date: '2026-11-06'
time_et: 08:30
- release: Consumer Price Index (Oct 2026)
date: '2026-11-10'
time_et: 08:30
- release: Producer Price Index (Oct 2026)
date: '2026-11-13'
time_et: 08:30
- release: Employment Situation (Nov 2026)
date: '2026-12-04'
time_et: 08:30
- release: Consumer Price Index (Nov 2026)
date: '2026-12-10'
time_et: 08:30
- release: Producer Price Index (Nov 2026)
date: '2026-12-15'
time_et: 08:30
source: BLS published 2026 schedule (static reference)
live: false
url: https://www.bls.gov/schedule/2026/
data_health:
as_of: '2026-10-21T21:23:04.595Z'
source: federalreserve
license: US federal public domain (Federal Reserve)
attribution: 'Source: Board of Governors of the Federal Reserve System — FOMC meeting calendar, U.S. public domain.'
commercial_ok: true
checks_passed:
- license
- schema
error_budget: critical fields <0.1%, other fields <1%
paid: true
'402':
description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '0.05'
security:
- x402Payment: []
operationId: getTollPredCalendar
x-operation-id-source: derived
/toll/pred/kalshi-markets:
get:
tags:
- Prediction Markets
summary: Fetch the Kalshi contract catalog
responses:
'200':
description: Success. Response shape is documented in the service catalog (GET /health on the service).
content:
application/json:
example:
markets:
- ticker: BBALL-26OCT09-DALMEM-TIE
title: Mavericks vs Grizzlies game ends in a tie
subtitle: null
status: null
close_time: null
expiration_time: null
last_price: null
volume: null
open_interest: null
result: 'no'
settlement_value: null
yes_bid: 0.57
yes_ask: 0.58
- ticker: FED-26OCT
title: Fed rates cut in October
subtitle: null
status: open
close_time: '2026-10-28T14:00:00Z'
expiration_time: '2026-10-28T14:00:00Z'
last_price: 0.58
volume: 5000
open_interest: 1200
result: null
settlement_value: null
yes_bid: 0.57
yes_ask: 0.58
- ticker: FED-26SEP-SETTLED
title: Fed rates cut in September
subtitle: null
status: settled
close_time: null
expiration_time: '2026-09-16T14:00:00Z'
last_price: null
volume: null
open_interest: null
result: 'yes'
settlement_value: 1
yes_bid: null
yes_ask: null
count: 3
data_health:
as_of: '2026-10-21T21:23:04.576Z'
source: kalshi
license: Platform public API (resolution records are public)
attribution: Resolution records via Kalshi public Trade API. Market content © KalshiEX LLC; we report factual resolution outcomes.
commercial_ok: true
checks_passed:
- license
- schema
- freshness
error_budget: critical fields <0.1%, other fields <1%
quality:
note: Bid/ask from live orderbook top; yes_ask derived as 1 - best NO bid.
paid: true
'402':
description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
parameters:
- name: limit
in: query
required: false
schema:
type: string
description: 1-50 (default 20)
- name: status
in: query
required: false
schema:
type: string
description: Market status (default open)
- name: event_ticker
in: query
required: false
schema:
type: string
description: Optional event ticker filter
- name: book
in: query
required: false
schema:
type: string
description: Top-of-book depth, 0-10 (default 5)
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '0.05'
security:
- x402Payment: []
operationId: getTollPredKalshiMarkets
x-operation-id-source: derived
/toll/pred/polymarket-markets:
get:
tags:
- Prediction Markets
summary: Fetch the Polymarket market list
responses:
'200':
description: Success. Response shape is documented in the service catalog (GET /health on the service).
content:
application/json:
example:
events:
- title: Will the Mavericks beat the Grizzlies by more than 5.5 points?
slug: mavericks-grizzlies
closed: true
url: https://polymarket.com/event/mavericks-grizzlies
markets:
- question: Will the Mavericks beat the Grizzlies by more than 5.5 points?
yes_price: 0.62
no_price: 0.38
best_bid: null
best_ask: null
volume: null
liquidity: null
end_date: '2026-10-08T00:00:00Z'
closed_time: '2026-10-08T06:00:00+00'
resolution_source: null
outcomes: null
count: 1
data_health:
as_of: '2026-10-21T21:23:04.580Z'
source: polymarket
license: Platform public API (resolution records are public)
attribution: Resolution records via Polymarket public Gamma API. Market content © Polymarket; we report factual resolution outcomes.
commercial_ok: true
checks_passed:
- license
- schema
- freshness
error_budget: critical fields <0.1%, other fields <1%
paid: true
'402':
description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
parameters:
- name: query
in: query
required: false
schema:
type: string
description: Optional search query
- name: limit
in: query
required: false
schema:
type: string
description: 1-50 (default 20)
- name: closed
in: query
required: false
schema:
type: string
description: true | false (default false)
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '0.05'
security:
- x402Payment: []
operationId: getTollPredPolymarketMarkets
x-operation-id-source: derived
/toll/pred/resolution-speed:
get:
tags:
- Prediction Markets
summary: Fetch resolution-speed stats per platform
responses:
'200':
description: Success. Response shape is documented in the service catalog (GET /health on the service).
content:
application/json:
example:
resolution_speed:
polymarket:
n: 1
median_lag_h: 6
p90_lag_h: 6
by_category:
other:
n: 1
median_lag_h: 6
window: endDate -> closedTime
manifold:
n: 1
median_lag_h: 6
p90_lag_h: 6
by_category:
econ:
n: 1
median_lag_h: 6
window: closeTime -> resolutionTime
note: small sample — recent list skews to open markets
kalshi:
n: 1
median_lag_h: 723.3
p90_lag_h: 723.3
by_category:
econ:
n: 1
median_lag_h: 723.3
window: expiration_time -> settlement_ts
data_health:
as_of: '2026-10-21T21:23:04.591Z'
sources:
- polymarket
- manifold
- kalshi
license: Platform public APIs; factual timestamps only
checks_passed:
- schema
error_budget: critical fields <0.1%, other fields <1%
paid: true
'402':
description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
parameters:
- name: limit
in: query
required: false
schema:
type: string
description: 5-50 (default 30)
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '0.05'
security:
- x402Payment: []
operationId: getTollPredResolutionSpeed
x-operation-id-source: derived
/toll/pred/whales:
get:
tags:
- Prediction Markets
summary: Fetch Polymarket large (whale) trades
responses:
'200':
description: Success. Response shape is documented in the service catalog (GET /health on the service).
content:
application/json:
example:
whales:
- market: Fed rate cut in October?
event_slug: fed-cut-october
url: https://polymarket.com/event/fed-cut-october
side: BUY
outcome: 'Yes'
size_shares: 50000
price: 0.65
usd_value: 32500
wallet: 0xwhale1
pseudonym: Whale1
timestamp: '2026-10-09T16:23:20.000Z'
tx: 0xtx1
count: 1
min_usd: 10000
note: usd_value = size (shares) × price. Wallets are pseudonymous proxy wallets.
data_health:
as_of: '2026-10-21T21:23:04.589Z'
source: polymarket
license: Platform public API (resolution records are public)
attribution: Resolution records via Polymarket public Gamma API. Market content © Polymarket; we report factual resolution outcomes.
commercial_ok: true
checks_passed:
- license
- schema
- freshness
error_budget: critical fields <0.1%, other fields <1%
paid: true
'402':
description: 'Payment Required (x402). The PAYMENT-REQUIRED response header carries the x402 v2 PaymentRequired object (base64 JSON: scheme, CAIP-2 network, amount, asset, payTo, plus the bazaar discovery extension); the response body carries the same challenge in x402 v1 form for compatibility, naming the SOL recipient and USDC token account on Solana plus a fresh memo. To pay on this service''s rail: pay with the memo attached (Solana Memo program), then retry with header ''X-Payment-Tx: <transaction signature>'' and query parameter ''toll_memo=<memo>''.'
parameters:
- name: min_usd
in: query
required: false
schema:
type: string
description: Minimum trade size in USD (min 100, default 10000)
- name: limit
in: query
required: false
schema:
type: string
description: 1-100 (default 25)
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '0.05'
security:
- x402Payment: []
operationId: getTollPredWhales
x-operation-id-source: derived
components:
securitySchemes:
x402Payment:
type: apiKey
in: header
name: X-Payment-Tx
description: 'x402 toll payment proof: the Solana transaction signature of a payment carrying the memo from the 402 challenge; send together with ?toll_memo=<memo>. Payment itself is made on-chain in SOL or USDC to the recipient named in the challenge.'