Competition

Competition leaderboard

Changed on

Get a competition's ranked leaderboard with rank-change indicators.

get/v1/competitions/{slug}/leaderboard

Request

Path parameters

slugstring required

Query parameters

limitinteger
offsetinteger
searchstring

Optional. Case-insensitive prefix match against both username and address.

sort_bystring

Optional sort column: rank | trading_score | volume_score | pnl_score | roi_percent | win_rate | realized_pnl. Empty keeps the track's own ordering. This re-sorts the board as a table; it does not change which track is being read. realized_pnl and roi_percent disagree whenever traders started from different capital.

sort_orderstring

Optional sort direction: asc | desc. Empty uses the column's natural best-first order (ascending for rank, descending for scores). Ignored when sort_by is empty.

trackstring

Optional reward track: empty for the competition's primary track, otherwise one of the tracks its scoring_config lists (roi | volume | oi). This is the page's track toggle. It selects both the board's ordering and the gate set behind each row's qualified, since a wallet holds a different position and can hold different eligibility in each track. Rejected when the competition does not offer the named track.

A competition can be presented as two peer tracks with no primary between them — Double Top pays volume share and time-weighted OI share from separate pools — in which case every read names the track it means.

Response

A successful response.

totalinteger
updated_atstring int64

Unix seconds of the last leaderboard recompute (max row updated_at); 0 when the leaderboard has no rows yet. Frontend renders this as "last updated".

Changes