v25

OpenAPI 3.1.0raw.githubusercontent.com2026-08-015486519.4 KB
Leaderboard

Get trader leaderboard

Returns ranked traders (grades S/A/B) sorted by score descending. Supports cursor pagination and optional category/strategy filters.

get/api/v1/leaderboard

Query parameters

limitinteger
cursorstring

Pagination cursor (score_address format).

categorystring

Filter by category. Values are matched to canonical category buckets: political variants (Elections, Global Politics, U.S. Politics, ...) fold into Politics, Geopolitics stays distinct, Culture/Entertainment map to Pop Culture, Science maps to Science & Tech, and Finance/Business map to Stocks. Mapped buckets are case-insensitive; passthrough categories (Crypto, NBA, and the sports leagues) match case-sensitively against the provider-native bucket key, so use exact casing (e.g. Crypto, NBA).

strategy'accumulator' | 'algo_trader' | 'arbitrageur' | 'directional' | 'event_driven' | 'market_maker' | 'momentum' | 'scalper' | 'speculator' | 'swing_trader'

Filter by ML-detected strategy type. Values come from backend/src/trader_analysis/classification/decision_tree.rs and are matched exactly against trader_classifications.primary_type. Unknown values currently match zero rows; the handler does not return HTTP 400.

Headers

If-None-Matchstring

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

Response

Ranked trader list

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.