Manager Guide

Everything a tournament director needs to run a PongDesk event - from first registration to final result.

Welcome to PongDesk

PongDesk is free software built exclusively for table tennis. It handles every step of running a tournament - registration, seeding, round-robin scoring, single-elimination brackets, and final results - so one tournament director can manage an entire event without extra staff or paper spreadsheets.

This guide is for club managers: the people who create and run tournaments. Registering, joining a doubles or team event, following live matches, and tracking your rating? See the Player Guide instead.

Tournament Formats

When you create a tournament you choose one of two formats. This choice is permanent - it cannot be changed after creation.

FeatureEvent-BasedGiant RR
Best forMultiple independent rating-banded categoriesOne big round-robin that splits into skill divisions
Stage 1RR groups per eventRR groups for everyone in the tournament
Stage 2Single-elimination bracket per eventPlacement RR (Division A / B / C …)
Stage 3-SE bracket per division
Which should I pick? Use Event-Based when your tournament has distinct categories (e.g., U1500, Open Doubles) that each need their own bracket. Use Giant RR when you want everyone to play each other first and then split into A/B/C skill divisions.

Getting Started

  1. 1Create an account at the PongDesk sign-up page. During onboarding you will be asked for your name, birth year, gender, USATT rating, and home club.
  2. 2Get manager access. Request it from Become a club manager (also linked on your Account page) - see Becoming a Club Manager below. A PongDesk admin reviews every request. Without the Manager role you can register as a player but cannot create or run tournaments.
  3. 3Open your club's admin panel by clicking Admin in the top navigation bar when you are on your club's page.

Becoming a Club Manager

Manager access is requested from the Become a club manager page (also reachable from your Account page). Every request is reviewed by a PongDesk admin before access is granted - you will not be able to manage anything until it is approved.

Regular club members and players should not request manager access. Registering for tournaments, paying entry fees, and viewing standings and results never require the Manager role - those are all open to any signed-in player on the public tournament pages. Only request management if you are actually responsible for running your club's tournaments (for example the club owner, tournament director, or designated staff). Unauthorized claims are rejected.

The page uses a single search box for both options:

  • Claim an existing club. Search by name and pick your club from the results. Each result is badged Claimed (already has a manager) or Unclaimed. Always search first so you don't create a duplicate of a club that already exists.
  • Create a new club. If no existing club matches the name, choose Create new club to request a brand-new one.
Claiming a club that is already Claimed is treated as a co-manager request - it adds you alongside the current manager and never removes them. Transferring or removing a manager is handled separately by a PongDesk admin.

To help admins verify you represent the club, fill in the “How can we contact your club?” field with a public phone number, social media profile, or website. A clear verification contact makes approval faster; requests with no way to confirm the claim may be rejected.

You can track the status of your requests (Pending / Approved / Rejected) on the same page. Once approved, your club's Admin panel becomes available.

Manager Dashboard

The dashboard at /{club-slug}/admin lists every tournament your club has created, sorted by status. Each card shows the tournament name, date range, format, and a status badge (Draft / Active / Completed).

Click a tournament card to go directly to the appropriate management page for its current state. Use the New Tournament button to create a tournament.

Creating a Tournament

Click New Tournament from the dashboard and fill in:

  • Title - the public-facing name of the tournament.
  • Format - Event-Based or Giant RR (cannot be changed later).
  • Dates - start date, end date, and optional registration deadline.
  • Location - venue name or address.
  • Default Best-Of - games per match in round-robin (e.g., best of 5) and in elimination (e.g., best of 7). Individual events can override these defaults.
  • Entry Fees - default singles and doubles fees; overridable per event.

