Putting Leagues
League Night is an optional club feature. A club owner turns it on from the club's admin settings. Until it's enabled, the Leagues area shows a locked screen and the /leagues pages and admin tools are hidden.
What a putting league is
A league night is one event — a set of putting stations players work through, scored live. A season ties multiple nights together so standings, stats, and achievements accumulate over weeks.
A night moves through a simple lifecycle:
| State | What’s happening |
|---|---|
| Planned | Created by an admin; check-in not open yet. |
| Open | Players can RSVP and check in. |
| Active | The session is live and scores are being entered. |
| Finalized | Scoring is locked, results are published, and payouts (if any) can be settled. |
For players
Find and check in
Open Leagues to see your club’s league nights as cards showing the name, date, and status. Tap a night to open it, then use Check In. Check-in closes at a time the admin sets, so check in before the session starts.
Guest check-in (no account needed)
Walk-ups don’t need an account. An admin can display a QR code for the night; scanning it opens a check-in page where the guest enters a display name and gets a short linking code. The guest then appears in standings like everyone else. Later, they can sign in and use that linking code to claim their results into a real account.
Enter scores
When the session is active, open the league night and enter scores station by station:
- Makes — how many putts you made at the station
- Attempts — how many you took
- Out-of-bounds (OB) — any throws that go out of bounds, where the station counts them
- Double-down — an optional press (see below) when your club allows it
You can submit your own scores, or enter them for someone in your group (proxy entry).
Offline play. Use Save Offline on a league night to cache its stations and queue your score entries while you have no signal. They sync when you reconnect — handy for courses with poor coverage.
Double-down
When your club enables it, double-down lets you press your luck on a station for a bigger result. Long-press your name to toggle it. You can only double-down after you’ve entered a score for that station, and you’re limited to a set number per round (your club sets the limit, typically one to three).
Standings and results
Standings update in real time during and after a night, at the night’s Results view. You’ll see each player’s rank, makes, attempts, putting percentage, score, points, and any DNF (did not finish) — and you can filter by division. Doubles pairings (when used) show on the night’s Doubles view, and your payout (when the night has buy-ins) shows on its Payout view — see League Payouts.
Scoring modes
Each season runs in one scoring mode, chosen by the admin:
| Mode | How it scores |
|---|---|
| Placement | Points by where you finish each night. |
| Makes | Your total made putts are your score — more is better. |
| Match play | Head-to-head wins within the night. |
| UDisc stroke | Stroke scores imported from UDisc (a popular disc-golf scorecard app); lower is better. |
Season stats
Across a season, your profile and the league views track:
- Points and standings — accumulated week to week (a season can count your best N weeks and/or drop your lowest)
- Attendance — weeks played, attendance percentage, current streak, and best streak
- Putting — makes, attempts, and putting percentage, including per-station leaderboards
- Achievements — badges for milestones like accuracy, attendance, and streaks
- Season comparison and recap — your current vs. previous season, end-of-season standings, and most-improved players
For admins
Requires: Admin role, and League Night enabled for the club (an owner turns it on)
Create a league night
Admins create nights from the Putting League area with a short wizard: name and date, an optional season config, division assignment, a station template, and the announcement channel. Each night’s controls then live on its admin page under three tabs.
Config / Run / Settle
| Tab | When | What you do |
|---|---|---|
| Config | Before the night | Edit the night’s details (name, date, notes, location, scoring start time, default station count, linked round, announcement channel), and set up divisions, doubles, side games, and team battle. |
| Run | During the night | Manage participants and check-ins, view and adjust stations, override submitted scores, organize groups, and import scores. |
| Settle | After finalizing | Configure and calculate payouts — see League Payouts. The Settle tab unlocks once the session is finalized. |
Divisions
Divisions (for example Pro / Am, or skill tiers) are reusable for the club. Each has a name, an optional color, and a sort order. Assign players to a division per night; standings and results can be viewed per division.
Doubles
Generate doubles teams three ways:
- Random — shuffled pairings
- Balanced — seeded by standings so teams are even
- Manual — arrange teams yourself
Regenerate any time from the Config tab; players see their team on the night’s Doubles view.
Side games
Optional pots layered on a night:
- CTP (closest to pin) — a winner per designated station
- Bounty — a head-to-head bet on beating a target player
- Ace pot — a pot that grows from ace entries and can carry over
Side-game money is settled with the rest of the night — see League Payouts.
Team battle
Run a night as team vs. team, either within your club or against another club. Configure teams and the opponent label in the Config tab; results aggregate by team. Team battle is still rolling out, so some pieces may be limited depending on your version.
Season config, templates, and presets
| Tool | Where | Purpose |
|---|---|---|
| Season config | Putting League area | Name, total weeks, best-N weeks and/or drop-lowest, double-down policy and limit, scoring mode, and optional season dates. Reused across the season’s nights. |
| Station templates | Station Templates | Reusable sets of stations (label, attempts per player, order, OB rule) to seed a night quickly. |
| Lineup presets | Lineup Presets | Saved player line-ups for recurring nights. |
Importing scores
In the Run tab, admins can upload a UDisc spreadsheet export (CSV or XLSX, up to 500 KB). Frolf Bot shows a preview with any warnings (unknown players, unmatched stations) so you can confirm before applying. Scores then flow into standings like live entries.
Discord
Clubs that use Discord get a /league command family for quick access:
| Command | What it does |
|---|---|
/league standings | Shows the most recent league night standings. |
/league tonight | Links to tonight’s in-progress league night. |
/league stats | Your personal league stats for the season. |
/league register | Opens league registration in the app. |
/league payout | Opens your league payout info in the app. |
See Discord Commands for the full reference.
Related docs
- League Payouts — buy-ins, prize splits, and settling up
- Scoring & Imports — round scoring (separate from putting-league scoring)
- Admin Reference — all club admin surfaces