Skip to main content
Points accrue in seasons. Every leaderboard route takes the season as a required path segment, and every season returns the same response shape.

Season path segment

The segment is the letter s followed by the season number: s1, s2, and so on. There is no default season, so /v1/leaderboard without a segment is not a route. A segment that does not match the pattern, or that names a season the API does not know, returns 400:

Data source per season

Season 1 has no multiplier schedule, so its multipliers array is empty. Points for Season 2 onward are computed from end-of-day position values and the multiplier in force on each day.

Multiplier schedule

GET /v1/leaderboard/:season returns the schedule as multipliers, one row per window: Rows are ordered by position, then firstDay. A position can appear more than once when its multiplier changes over the season.

Position keys

The position enum identifies where a wallet’s value sits. The same keys appear in multiplier rows, per-wallet breakdowns, and daily history. Position value is summed across chains where a position exists on more than one chain. The history route is the only one that reports per-chain rows.