After creating, you can add a public Description / flyer (Markdown supported, shown on the tournament's public page) under Settings - handy for venue details, schedule notes, or rules.

Running the same tournament again? Click the copy icon on any tournament card in the dashboard to clone it - the copy is a fresh draft with the same format, defaults, and events (entries and results are not copied). You only set a new name and start date; event dates shift to keep their offsets from it.

Newly created tournaments start in Draft status. The Visible to players option is on by default, so a new tournament is publicly listed right away - uncheck it at creation (or later under Settings) to keep it hidden while you set things up. Visibility is controlled by that toggle and is independent of the tournament's status.

Deleting a tournament is only possible while it is in Draft status. Deletion cascades to all events and registrations.

Adding Events

Go to Settings in the tournament sidebar and click Add Event to create categories (e.g., “Under 1500 Singles”, “Open Doubles”). The event name is suggested automatically from the category and eligibility rules you set - edit it any time. Each event has:

  • Category - Singles, Doubles, or Team.
  • Eligibility - optional max USATT rating cap, age range (min/max age), and gender restriction.
  • Group size - target number of players per round-robin group (e.g., 4). PongDesk distributes extra players so groups differ by at most one player.
  • Best-Of override - leave blank to inherit the tournament default.
  • Entry fee - leave blank to inherit the tournament default.
  • Start time - required; shown on the Overview event cards and in the public Entries list.
  • Allow unrated players in SE bracket - off by default. When off, singles players with no USATT rating (rating 0) who win their RR group are excluded from the elimination bracket and the next eligible finisher advances in their place. Turn this on for open or unrated events where all group winners should advance regardless of rating.
  • Optional 3rd-place match - off by default. When on (and the bracket has at least 4 qualifiers), a consolation match is added between the two semifinal losers to decide 3rd and 4th place.
  • Exclude from rating calculation - off by default. When on, matches in this event are excluded from the post-tournament USATT rating computation. Use this for novelty, hardbat, or exhibition events that should not affect ratings.
Events can be added or edited any time while the tournament is in Draft. Once the tournament is Active, event settings are locked to protect ongoing matches.

Running several rating-band events (e.g., U1200 / U1500 / U1800)? Click the copy icon next to any event to duplicate its settings into a new event - only the name, start time, and rating cap typically need changing.

Managing Registrations

The Entries page shows every event with its registered participants.

1. Add Players to an Event

Click Add player on the event to search your club's roster or any PongDesk account by name. Eligibility rules are checked automatically. If nobody matches, a Create as a new player option appears - fill in name, rating, birth year, and gender, and they're registered to this event immediately. Creating a player also adds them to your club's roster for reuse in future tournaments. (Doubles and team events have their own Add doubles team / Add team dialogs, with the same search-or-create flow per roster slot.)

2. CSV Bulk Import

Open Manage roster on the Entries page, then Import CSV to upload a spreadsheet with up to 500 rows. Only a name column is required - everything else is optional. Headers are auto-detected and case-insensitive, so common variants work:

ColumnRequiredNotes
First Name + Last NameYesTwo columns (aliases: First/Given Name, Last/Surname/Family Name). Or map a single combined Full Name / Name column - it's split automatically.
USATT RatingNoInteger; blank or 0 = unrated. Also: USATT, Rating
Birth YearNo4-digit year (e.g., 1995). Also: YOB, Year
GenderNoM, F, or Other. Also: Sex
Home ClubNoMatched by name; blank is fine

Duplicates are detected by name match. Conflicts are flagged for review before import. Import adds to your club's roster only - it does not register anyone to an event, so you can import once and add players across several events from there.

3. Add a Roster Player (No Event)

Managed players are account-less players owned by your club - useful for guests who don't have a PongDesk account. Open Manage roster on the Entries page and use Add player there to create one without entering them into any event yet - useful when you want to build out your roster ahead of time. The same dialog lets you view, search, and delete (unregistered) managed players.

Removing Entries

There is no separate accept/reject step - every registered participant is included in seeding and brackets. To exclude someone, use the Remove column on the Entries page. Payment status (next section) is tracked independently and does not affect seeding.

Check-In

Each entry on the Entries page has a Check-in toggle for day-of attendance - tap to mark a player present, tap again to undo. You can sort the list by check-in status to quickly see who has arrived. Check-in is purely a tracking aid; it does not affect seeding or matches.

Player Self-Withdrawal

Players can withdraw their own entry from an event directly on the public tournament page (a Withdraw button on their registration). Keep an eye on entry counts before generating matches, since a player may drop out on their own.

Doubles Teams

For Doubles events, pair two registered players into a team from the Entries page. The team's effective rating is the sum of both partners' USATT ratings, which is used for seeding.

If a player registers for a doubles event without a partner (“solo doubles”), they are held in a pending state until a partner joins or you assign one. You can dissolve a team at any time before matches are generated.

Eligibility constraints (rating cap, age range, gender restriction) are checked against both partners individually.

Team Competitions

A Team event is contested as a series of ties - one team vs. another, decided by a fixed sequence of individual sub-matches. Pick a format when you create the event (Settings → Add Event → Category: Team):

  • Olympic / World - 3 players, 5 singles sub-matches, first to 3 wins the tie.
  • Corbillon - 2 players, 4 singles + 1 doubles, first to 3 wins the tie.
  • Swaythling Cup - 3 players, 9 singles sub-matches, first to 5 wins the tie.
Team events are excluded from USATT rating calculations.

Building Rosters

Teams can be built two ways. On the Entries page, Add Team lets you enter a full roster yourself. Or players can self-register on the public tournament page - a captain creates the team and can leave slots open for others to fill (a forming team). Either way, use Roster players on the Entries page at any time to add, remove, reorder, or reassign the captain of a team.

A forming team (below the format's required player count) cannot be seeded - finalizing a stage or bracket with forming teams still in it is blocked until you complete or remove them. Once a team's first sub-match has a score, its roster locks; reopen the tie's lineup to make changes.

Setting the Lineup

Unlike singles and doubles matches, a tie's individual sub-matches don't exist until you set the lineup. On the Matches page for a Team event, click Set lineup on a tie to assign each roster player to a board (e.g., who plays A, B, C). This creates the sub-match records, which are then scored exactly like any other match. As sub-match results come in, the tie auto-completes and the winning team advances once it reaches the format's win threshold - no separate action needed. Use Edit lineup to reopen and change assignments before a sub-match has a score.

Team Brackets & Printing

Team elimination brackets use the same draft-then-finalize flow as singles brackets (see Drafting the Elimination Bracket): seeds follow group order, and you can drag to reorder first-round pairings before finalizing. Use Print lineup sheet on the Matches page to print a pre-match card for a tie - hand it to the players at the table before scores are entered.

Payment Tracking

PongDesk does not process payments directly. Instead it tracks payment status per registration and shows players your club's payment instructions.

  • Pending - default state; player has registered but not yet paid.
  • Paid - you have confirmed receipt of payment.
  • Refunded - payment was returned.

Configure your club's PayPal email, payment link, and payment instructions in Club Settings. These details are shown to players on the tournament registration page. Payment status is visible only to managers.

Starting the Tournament

When all entries are finalized, go to Settings and click Start Tournament. This transitions the tournament from Draft → Active and enables seeding and match generation.

Once a tournament is Active, you cannot add or remove events. Confirm all events and eligibility rules are correct before starting.

Seeding & Group Generation (Stage 1)

PongDesk uses standard snake seeding: players are sorted highest-to-lowest by USATT rating, then distributed across groups in a snake pattern (Seed 1 → Group 1, Seed 2 → Group 2, …, Seed N → Group N, Seed N+1 → Group N, Seed N+2 → Group N-1, …). This balances every group so no group has more than one player than any other.

Seeding is entirely rating-driven - an unrated player (rating 0) sorts to the bottom of the seed order, and if most of your field is unrated, snake seeding degrades to roster order and groups won't be balanced by strength. If you know the field (a club ladder, a junior program, players you've seen play), enter your best estimate of each player's rating instead of leaving it at 0 - so the draft groups actually reflect playing strength. This only works for players you add yourself (managed players or CSV import, where the rating field is yours to set); a rating can't be edited after the player is added, so get your estimate right before adding them, or remove and re-add to correct it. Players with their own PongDesk account bring their own profile rating - if it's missing or wrong, ask them to update it under their Account settings before you seed.

On the Draws page's Group Seeding tab you see a draft board with the proposed groups. Drag players between groups to override the automatic seeding before committing.

Click Finalize & Create Matches to commit the groups and create all round-robin match records.

Adjusting the number of groups

Click Add Group to add an empty group you can drag players into. To remove a group, drag every player out of it into the other groups, then click the ✕ on the now-empty group (only empty groups can be deleted). Click Re-seed (Exclude Byes) to redistribute players evenly across the remaining groups.

Re-seeding keeps anyone in the Byes pool as a bye. If you emptied a group by dragging its players into Byes, move them back into a group before re-seeding - otherwise they advance to Stage 2 as byes instead of being redistributed.

Byes

If you want to give top players a bye (skipping them into Stage 2), drag them into the byes section during seeding. Click Re-seed (Exclude Byes) and then Finalize & Create Matches. They will appear in Stage 2 as group winners and placed accordingly.

Stage 1 groups are seeded purely by rating, so you may want to drag same-club players apart manually. The elimination bracket, by contrast, automatically tries to keep players from the same RR group - and same club - from meeting early.

Running Round-Robin Matches

The Matches page is your operational hub during the tournament. It lists every match across all events, stages, and groups, with filters so you can focus on one event or stage at a time.

Entering Scores

Click any match card to enter game scores. Each game requires at least 11 points and a 2-point margin (e.g., 11–8 or 15–13). PongDesk automatically detects the winner when one side wins the majority of games (e.g., 3 of 5 in a best-of-5) and marks the match Completed.

Standings

Standings update automatically after each match. Players are ranked by match points (2 for a win, 1 for a loss, and 0 for a loss by default/walkover); ties are broken using results among only the tied players, in this order:

  1. Match points
  2. Match points among the tied players (head-to-head)
  3. Game ratio (games won ÷ lost, tied players only)
  4. Point ratio (points won ÷ lost, tied players only)
  5. If still tied, the players are resolved in seeding order and the tie is flagged for the referee.

Walkovers & Defaults

If a player fails to appear or withdraws during a match, click the match card and choose Record Default. Select the absent player and PongDesk records the opponent as the winner with nominal 11–0 game scores, flagged as a default. Defaulted losses count as 0 match points (rather than the usual 1 for a played loss) and are excluded from game and point ratios, per USATT §7.15. The flag is visible on match cards so you can distinguish walkovers from played results.

Printable Score Sheets

Click Print Score Sheets to generate blank sheets for a group or a bracket match. Print these to record scores at the table by hand, then enter results into PongDesk afterward.

Drafting the Elimination Bracket

When all round-robin matches in an event are complete, a bracket trigger card appears on the Matches page and on the Draws page's Knockout Bracket tab. Click it to open the bracket draft for that event.

On the bracket draft page, configure:

  • Advancers per group - how many top finishers from each RR group move on (default: 2).
  • Best-Of - games per match in the bracket (can differ from the RR setting).

PongDesk shows a preview of the bracket. Byes are automatically assigned to top seeds to fill the nearest power-of-2 size.

Seeding order follows USATT/ITTF convention: seeds are assigned by group order, not raw rating. The winner of Group 1 is Seed 1, Group 2's winner is Seed 2, and so on; runners-up are numbered in reverse group order (Group N's runner-up is the top-ranked runner-up seed). This means the strongest RR group's winner always holds Seed 1, even if another player has a higher USATT rating.

