v25

OpenAPI 3.1.0raw.githubusercontent.com2026-08-015486519.4 KB
Whale Trades

Replay historical whale trades

Returns historical whale trades from local whale_alerts rows, not request-time provider fetches. Filter by condition_id, trader, category, minimum grade, platform, and RFC3339 from/to windows. All filters are pushed into SQL before LIMIT, every request uses SQL-backed limit + 1 pagination, and results are ordered newest first by traded_at desc, id desc. Metadata exposes local_replay source and best_effort completeness.

get/api/v1/whale-trades/history

Query parameters

limitinteger
cursorstring

Pagination cursor from previous response's next_cursor. Prefix: wth_. URL-encode when replaying as a query parameter.

min_sizenumber

Minimum trade size in USD.

condition_idstring

Exact raw provider condition_id. Unknown markets return an empty list.

traderstring

Trader wallet address, timestamp-suffixed wallet alias, or username resolved against the traders table. Unknown traders return an empty list.

categorystring

Filter by market category (case-insensitive). A canonical bucket name (e.g. Basketball) matches every provider member that folds into it (NBA, WNBA, NCAAB); a raw provider value also resolves to its bucket.

min_grade'S' | 'A' | 'B' | 'C' | 'D' | 'F'

Minimum trader grade.

platform'polymarket' | 'kalshi' | 'all'

Filter by whale_alerts.platform. all is equivalent to omitted.

fromstring date-time

Inclusive RFC3339 lower bound on whale_alerts.traded_at.

tostring date-time

Exclusive RFC3339 upper bound on whale_alerts.traded_at. Must be after from when both are present.

Headers

If-None-Matchstring

Conditional GET validator from a previous ETag. Matching values return 304 Not Modified with an empty body.

Response

Historical whale trade replay

object'list' required
has_moreboolean required
next_cursorstring nullable
totalinteger nullable

Total matching rows when the read model exposes a count; absent (or null) when it does not.