Seasons, Vaults & Events
Run time-boxed seasons with a vault reward ladder and 2× point windows. Create, activate, and end a season to pay out.
A season is a time-boxed chapter of your project with its own scoreboard. Members earn season points across the season; a vault reward ladder pays out as they cross point thresholds; and 2× events let you turn up the heat for a weekend. When the season ends, you close it and the vault rewards are distributed. Seasons give a long-running community a sense of fresh starts and recurring goals.
Season
A named, time-boxed chapter. Only one season is active at a time.
Vault ladder
Reward milestones that pay out as members cross season-point thresholds.
2× events
Time windows where season points are multiplied, for a weekend push.
The lifecycle
A season moves through three states, and you drive the transitions from Seasons in the admin sidebar (requires the Admin role).
Admin → Seasons: season list with status and vault / events actions
slot: seasons.listCreate: the season starts Upcoming
Click to create a season and fill in the Slug, Name, an optional Theme and Description, and optional Starts at / Ends at dates. It's created in the Upcoming state. Build its vault ladder and events now, while it's still upcoming and fully editable.
Admin → Seasons → Create season form
slot: seasons.createActivate: the season goes live
Click Activate to move the season from Upcoming to Active. Members start earning season points immediately. Only one season can be active at a time, so activating is blocked while another is still active.
End: close it and pay out
When the season's over, click End Season. You'll confirm ("End this season? This will enqueue the vault distribution job.") and the season moves to Ended. Onsend then distributes every earned vault reward and finalises each member's rank. Distribution runs in the background and is marked done on the season once complete.
Ending a season is how rewards pay out
Vault rewards aren't paid as members cross thresholds during the season. They're reconciled and distributed when you End the season. Don't end a season until you intend members to receive their vault rewards.
The vault reward ladder
Open a season's Vault to build its reward ladder: a list of milestones, each a season-point threshold that grants a reward when a member reaches it.
Admin → Seasons → (season) → Vault ladder editor
slot: seasons.vault-ladderEach milestone has an Order, a Threshold (season pts), an optional Label, and a Reward type:
| Reward type | What the member gets |
|---|---|
| Badge | A badge (set its slug, display name and tier) |
| Coins | A coin amount (requires the coin economy) |
| Multiplier | An XP multiplier, with an optional expiry in days |
| Inventory item | A consumable (e.g. streak_freeze) and a quantity |
| Mystery box | A weighted box roll; define the outcomes inline |
Build the ladder while the season is Upcoming
Existing vault milestones are locked once the season is Active or Ended: you can't edit or remove them mid-flight (so members can't have the ladder changed underneath them). You can still add new milestones to a running season, but plan the core ladder while it's Upcoming.
2× events
Open a season's Events to schedule point-multiplier windows: a period where season points earned are multiplied (a "double points weekend").
Admin → Seasons → (season) → Events editor
slot: seasons.eventsAdd an event
In Add event, set a Name (e.g. Double Points Weekend), a
Multiplier, and the Starts at / Ends at window.
Events lock once they start
You can delete an upcoming event freely. Once an event has started on an active season it's read-only: it shows a started label and can't be edited or deleted, so the rules don't shift mid-window.
Tips
- One active season at a time. Plan the next season as Upcoming while the current one runs, then activate it after you end the current one.
- Front-load the vault ladder. Build it while the season is Upcoming; milestones lock once it's live.
- Use events for pushes. A 2× weekend is a cheap, high-impact way to spike participation mid-season.
- End deliberately. Ending a season triggers the payout, so time it for when you want members to receive their vault rewards.