Skip to main content
Three related endpoints, scoped by URL:

GET /tokens — leaderboard

Returns the active season’s full token list, sorted by rank ascending (rank 1 = highest HP).

status (token-level)

Components — score vs cohortPercentile

Two adjacent numbers per component, used for different things:
  • score is the scoring input: a 0–1 value that’s multiplied by weight to compute HP. This is what determines who survives. It uses fixed-reference normalization for velocity / effectiveBuyers / stickyLiquidity — same input always produces the same score regardless of cohort.
  • cohortPercentile is the display value: where this token’s score falls on a 0–100 percentile scale within the active cohort. Used for the per-component bar visualizations on the Arena page. Not a scoring input — purely cosmetic.

Component labels (UI ↔ field name)

Use label from the response — it’s the canonical UI text and is the safe target for changes.

dataAvailability

Flagged when one or more component inputs is stale or unavailable. Clients that show component bars should grey out missing components rather than displaying zero (which would be misleading).

GET /tokens/:address — token detail

Returns the same token shape as the leaderboard entry, plus a richer history block with the per-snapshot HP series for this token across the active season.

GET /tokens/:address/creator-earnings

Per-token view of accrued creator fees + claim state. Used by the creator console to populate the claim card.
Creator fees are perpetual on winners. Filtered or non-winner-finalist tokens have windowStatus: closed once their LP has unwound — already-accrued balances stay claimable indefinitely.