| Endpoint | Returns |
|---|---|
GET /tokens | Full leaderboard for the active season |
GET /tokens/:address | Detail view for one token |
GET /tokens/:address/creator-earnings | Per-token creator-fee accrual + claim state |
GET /tokens — leaderboard
rank ascending
(rank 1 = highest HP).status (token-level)
| Value | Meaning |
|---|---|
safe | currently above the cut line |
at-risk | within 3 ranks of the cut line |
finalist | post-cut, top 6 |
filtered | post-cut, bottom 6 |
winner | post-settlement winner |
inactive | pre-activation reservation only |
Components — score vs cohortPercentile
Two adjacent numbers per component, used for different things:scoreis the scoring input: a 0–1 value that’s multiplied byweightto 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.cohortPercentileis 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)
| Field name | UI label |
|---|---|
velocity | Buy pressure |
effectiveBuyers | Real buyers |
stickyLiquidity | Sticky liquidity |
retention | Holder retention |
holderConcentration | Holder distribution |
momentum (gated off) | Momentum |
label from the response — it’s the canonical UI text and is the safe target for changes.dataAvailability
GET /tokens/:address — token detail
history block with the per-snapshot HP series for this token across the
active season.GET /tokens/:address/creator-earnings
| Field | Notes |
|---|---|
creator | The wallet that originally launched the token (immutable) |
recipient | Configured fee-payout address (mutable via creator console) |
accruedWei | Lifetime creator-share accrual (gross of claims) |
claimedWei | Lifetime claimed (sum of all Claimed events) |
claimableWei | accruedWei - claimedWei |
windowStatus | open (winner / pre-cut) · closed (filtered / non-winner finalist) |
windowStatus: closed once their LP has unwound — already-accrued
balances stay claimable indefinitely.