What is ARBITER?
Prices are normalized to probabilities from 0 to 1 and timestamps to Unix milliseconds. Historical requests include trades, book snapshots and OHLCV candles at one-minute to daily intervals; supported at_time reads return point-in-time prices.
Use TypeScript or direct HTTP for the documented integration. Python examples appear, but the introduction still labels its Python SDK coming soon. Event matches are candidates: settlement rules and deadlines must be compatible, and historical coverage needs checking for the specific market and interval.
Who it is for
- Developers combining Polymarket and Kalshi.
- Researchers comparing corresponding contracts.
- Teams building historical charts or wallet analysis.
Features and coverage
- Unified discovery
Search markets and events on both venues.
- Normalized fields
Use 0–1 prices and Unix-millisecond timestamps.
- History
Retrieve trades, books and OHLCV from one-minute to daily intervals.
- Point-in-time
Use supported at_time queries for historical prices.
- Wallet analytics
Query positions, activity, trades and P&L.
- Cross-venue matches
Find potentially corresponding events before comparing prices.
- Live data
Stream supported trades, prices and book changes over WebSocket.
Workflows with ARBITER
Compare a candidate match
Read both contracts' definitions and compare normalized prices. Include depth and venue fees before calculating an executable spread.
Build a historical view
Choose a market and interval and paginate trades or candles. Retrieve book snapshots when liquidity matters.
Research a wallet
Query positions and activity and link entries to their underlying markets.
Pricing and total cost
An account and API key are required. Product and introduction pages do not publish a numerical subscription price; inspect the account plan before a large ingestion job.
Getting started
Before you start: Python examples do not establish a released Python SDK.
- Create an account and API key.
- Send X-API-Key with a small market query.
- Retain venue IDs alongside normalized IDs.
- Choose REST history or WebSocket updates.
- Use TypeScript SDK or direct HTTP.
The introduction labels the Python SDK coming soon despite examples elsewhere; direct HTTP is a documented integration path.
Useful links
What to check
- Python examples do not establish a released Python SDK.
- Matches still need compatible settlement rules and deadlines.
- Check historical coverage per market and interval.
A closer look
Ratings & reviews
User reviews 0
The main score switches to user ratings after 5 published reviews.
A specific example helps the next person choose the right tool.
Related tools
Browse categoryFrequently asked questions about ARBITER
Which venues are documented?
Polymarket and Kalshi.
How are prices expressed?
As probabilities from 0 to 1.
Does history include more than candles?
Yes. Trades and historical book snapshots are documented.
Does an API match prove identical contracts?
No. Read original rules and resolution conditions before assessing an executable trade.


