Native 00:00:00 format
Submit times as minutes:seconds:fraction — 01:23:45 for hundredths, or 01:23:456 for full milliseconds. The bot parses and validates the format — malformed entries are rejected before they hit the board.
Native 00:00:00 time format, millisecond precision, and configurable sort order. Built for speedrun communities where every thousandth of a second matters.

Nova · run in progress
Scoreboards is the Discord speedrun bot built for time-based competition. Whether it's game speedruns, racing laps, puzzle-solve times, or real-world timed events, players submit runs in 00:00:00 format, the board sorts fastest-first (or slowest-first for endurance formats), and a web leaderboard keeps every PB shareable outside Discord.
The basics
A speedrun (or time) leaderboard ranks players by how fast they completed something. Each player's personal best is kept, slower attempts are ignored, and the board sorts fastest to slowest so the top time sits on top.
The format comes from video-game speedrunning communities but works for anything timed: racing laps, escape-room clears, puzzle solves, 5K runs — any activity where the stopwatch decides the winner.
When the difference between first and second is a thousandth of a second, you need a system that respects that precision. That's what a time leaderboard is for.
Press Run again for Nova's next attempt. A slower time changes nothing; a faster one replaces the personal best and the board re-sorts, fastest first.
Nova · attempt 2
01:24.87
New PB −1.36Faster, but still #4.
Typed 01:24:876shown 01:24.87
Attempt 2: 01:24.87. New PB −1.36. Faster, but still #4.
The board shows
Mario Kart: Rainbow RoadTime
Attempts
hypernova and Nova both show 01:24.87, but the board keeps the milliseconds: hypernova is 0.006 seconds faster.
Features
Submit times as minutes:seconds:fraction — 01:23:45 for hundredths, or 01:23:456 for full milliseconds. The bot parses and validates the format — malformed entries are rejected before they hit the board.
Times are stored to the millisecond, so razor-thin margins rank correctly instead of collapsing into a tie. Each board displays hundredths or milliseconds — your choice in the dashboard.
Choose ascending sort for speedruns (lowest time wins) or descending for endurance formats (longest time wins) — the bot handles both.
Only each player's best time stays on the board. Slower attempts are quietly ignored, so the leaderboard is always a true PB ranking.
Submissions can land in a log channel for moderator review — useful when runs need video or screenshot proof before they count. Auto-approve after a configurable delay for low-friction boards.
Cancel an approved run and the board works out that player's best again from the runs that still count, so their previous record comes back. A player whose only run is cancelled leaves the board.
Every speedrun board gets a web leaderboard with every player's PB and full submission history — shareable outside Discord for recruiting runners and bragging rights.
Every Monday the board's channel gets the three fastest times, the week's biggest climber and how many runs were posted. Weeks with fewer than three runs are skipped, and recaps can be switched off per board.
End a season and the board freezes exactly as it finished, with a podium posted. Nothing is reset: the frozen board stays up as that season's record, and a new board starts the next one.
Want the full mechanics and best-practice tips? Read the complete speedrun guide →
Flexible submissions
Players submit however suits them — the Submit button right on the leaderboard message, or straight from the web leaderboard, where a time can even be logged under a custom name. Times post in 00:00:00 format no matter which route, and the board picks up each new PB immediately.
Player completes the run, lap, or timed activity and records their time.
Hit Submit and enter the time in 00:00:00 format. The bot rejects malformed entries before they hit the board.
Moderators can require video or screenshot proof and approve the run in the log channel before it counts.
If the new time is faster than the player's current PB, it replaces the record and re-sorts the board. Slower attempts are ignored.
Running multiple formats? Spin up separate boards — one per race length, one per game mode, one per route. Each keeps its own records without mixing rules.
When two runs differ by a hair, the board ranks them correctly — no collapsing to identical times, no disputed ties.
For boards where runs need proof (video, screenshot, witness), send submissions through a log channel so a run doesn't count until a mod signs off.
Use cases
Track best completion times for any game or level, with separate boards if you want to split by game mode or ruleset.
Time trials, kart racing, sim-racing lap times, track completions — anywhere fastest-lap is the metric.
Quiz-solve speed, memory challenges, escape rooms — anything with a start-and-stop timer.
Running splits, cycling laps, obstacle-course runs — any real-world activity where speed is the prize.
Plank holds, breath holds, survival runs: flip the sort order to descending and the longest time takes the top.
Run a time trial for a weekend event, end the season when it closes, and the frozen board stays up as the result.
Economy · Beta
Switch on the economy and every approved result on this board pays your members a currency you name. They spend it in your server's shop on roles, board emojis and name colours, so there is always a reason to play one more.
See how the economy worksQuick start
Invite the bot to your Discord server. It takes a few seconds.
Add to DiscordName the board and pick Time. It sorts fastest first; press More options afterwards to put the longest time on top instead.
Press Submit score on the board and type the time as 01:23:456, or 01:23:45 in hundredths. The example entries the board starts with disappear as soon as a real time lands.
Auto-approval, roles for the top ranks, seasons, colours and a web page for every board are all in the dashboard.
Open the dashboardFAQ
As minutes, seconds and the fraction, separated by colons: 01:23:45 is one minute and 23.45 seconds, and 01:23:456 adds the milliseconds. The board shows the same run with a dot before the fraction, 01:23.45, so a lap time can't be misread as hours, minutes and seconds. In Discord, a time in any other shape is turned away with the format to use.
New boards show milliseconds; pick hundredths if your game's timer stops there. Times are stored to the millisecond either way, so switching under Time Configuration in the dashboard loses nothing — hundredths only hides the last digit.
Yes. Choose descending under More options after /leaderboard create, or under Sort Order in the dashboard. The longest time then tops the board and each player keeps their longest run as their best, which suits plank holds, survival runs and other endurance challenges.
It is recorded but changes nothing on the board: only a time faster than the player's personal best replaces it. If an approved run is cancelled later, the board falls back to the player's best remaining run.
Yes. Give the board a log channel and every run waits there, with its screenshot if the runner attached one, until a validator or admin approves it. Auto-approval can let runs through on their own after a delay, from instantly to seven days.
Yes. Press Submit on the board's web leaderboard and type their name: the web is the one route that takes a custom name, and the time lands on the same board.
More leaderboard types
Every Scoreboards leaderboard lives in Discord and on the web, and one server can run as many as it likes.
A live speedrun leaderboard turns every attempt into a chance to bump the board — and gives your community a shared record of the fastest times ever posted.
Add to Discord