Unified Prediction Market Data with Tatum: One API for Polymarket and Kalshi

Written by
Mohit Thakkar
June 17, 2026
8
min. read
A minimalist cartoon style prediction market interface showing a playful scenario about AI taking over the world by 2027. In the center, a card styled like a Polymarket UI displays two outcomes, Yes and No, with an odds chart. A colorful, high contrast AI

A practical guide to building on prediction market data using a single unified API.

If you've ever tried to build an app on top of prediction markets, you know the problem. Polymarket has one API. Kalshi has another. Different authentication, different data schemas, different endpoint structures. You end up writing and maintaining two integrations that do essentially the same thing fetch market data just in two completely different ways.

There's a simpler path. Tatum's Prediction Markets API gives you a single, unified interface to both Polymarket and Kalshi. One API key, one base URL, one consistent response format across 38 endpoints. No more juggling platform-specific quirks.

In this guide, I'll walk through what the API covers, how the endpoints work, and how to use them with practical code examples you can run today.

What Are Prediction Markets?

A prediction market is a platform where participants trade on the outcome of real-world events. Instead of buying shares in a company, you buy shares in a question: "Will Bitcoin hit $100K by December?" or "Which party wins the Senate in 2026?"

Prices represent probabilities. If "Yes" shares on a market trade at $0.72, the market collectively assigns a 72% probability to that outcome. If you think it's higher, you buy. If lower, you sell.

The two leading platforms right now are:

Polymarket: Decentralized, built on the Polygon blockchain. Markets cover crypto, politics, sports, entertainment, and more. All trading activity is on-chain, meaning wallet and transaction data is publicly accessible.

Kalshi: A CFTC-regulated exchange based in the U.S. Markets focus on regulated events like economics, weather, and politics. It operates like a traditional exchange with centralized clearing.

Both platforms are growing fast, which is creating demand for developer tooling: trading bots, dashboards, portfolio trackers, and social trading platforms.

Growth of predictions market trading volume

Why Building on Multiple Platforms Is Painful

You could integrate Polymarket and Kalshi directly. Some teams do. But here's what that actually looks like:

Two authentication systems: Polymarket uses blockchain-based auth. Kalshi uses traditional API keys with different header conventions. You're maintaining two auth flows from day one.

Different data schemas: An "event" on Polymarket doesn't have the same field names or nesting as a Kalshi event. You need to write normalization layers to merge data into a consistent format.

