Almost every competitive game you've played has a pass. Play matches, fill a bar, collect things. It is the most reliable retention mechanic anyone has found, and it is the reason a game you stopped enjoying still got two hours out of you in the last week of a season.
It is also, in a league product, the single easiest way to wreck the thing people came for.
A Team Up leaderboard exists to answer one question: who is better. Everything on it — the rating, the tier roles, the standings people screenshot — is an attempt at that answer. A progression system is a machine for making people play more matches. Point that machine at a ranking and you have to be extremely careful about what it hands out, because most of the obvious rewards are, in the technical sense, cheating.
This post is the design work behind Team Up's Season Pass, which opens on 1 October 2026. The reason it's worth reading even if you never buy one is that the constraint at the centre of it applies to any reward you attach to a ladder — including the ones you invent yourself for your own league.
The One Constraint
A reward attached to a ranking must be worthless to the ranking.
That sounds obvious stated flatly, and it eliminates most of what a pass normally contains. Every one of these is standard in live-service games and every one of them is disqualified here:
- XP or rating boosts. A rating that moves faster for paying players is not measuring skill any more, it is measuring skill plus payment. The number stops meaning what it says on the leaderboard.
- Faster placement. Placement matches exist to hide a rating until there's enough evidence for it. Shortening that for money sells the right to be wrong on the board.
- Queue priority. Matchmaking picks a lobby from the people waiting. Reordering that queue for money changes who plays whom, which changes results.
- Rating floors or loss protection. A player who can't fall below a bought floor is occupying a position the ladder didn't award them.
- Extra placements, second chances, redo credits. All the same shape: they let money edit the record.
What survives is narrow: cosmetics, and currency that buys cosmetics. That is the entire reward space, and it is the entire reward space by construction rather than by restraint. There is no version of this where a shop point changes a match outcome, so there is no slope to slide down later when the revenue is disappointing.
The list is worth keeping even if you never sell anything. Leagues invent their own season rewards all the time — a champion role, a prize pool, priority on scrim night. The ones that cause arguments six weeks later are always the ones on the top list.
Once the Prize Is Cosmetic, Farming Gets Boring
The first question anyone asks about play-to-earn progression in a self-reported league is farming. It's the right question. Most Discord leagues record their own results — nobody is reading a game API — so match volume is, in principle, whatever people say it is. Two players with a bit of patience can record a hundred matches this afternoon.
Here's what that actually buys them.
Season XP mints at 10 XP per match, and a tier costs 100 XP. The Season 1 ladder is 12 tiers, so finishing it is 1,200 XP, or 120 matches across a 13-week season. That's a bit under ten matches a week — an active player, not a grinder.
Now the farm. The cap is 5 matches per UTC day, so the most XP anyone can mint in a day is 50, or half a tier. Finishing the whole ladder by farming and nothing else takes 24 consecutive days of hitting that ceiling.
So farming is faster. It's roughly four times faster than playing at a normal rate, and the cap does not stop it — anyone telling you a daily cap prevents farming is selling something. What the cap does is bound the damage: one determined afternoon is worth half a tier, not the season.
But the reason farming isn't a crisis isn't the cap. It's that the prize is a nameplate. Someone who fabricates a hundred matches to reach tier 12 three weeks early has spent an afternoon on a cosmetic and moved nobody's rating relative to anybody else's. The ladder they share with everyone else is untouched, because there is nothing on the pass that could touch it.
Compare that to a pass that paid out rating points. There, the same afternoon is an attack on the leaderboard, and the daily cap goes from a sensible bound to the only thing standing between your standings and fiction. That's the real payoff of the one constraint: it turns the hardest question in the design into a boring one.
Two smaller guards do the rest of the work. Matches flagged by farming detection mint no XP at all, and a deleted or undone match takes its XP back with it — so a league that cleans up a bad batch of results cleans up the XP too, without anyone having to think about it.
Why XP Is Minted, Not Counted
There's an obvious implementation that doesn't work, and the reason it doesn't is worth knowing if you run a league on the free tier.
The obvious version: to find out how much XP someone has, count their matches this season. One number, derived on demand, no new data.
This breaks on match history limits. Free and Pro leagues store a bounded number of past matches; when the limit is reached, the oldest ones are dropped. Ratings are unaffected — those are always kept — but the match rows go away. If season progress is derived by counting rows, then a busy league quietly deletes its own players' progress, and a player who checks the pass in December has less XP than they had in November, having done nothing wrong. There'd be no error, no alert, and no way to reconstruct it.
So XP is minted: at the moment a match is recorded, each participant's day gets a count, and that count is a permanent fact independent of whether the match itself is still in history. Progress is computed from those day counts, and the daily cap is applied when they're read rather than when they're written — which is also what makes the cap impossible to work around by recording in bursts.
This is the same reasoning behind rolling a season into a new leaderboard rather than wiping ratings: if a number is going to be looked at for three months, it needs to be stored, not recomputed from something that expires.
Buying Late Should Never Cost Anything
The standard pass sells you urgency. Buy now, because tiers you pass without owning the premium track are gone.
That mechanic works. It also produces the specific bad outcome a league product can least afford: a member who bought under time pressure, felt worked, and is still in your Discord.
So the premium track unlocks retroactively. Buying the pass opens the premium reward on every tier already reached — buy it on the last day of the season and everything earned that season is immediately claimable. Nothing is lost by waiting, which means there is no defensive purchase, which means nobody is buying to avoid a penalty.
There's a self-interested version of the same argument. The strongest pitch for a pass is a player who already played all season looking at a stack of rewards they've earned and can open right now. Time pressure trades that pitch away for a worse one made earlier.
Claims stay open for 30 days after the season ends for the same reason. A season that closes while somebody is on holiday shouldn't take their nameplate.
The Free Track Isn't a Demo
The free track runs through tier 8 — six of those eight tiers pay a free reward, and the eighth is a pass-exclusive nameplate: Ridgeline, which is not sold in the shop, doesn't appear in loot crates, and can't be obtained any other way. The only route to it is playing 80 matches in the season, and it costs nothing.
That's deliberate, and it's the part most likely to look like a mistake from the outside. A free track that only hands out sample-sized amounts of currency is an advertisement, and everybody can tell. A free track with a genuinely exclusive item on it is a reason to check your progress in week six, which is the only condition under which the premium track has an audience at all.
The same rule that makes Ridgeline worth having applies to the two premium cosmetics: pass-exclusive items are never sold separately, never enter crate pools, and never enter voucher pools. A season's cosmetics are the record of who was around that season, and that's only true if they can't be bought later.
Season 1 — Zenith
| Runs | 1 October → 31 December 2026 (13 weeks) |
| Claims stay open until | 30 January 2027 |
| Free track | Runs through tier 8, ending in the Ridgeline nameplate |
| Premium track | All 12 tiers — $9.99, one time, no renewal |
| Rewards | Shop points, loot crates, and three pass-exclusive cosmetics |
The theme is a climb. Ridgeline (free, tier 8) is the ascent starting in the dark; First Ascent (tier 4) is the badge for a route nobody had taken; Zenith (tier 12) is the summit at first light. They share a palette and diverge on motion, which is the sort of thing you only notice if you have all three.
XP counts across every league you play in — matches in three different Discord servers all add to the same season total. And it accrues against your Discord account whether or not you've ever signed in to the website, so a player who plays all season and signs in for the first time in January finds their progress already sitting there.
Check progress with /season in Discord, or /season user:@someone to see where a rival is. The full ladder is at teamupgg.com/app/season-pass, and it renders signed out if you just want to see what's on it.
Frequently Asked Questions
Does the Season Pass give any competitive advantage?
No. Every reward on both tracks is shop points, loot crates, or cosmetics. Nothing on the ladder changes a rating, a rating calculation, matchmaking, queue priority, or a placement — that's the constraint the whole design is built around, not a promise about the current version.
Do league admins have to enable or pay for anything?
No. The pass is bought by individual players, works in every league, and has no server-side setting. It is unrelated to a league's Free / Pro / Unlimited subscription — an Unlimited league doesn't get it included, and a Free league's players aren't excluded.
What stops people farming matches for XP?
Partly a cap of five matches per day, partly farming detection (flagged matches mint nothing) and XP removal when a match is deleted. Mostly, though: the prize is cosmetic. Farming XP doesn't move anybody's rating, so it costs the league nothing — which is the point of restricting rewards to things the ladder can't see.
If I buy the pass in December, do I lose the rewards from October?
No. The premium track unlocks retroactively on every tier already reached. Buying late costs nothing but the time you spent not having the rewards.
Does XP carry between seasons?
No — XP is per season. Everything claimed is permanent and follows your account across every league you play in.
Is it a subscription?
No. Each season is a separate one-time purchase and nothing renews automatically.
Further reading:
- How to Run a Competitive Season — resets, carryover and playoffs
- Why Your Discord League Went Quiet — what actually brings players back
- Detecting Smurfs, Boosting and Match Farming — the guards behind the XP gate
- Season Pass ladder — both tracks, live progress, claims
- Cosmetics — the shop, bundles and everything not pass-exclusive