The bracket respects ITTF separation rules: players from the same RR group - and, where possible, the same club - are placed so they cannot meet early in the bracket.

Unrated players are excluded from the bracket by default (controlled by the Allow unrated in SE bracket flag on each event). When excluded, the next eligible finisher in the same group advances. The draft view lists any excluded players so you can review who was skipped.

If ITTF constraints cannot be fully satisfied, a warning banner explains which pairs conflict. You can manually swap first-round pairings by dragging the player cards.

Click Finalize Bracket to create all elimination match records. The bracket appears on the public standings page immediately.

You can re-draft a bracket for an event as long as no elimination match has had any scores entered. Once any elimination score is recorded the bracket is locked.

Giant RR: Stage 2 PlacementGiant RR only

Once all Stage 1 RR matches are complete, open the Seeding page and switch to Stage 2. PongDesk buckets players by their Stage 1 finishing position:

  • All 1st-place finishers → Division A
  • All 2nd-place finishers → Division B
  • All 3rd-place finishers → Division C
  • … and so on

Within each division, players are ranked by their Stage 1 record (wins, game ratio, point ratio), then distributed into Stage 2 RR groups using snake seeding. Click Generate Stage 2 to commit.

Players who received a bye in Stage 1 are automatically ranked at the top of Division A.

