points-api

Arcus points program API. Read-only. Leaderboard participants appear under randomly generated display names.

Endpoints

EndpointDescription
GET /v1/leaderboard?season=&limit=&offset= Leaderboard for one season (default: the current season): rank, display name, tier, and points for seasons that display points.
GET /v1/points/{address} Signed-in only (below). Display name, rank and tier per season, points for seasons that display points, weekly points history, next drop time.
GET /v1/meta Current season, list of seasons, tier names, latest distributed week, next drop time.
GET /healthzLiveness.

Signing in

/v1/points/{address} answers only the owner of the wallet: send the signed-in user's Privy identity token in a privy-id-token header. The address must be one of the user's linked wallets (embedded, external or smart wallet). Without a valid token the response is 401; for an address not linked to the user, 403.

const { identityToken } = useIdentityToken(); // @privy-io/react-auth
fetch(`/v1/points/${address}`, { headers: { "privy-id-token": identityToken } });

Example

curl "/v1/leaderboard?season=Season%200&limit=2"
{
  "season": "Season 0", "points_visible": false, "total": 1234,
  "entries": [
    { "rank": 1, "name": "Swift Falcon", "tier": "Diamond" },
    { "rank": 2, "name": "Lucky Otter", "tier": "Diamond" }
  ]
}