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
| Field | Type | Description |
|---|---|---|
season_id | string | Season UUID |
season_no | int | Season number |
label | string | Human-readable label |
start_epoch | int | First epoch number in the season |
end_epoch | int | Last epoch number in the season |
user_pool_tokens | int | Token pool allocated for regular users |
mm_pool_tokens | int | Token pool allocated for market makers |
status | string | Season status (see below) |
snapshot_at | string | null | Scheduled snapshot time (ISO 8601) |
snapshot_taken_at | string | null | Actual snapshot execution time |
distribution_at | string | null | Scheduled distribution time |
Season Status
| Value | Description |
|---|---|
pending | Not yet started |
active | Currently running |
snapshot | Snapshot period |
distributing | Token distribution in progress |
completed | Fully 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']:,}")