Giant RR: Division BracketsGiant RR only

After Stage 2 RR finishes for a division, a bracket trigger card appears on the Matches page. Draft and finalize the bracket the same way as in Event-Based format (configure advancers and best-of, review ITTF separation, finalize).

Skipping the Bracket (Single-Group Divisions)

If a division has only one Stage 2 group (e.g., Division C has only 3 players), you can use the Stage 2 RR standings as the final result instead of running an elimination bracket. Click Finalize Division on the trigger card to do this.

Finalizing a division using RR standings is reversible - you can undo it and draft a bracket later, as long as no bracket matches have been played.

Live & Spectator View

As soon as a tournament starts, players and spectators can follow it live - no account required. Standings and match scores update in real time as you enter results, so there's no need to refresh.

  • Per-tournament Live tab - on the public tournament page, with an event and group selector to drill into any round-robin group (including Giant RR Stage 2 divisions).
  • Club-wide live board at /{club-slug}/live - a single screen covering every active tournament, ideal to put up on a venue display.
Share the public tournament link (or the club /live page) so players can watch standings from their phones while you run the desk.

Finalizing the Tournament

When all events or divisions are complete, a Finalize Tournament button appears at the bottom of the Matches page. PongDesk checks that every event has a completed bracket or a finalized division before allowing this step.

