The pipeline
Predexon runs its own indexing pipeline end to end — from our own blockchain nodes to the API response you read. Nothing is proxied from a venue’s public feed, which is why the data is both faster and more complete than what the venues publish.Stage by stage
1
Capture — own nodes with mempool access
We run our own blockchain nodes rather than paying an RPC provider. That gives us the mempool: pending transactions are visible before they confirm, which is how the pending-trades channel streams fills up to 5 seconds ahead of Polymarket’s RTDS. In parallel, dedicated recorders capture every orderbook update from each venue, 24/7 — the raw stream behind tick history.
2
Index — custom decoders per venue
Each venue gets its own indexer: contract ABIs decoded, chain reorgs handled, gaps backfilled. When a protocol upgrades, we update the decoder — you never see the seam. This is the part that quietly breaks in self-built pipelines; it’s our full-time job.
3
Normalize — one schema across venues
Polymarket prices are 0–1 decimals; Kalshi’s are 0–100 cents. Field names, timestamps, and identifiers differ everywhere. The normalization layer maps everything into one consistent shape, so
GET /v2/kalshi/trades reads like GET /v2/polymarket/trades.4
Compute — analytics indexed from the chain
Wallet P&L, smart-money classification, leaderboards, and cohort stats are computed from the complete on-chain history — every trade since 2020, not a sample. That’s why a wallet’s P&L on Predexon matches what the chain says, block for block.
5
Serve — REST, WebSocket, and Parquet
The same underlying data reaches you three ways: REST for state, WebSocket for change, and bulk Parquet for the raw tick stream. Pick per use case; the shapes stay consistent.
Why this is hard to replicate
Data freshness & finalization
- WebSocket events arrive sub-second; pending-trade events arrive before on-chain confirmation.
- REST reads reflect indexed state within seconds of confirmation.
- Tick history datasets are finalized daily through the previous calendar day — finalized means gap-checked and immutable.
Next
Data & Signals overview
Every endpoint, organized by what it’s for.
Tick history & data credits
How the raw tick datasets are priced and delivered.
