▾ Documentation

Polymarket indexer

Complete Polymarket prediction-market data — order-fill events, market metadata, and event metadata — queryable via SQL on ClickHouse. Flat $300 / mo.

// updated 2026-06-04

The Supanode Polymarket Indexer provides complete prediction-market data including order fills, market metadata, and event metadata. Everything is already collected and structured in a SQL-queryable ClickHouse warehouse, so you skip the indexing and write queries. The dataset is continuously refreshed.

$300 / mo flat.

What's indexed

The indexer captures all Polymarket activity with continuous updates across three core tables:

TableDescriptionRows
polymarket_order_filled_v3All on-chain order-fill events (the CTF Exchange order book activity)~1.35B
raw_market_metaMarket metadata and conditions~2.33M
raw_event_metaEvent metadata grouping related markets~42K

See the Table Reference for the full column schema and the Query Examples for ready-to-run patterns.

Key features

  • Complete order-fill history — every fill is captured with maker/taker attribution (is_maker), order side (side), filled token and USDC amounts, fee, and full Polygon transaction context (block, gas, transaction hash, sender/recipient).
  • Market context — join fills with raw_market_meta to access question text, descriptions, resolution conditions, end dates, outcomes, categories, prices, liquidity, and volume.
  • Event context — join with raw_event_meta to roll markets up into their parent events, with titles, slugs, categories, tags, and aggregated liquidity/volume.
  • Price-discovery analysis — track price evolution around events using aggregated fill data.

Interfaces

  • SQL via ClickHouse — connect with standard tooling such as DBeaver, DataGrip, psql, or the Python client, and run your own queries.
  • Custom REST endpoints — recurring queries deployed as REST endpoints, quoted per scope.

Connection

The indexer is exposed as a ClickHouse database named polymarket. Connect over the HTTP or native protocol.

Python (clickhouse-connect)

import clickhouse_connect

client = clickhouse_connect.get_client(
    host='<your-host>',
    port='<your-port>',
    username='<your-username>',
    password='<your-password>',
    database='polymarket',
)

df = client.query_df("""
    SELECT *
    FROM polymarket_order_filled_v3
    WHERE block_timestamp > now() - INTERVAL 1 HOUR
    LIMIT 1000
""")

DBeaver

  1. Create a new connection and choose the ClickHouse driver.
  2. Set Host to <your-host> and Port to <your-port>.
  3. Set Database/Schema to polymarket.
  4. Enter your Username (<your-username>) and Password (<your-password>).
  5. Test the connection, then open a SQL editor and run your queries.
NOTE

Connection details (host, port, username, and password) are provisioned per customer. Request your credentials via Telegram: @supanode_tgs.

Access

Access is provisioned via Telegram: @supanode_tgs. Provisioning is manual.

TIP

Free trial up to 48h. Activate it via Telegram before committing to a monthly tier.

Ready to start? Reach out on Telegram: @supanode_tgs.