Points

Season-1 points of one wallet through foldedThrough (rebuilt daily after the fold). totalPoints = basePoints × (1 + code + snapshot + crown + genesis) + referral.points. Referral fields are as of the last rebuild (see referralsSyncedAt). An unknown wallet reads as zeros (never 404). A wallet in a merged group serves the group's profile: totals, multipliers, snapshots, referral, rank, buckets and season0 are the group's, and group lists its wallets. rank is null when the wallet is not ranked (it created no referral code, or is excluded; for a group: no member created a code, or a member is rank-excluded); season0 is the frozen season-0 record, null without one. live adds this wallet's provisional accrual since foldedThrough up to live.asOf (the last complete hour), computed per request with the daily fold's math and the wallet's current multipliers (a group: every wallet's tail); rank, referral points and the leaderboard stay daily. null when it cannot be computed right now — fall back to the daily fields.

get/v1/points/wallet/{address}

Request

Path parameters

addressstring required

Base58 Solana address.

Response

Cache-Control: public, max-age=300.

addressstring required
seasoninteger required
foldedThroughstring date required
referralsSyncedAtstring date-time required

Neon's now() at the last referral refresh or copy. Referral fields and rank are as of the last rebuild (daily) and reflect that refresh or copy.

totalPointsstring required

Exact decimal as a plain string (e.g. "12.75", "0.0000001"). Never a float.

basePointsstring required

Exact decimal as a plain string (e.g. "12.75", "0.0000001"). Never a float.

rankinteger nullable required
rankedWalletsinteger required
bucketsPointsBuckets required

App bucket (Vercel column minus _points) → points; buckets without points are absent.

season0Walletsinteger required

Example response

{
  "foldedThrough": "2026-08-19"
}

Changes