Once finalized, the tournament status changes to Completed. Public results pages remain accessible but no further score entry is possible.

Once finalized, an Export menu appears in the tournament header with three options: Printable results(a print-friendly page of all standings and bracket outcomes - save it as a PDF from your browser's print dialog), JSON (backup), and CSV (spreadsheet). Keep a copy of the JSON or CSV export as your own archive of the event.

Finalizing a tournament cannot be undone. Verify all scores are correct before clicking Finalize.

Cancelling a Tournament

If a tournament that has already started needs to be called off instead of finalized, use Cancel Tournament in Settings (available while a tournament is Active). Cancelling keeps all events, entries, and results but closes the tournament. Draft tournaments don't need cancelling - delete them instead.

Post-Tournament Ratings

After a tournament is Completed, you can compute unofficial USATT-style rating changes for all singles players. Open the tournament's Manage Matches page and scroll to the Ratings panel.

  1. 1Click Generate Rating Draft. PongDesk runs the USATT multi-pass algorithm over every completed singles match (doubles and defaulted matches are excluded; events marked Exclude from rating are skipped entirely).
  2. 2Review the draft table showing each player's current rating, computed rating, and change (Δ). Players flagged Needs estimate are unrated players whose rating cannot be determined from wins/losses alone - enter an estimated starting rating for them and re-generate.
  3. 3Click Commit Rating Runto save the computed ratings. Each player's Post-Tournament Rating is updated - visible on their player history page and in the CSV export. This does not overwrite their official USATT ranking.
These ratings are informational only - they are not submitted to USATT and do not affect official standings or seeding in future tournaments (seeding still uses the official USATT ranking). Think of them as a quick reference for how players performed relative to each other at this event.

Public Club Profile

Your club's public landing page (/{club-slug}) doubles as a profile: alongside your tournament list it can show where and when you play, your location, and any news you want to share with the world. Open the editor from Edit Club Public Profile in the account menu (the avatar in the top-right corner, available on every page), or go directly to /{club-slug}/admin/profile.

The editor has these parts:

  • Location - your club's home city and state, shown under the club name and on the public Clubs directory.
  • Where & when we play - one section covering your street address, venue type, fees, table count, services (coaching, leagues, equipment sales, etc.), and contact details, plus one or more venues, each with an optional Google Maps link (shown as a “Click for directions” link, or generate one from the place name) and recurring play times. It feeds both your public page and your Clubs directory listing, so you enter your schedule only once.
  • Website & social - an optional website URL and a list of social links (Facebook, Instagram, YouTube), shown as buttons on your public page.
  • News & info - a free-text box (Markdown supported, or upload a .docx to convert) for announcements, fees, or how to join. Use the Edit/Preview tabs to check formatting before saving.

Time slots

Each venue holds one or more time slots - a set of weekdays plus a start and end time (e.g., Tue & Thu, 7:00 PM – 9:00 PM). Add more than one slot to a venue when you play different times on different days, such as weeknight evenings and Saturday mornings. Times are picked in 10-minute increments; leave them blank to show just the days.

Playing dates & cancellations

PongDesk works out the actual dates you play this month and next month from your recurring slots, so you never have to re-enter them - and the lists roll over automatically each month. If you're skipping a particular date, untick it in the This month or Next month list in the editor and the public page drops that date. When a date is cancelled in the current month, that day's schedule also reads “Most Tue” instead of “Every Tue”.

When you set a venue to Dedicated space, PongDesk assumes consistent weekly hours: it turns on “Open the same hours every week” so the public page shows a Google-style weekly hours table (one row per day) instead of the upcoming-dates lists, fills the venue name with your club name, and can generate the map link from your street address. Untick that option if your dedicated space only plays specific sessions and you'd rather show the upcoming dates.

Yearly directory reconfirmation

Once a year, confirm your directory listing is still accurate to keep its Verified badge on the public Clubs directory. Click Everything is current at the top of the editor - no edits needed if nothing has changed - or simply edit and save the profile, which counts as confirming too. If it lapses, nothing is removed; the listing just shows as unverified until you confirm again. You'll get a reminder email as the year mark approaches, and a second one if you haven't confirmed a month later.

Everything on the profile is optional - sections you leave blank simply don't appear. Your public profile is visible once your club is active.

Club Settings

Access club settings from the Admin → Settings gear icon at the top of the admin sidebar. Here you can update:

  • Club name - the display name shown on tournament pages.
  • PayPal email - players are directed here for payment.
  • Payment link - a custom URL (e.g., Venmo, Zelle) as an alternative to PayPal.
  • Payment instructions - free-text (Markdown supported) shown on the registration page to guide players through payment.

Challenge Boards

A challenge board is an ongoing, members-only ladder for your club - something to keep players coming back between tournaments. Members challenge others ranked above them; winning closes the points gap, declining or ducking costs more than losing does. Create and run boards from Challenge boards in the account menu, or go directly to /{club-slug}/admin/boards.

Creating a board

Give it a name (and an optional description) and it's ready - challenge range, response and play deadlines, match length, starting points, and inactivity decay all start at sensible defaults. Open Board settingson the board's desk page any time to change any of them; existing challenges keep the range and deadlines they were issued with, so it's safe to adjust mid-season. A club can run more than one board (an A division and a casual board, for example), each with its own ranking and its own settings.

Adding players

Everyone starts level, so there's no head start for joining early. Players can join a board themselves once they're a member of your club, or you can add anyone from the club roster straight from the board's desk page - including players who don't use the app at all. Those players play by proxy: you issue their challenges, accept or decline on their behalf, and enter their scores, and the board marks each action “entered by the club” so it's never mistaken for something the player did themselves.

How points work

Every board runs on one rule: declining or ignoring a challenge always costs more than accepting and losing would. That's what stops a strong player from sitting at the top by refusing to play. The exact amount also depends on how big the rank gap is - reaching further up the board is worth more, both to win and to defend. The numbers below are for the default Challenge range of 5 ranks up; widen that in Board settings and the biggest reaches (10+ ranks) are worth up to 30 points to win and down to 2 to defend.

ScenarioChallengerPlayer challenged
Challenger wins the matchGains 12 to 20 points - more for a bigger rank gapLoses the same amount
Player challenged wins (defends)Loses a flat 3 points, no matter the gapGains 4 to 6 points - more for a closer match
Declined, or no reply in timeGains nothingLoses 17 to 25 points - always more than losing the match would have cost
Accepted, but never played in timeLoses a flat 3 pointsLoses a flat 3 points

There's one more way points move: inactivity. A member who doesn't play loses a few points every so often, down to a floor they can't fall below. Pause a member and theirs stop moving entirely. It rewards playing more than it punishes a single loss.

Running the board

Each board's admin page is a desk view built to work through in one pass, on a phone, with a clipboard - Board settings sits at the top of the page for whenever you need it. Below that it lists, in order:

  • Waiting on you - challenges against proxy players who missed their first response window. The club is now on the clock; reply before the new deadline or that player loses points for a challenge they never saw.
  • Reported, waiting for approval- a player self-reported a score and it hasn't been approved yet. Approve it, or if it's wrong, enter the correct score yourself - that supersedes the self-report and settles the dispute without a back-and-forth between the two players.
  • Issue a challenge - start a challenge for a player who asked you to at the club.
  • Awaiting a reply / accepted, still to play - everything else in flight, with accept, decline, and enter-score controls for either side.
  • Players - the full roster, where you can pause a member (they stop being challengeable and stop losing points to inactivity), toggle proxy mode, or remove them from the board.
Everything a manager does on a board follows the same rules a player would face - proxy is a convenience, not a way around the range limit, the cooldown, or the decline penalty. A self-reported score never moves the leaderboard until the opponent approves it or 24 hours pass, so nobody can write in a result their opponent never agreed to.