Skip to main content

Seasons

Returns all seasons with metadata including token pool sizes and status.

GET /points/seasons

No authentication required.

Response

[
{
"season_id": "a1b2c3d4-...",
"season_no": 1,
"label": "Season 1",
"start_epoch": 1,
"end_epoch": 4,
"user_pool_tokens": 35000000,
"mm_pool_tokens": 20000000,
"status": "completed",
"snapshot_at": "2026-02-01T00:00:00Z",
"snapshot_taken_at": "2026-02-01T00:05:32Z",
"distribution_at": "2026-02-03T00:00:00Z"
},
{
"season_id": "b2c3d4e5-...",
"season_no": 2,
"label": "Season 2",
"start_epoch": 5,
"end_epoch": 8,
"user_pool_tokens": 25000000,
"mm_pool_tokens": 16000000,
"status": "active",
"snapshot_at": null,
"snapshot_taken_at": null,
"distribution_at": null
}
]

Response Fields

FieldTypeDescription
season_idstringSeason UUID
season_nointSeason number
labelstringHuman-readable label
start_epochintFirst epoch number in the season
end_epochintLast epoch number in the season
user_pool_tokensintToken pool allocated for regular users
mm_pool_tokensintToken pool allocated for market makers
statusstringSeason status (see below)
snapshot_atstring | nullScheduled snapshot time (ISO 8601)
snapshot_taken_atstring | nullActual snapshot execution time
distribution_atstring | nullScheduled distribution time

Season Status

ValueDescription
pendingNot yet started
activeCurrently running
snapshotSnapshot period
distributingToken distribution in progress
completedFully completed

Code Examples

Python

import requests

BASE_URL = "https://api.primit.io/api/v1"

resp = requests.get(f"{BASE_URL}/points/seasons")
seasons = resp.json()

for s in seasons:
print(f"Season {s['season_no']} [{s['status']}]: Epochs {s['start_epoch']}{s['end_epoch']}, user pool={s['user_pool_tokens']:,}")