Onsend Docs

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.

The lifecycle

A season moves through three states, and you drive the transitions from Seasons in the admin sidebar (requires the Admin role).

Screenshot pending

Admin → Seasons: season list with status and vault / events actions

slot: seasons.list

Create: 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.

Screenshot pending

Admin → Seasons → Create season form

slot: seasons.create

Activate: 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.

Screenshot pending

Admin → Seasons → (season) → Vault ladder editor

slot: seasons.vault-ladder

Each milestone has an Order, a Threshold (season pts), an optional Label, and a Reward type:

Reward typeWhat the member gets
BadgeA badge (set its slug, display name and tier)
CoinsA coin amount (requires the coin economy)
MultiplierAn XP multiplier, with an optional expiry in days
Inventory itemA consumable (e.g. streak_freeze) and a quantity
Mystery boxA 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").

Screenshot pending

Admin → Seasons → (season) → Events editor

slot: seasons.events

Add 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.

On this page