Different endpoint structures: Wallet analytics? Only available on Polymarket (because it's on-chain). Regulated market compliance data? Only on Kalshi. Your app needs conditional logic for every platform-specific feature.

Double the maintenance: When either platform changes their API, you have a separate codebase to update and test.

Think of it like building a stock trading app that has to integrate NYSE and NASDAQ through completely separate APIs, then stitch the data together yourself. It works, but it's a lot of overhead for what should be a read operation.

Tatum's Prediction Markets API abstracts this away. You query one API, get one consistent response format, and the platform handles the normalization, routing, and platform-specific edge cases.

Getting Started: One API Key, Two Platforms

Every request goes through a single base URL: https://api.tatum.io/v4/data/prediction

Authentication is a single header:

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/events?platform=polymarket&status=active&limit=5" \
  -H "x-api-key: your-tatum-api-key"

Response:

JSON
{
  "events": [
    {
      "id": "event_abc123",
      "title": "Will B​TC hit $100K by December 2026?",
      "platform": "polymarket",
      "status": "active",
      "markets": [
        {
          "id": "market_xyz789",
          "question": "Yes or No",
          "yesPrice": 0.72,
          "noPrice": 0.28
        }
      ]
    }
  ]
}

All responses are JSON with a consistent structure. If you have a Tatum API key, you can start querying both platforms immediately.

Finding Markets: Events, Search, and Discovery

Prediction markets are organized hierarchically. An event (e.g., "2026 U.S. Midterm Elections") contains one or more markets (e.g., "Will Party X win the Senate?"). The API gives you several ways to navigate this structure.

List Events

Pull events filtered by platform, status, and count:

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/events?platform=polymarket&status=active&limit=10" \
  -H "x-api-key: your-tatum-api-key"

You can filter by category CRYPTO, POLITICS, SPORTS, FINANCE and sort markets by volume, liquidity, or closing time. Want only Kalshi markets? Swap the `platform` parameter. Want both? Omit it entirely.

Get Event Details

Drill into a specific event to see all its nested markets:

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/events/{eventId}" \
  -H "x-api-key: your-tatum-api-key"

This returns the event metadata along with every market under it, their current prices, and status.

Search Across Everything

This is where the unified API really shines. A single search endpoint queries events, markets, and trader profiles across both platforms:

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/search?q=b​itcoin&limitPerType=5" \
  -H "x-api-key: your-tatum-api-key"

The schema is identical regardless of whether the data originated from Polymarket or Kalshi. No conditional parsing.

Reading Live Market Data: Prices, Orderbooks, and Trades

Once you've found a market, the API provides three layers of real-time data.

Current Price and Spread

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/markets/{marketId}/price" \
  -H "x-api-key: your-tatum-api-key"

Response:

JSON
{
  "midPrice": 0.72,
  "spread": 0.02,
  "yesPrice": 0.73,
  "noPrice": 0.27,
  "lastUpdated": "2026-06-09T14:30:00Z"
}

The mid-price is the midpoint between the best bid and ask. The spread tells you how tight the market is a $0.02 spread indicates good liquidity, while $0.10+ suggests a thin market where large orders will move the price.

Orderbook Depth

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/markets/{marketId}/orderbook?side=yes&depth=10" \
  -H "x-api-key: your-tatum-api-key"

Pull the full orderbook for either the "yes" or "no" side. The `depth` parameter controls how many price levels to return.

This is essential for:

- Assessing liquidity before placing large trades

- Building orderbook visualizations showing bid/ask depth

- Detecting whale activity by spotting large resting orders

Recent Trades

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/markets/{marketId}/trades" \
  -H "x-api-key: your-tatum-api-key"

Trade history includes timestamps, amounts, and sides. Useful for tracking market sentiment shifts and building volume-weighted analytics.

Understanding Prediction Market Pricing

This trips up developers coming from traditional finance, so let's be explicit.

In prediction markets, prices are bounded between $0.00 and $1.00. A "Yes" share at $0.72 and a "No" share at $0.28 always sum to ~$1.00 (minus the spread).

Price = Implied Probability. A Yes price of $0.72 means the market thinks there's a 72% chance the event happens. If you believe the true probability is 85%, buying at $0.72 is a value trade.

Settlement is binary. When the event resolves, winning shares pay $1.00 and losing shares pay $0.00. If you bought "Yes" at $0.72 and the event happens, you profit $0.28 per share.

Spread matters. A market with a $0.02 spread (best bid $0.71, best ask $0.73) has healthy liquidity. A market with a $0.15 spread is thin you'll pay more to enter and receive less when exiting. Always check spread and orderbook depth before building strategies around a market.

Historical Data: Candles for Backtesting and Charting

The API provides historical price data in the standard OHLCV format (Open, High, Low, Close, Volume) the same format used by stock and crypto trading platforms.

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/markets/{marketId}/history?interval=1d&startDate=2026-01-01&endDate=2026-06-01" \
  -H "x-api-key: your-tatum-api-key"

Configurable intervals include `1h` (hourly) and `1d` (daily), with custom date ranges. If you've built candlestick charts for crypto or equities, the integration is identical.

What you can do with historical data:

Backtesting: Evaluate how a trading strategy would have performed on past market movements. Did the market consistently underprice certain event types? Run the numbers.

Charting: Build candlestick or line charts for market trend visualization. Show how a market's implied probability shifted as an event approached its resolution date.

Pattern recognition: Identify how markets behave in their final days before resolution. Do they converge smoothly to $0 or $1, or do they experience late volatility?

Tracking Wallets and Portfolios

Since Polymarket operates on the Polygon blockchain, all trading activity is on-chain and publicly accessible. The API lets you track any wallet's prediction market activity using its address.

Portfolio Performance

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/wallets/{address}/portfolio?period=30d" \
  -H "x-api-key: your-tatum-api-key"

Returns PnL, ROI, and a breakdown of realized vs. unrealized gains over a configurable time period. The `period` parameter accepts values like `7d`, `30d`, `90d`.

Open Positions

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/wallets/{address}/positions" \
  -H "x-api-key: your-tatum-api-key"

See every active market a wallet is participating in, along with their entry prices and current exposure.

Trade History and Current Value

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/wallets/{address}/trades" \
  -H "x-api-key: your-tatum-api-key"
Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/wallets/{address}/value" \
  -H "x-api-key: your-tatum-api-key"

Important: Wallet analytics are available for Polymarket only. Kalshi operates as a traditional regulated exchange and does not expose individual account data through public interfaces. The API makes this clear in the response you won't get misleading empty results; Kalshi wallet endpoints will return an appropriate platform-not-supported indicator.

Social Features: Leaderboards and Trader Discovery

The API includes social features built on top of Polymarket's on-chain data.

Top Traders Leaderboard

Shell
curl -X GET "https://api.tatum.io/v4/data/prediction/top-traders?category=C​RYPTO&period=30d" \
  -H "x-api-key: your-tatum-api-key"

Returns ranked traders with performance metrics: PnL, ROI, and trading volume. Filter by category (CRYPTO, POLITICS, SPORTS) and time period to surface the most profitable participants in specific market segments.

Unified Profile Search

The same `/search` endpoint covered earlier also returns trader profiles. Search by username or wallet address to pull up a specific trader's public activity.

These endpoints are the foundation for building social trading platforms, copy-trading interfaces, or community leaderboards. If you want to show your users who the best prediction market traders are and what they're betting on, this is the data layer.

Polymarket vs Kalshi: What's Available Where

Not every feature is available on both platforms. This matters when building cross-platform applications you need to know where to expect data and where to handle graceful fallbacks.

Markdown
| Feature | Polymarket | Kalshi | Notes |
|---------|-----------|--------|-------|
| Market Data | Yes | Yes | Unified schema across both |
| Orderbooks | Yes | Yes | Real-time depth on both |
| Historical Candles | Yes | Yes | OHLCV format, same intervals |
| Wallet Analytics | Yes | No | Polymarket is on-chain; Kalshi is centralized |
| Top Traders | Yes | No | Requires public blockchain data |
| Profile Search | Yes | No | Polymarket profiles only |
| Category Filtering | Yes | Limited | Kalshi has fewer event categories |

24 endpoints cover Polymarket's full feature set including wallets, social, and search. 14 endpoints cover Kalshi's market data, orderbooks, and historical data. The API handles these differences transparently you get a unified response format regardless of the source platform.

What You Can Build

Here are the most common applications teams are building with this data:

Trading Bots: Automated strategies using real-time orderbook depth, price movements, and cross-platform arbitrage detection. Poll price and orderbook endpoints on a schedule, compare across platforms, and execute when conditions are met.

Analytics Dashboards: Market trend visualizations, top trader rankings, and portfolio performance displays. Combine historical candles with live prices for comprehensive market views.

Portfolio Trackers: Monitor any Polymarket wallet's positions, PnL, ROI, and trade history. Build notifications when portfolio value crosses thresholds or positions change significantly.

Social Trading Platforms: Leaderboards, trader profiles, and copy-trading features. Show who's profiting in which categories and what positions they hold.

Market Research Tools: Academic and commercial analysis of prediction market accuracy, liquidity dynamics, and volume patterns across event types.

PMD Explorer Viewer

Detailed docs and MCP server access

Use the API reference for request schemas, platform filter rules, and error codes — or connect the Tatum docs MCP server to query endpoint details in AI workflows.

Live prediction markets explorer

Add your API key and pull live markets from GET /v4/data/prediction/markets — filter by platform, status, and sort by volume.

Preview locked — sample rows shown until you fetch with your key. Endpoint: /v4/data/prediction/markets
# Market Platform Status Yes Volume Liquidity
1 Will BTC reach $150k in 2026? 0xe06a…c61 polymarket active 0.42 1.2M 84k
2 Fed cuts rates before July? KXRATEJUL-26 kalshi open 0.61 420k

Explorer locked

Get your API key and click Unlock & fetch to load live Polymarket and Kalshi markets.

Quick Start Checklist

1. Get a Tatum API key from the Tatum Dashboard

2. Make your first call list active events to verify authentication

3. Explore the market endpoints pull a price, check an orderbook

4. Try wallet tracking look up a known Polymarket wallet

5. Check the full API documentation for response schemas and all the endpoints

6. For enterprise requirements, contact sales@tatum.io

Wrapping Up

Building on prediction markets shouldn't mean maintaining two separate API integrations with different schemas, auth systems, and data formats. The Prediction Markets API collapses Polymarket and Kalshi into a single interface 38 endpoints, consistent JSON responses, and sub-second latency.

Whether you're building a trading bot that needs real-time orderbook data, a dashboard that visualizes market trends, or a social platform that ranks top traders, the data layer is the same: one API key, one base URL, and a response format you only need to parse once.

The prediction market space is growing fast. The tooling for developers building in it should keep up.

Building something with prediction market data? I'd love to hear about your use case. Drop a comment or connect with me.