Leaderboards and unlocks
for your web game.
One script tag gives a browser game high-score boards, achievements and unlockable characters. It works wherever you host the game — itch.io, GitHub Pages, Netlify or your own domain — and you don't write or run a server.
Glowdeep
A fast, top-down roguelite shooter: dig through destructible caves, stack mutations and face the Warden every fifth level. Its daily and all-time boards and its unlocks run on Unbase, with nothing on the game side but a static page on itch.io.
Leaderboards
- All-time, daily, weekly, monthly or seasonal boards
- Rank by up to three fields: deepest level, then most kills, then fastest time
- Keep each player's best run, or every run
- "You're #212" with the player's neighbours on the board
- A drop-in table widget you can theme with CSS
Progression
- Lifetime stats per player: runs, best level, total kills…
- Achievements and unlockable characters, with chains ("requires") and secret unlocks
- A progress board ranking who has unlocked the most
- Save codes to move a player's progress to another browser or phone
- Works offline at startup from the last progress seen
Add it in a few lines
Paste the script, call start() when a run begins and submit() when it ends. Every call fails soft, so a network hiccup never crashes your game.
<script src="https://api.unbase.dev/v1/leaderboard.js" data-key="YOUR_ANON_KEY"></script>
<div id="leaderboard"></div>
<script>
const lb = UnbaseLeaderboard;
const board = lb.widget(document.getElementById("leaderboard"), { boards: ["all", "daily"] });
let run;
async function onGameStart() {
run = await lb.start(); // starts the server's clock
}
async function onGameOver(score) {
const res = await lb.submit(run, { name: lb.getName() || "Player", values: { score } });
if (res.ok) showMessage("You placed #" + res.rank.all);
board.refresh();
}
</script>Create a project
Free and instant. Copy its anon key — it's safe to ship in the page.
Describe your game
In the dashboard: the score fields, the boards, plausibility rules and the unlocks. Presets for arcade, roguelite and speedrun games.
Paste the script
Scores and unlocks start flowing. Moderate from the dashboard: flagged runs, shadow-bans and per-player tools.
Hard to cheat, easy to clean up
A browser game can always be tampered with, so nobody can promise cheat-proof scores. What Unbase does is make cheating hard and cleaning up easy:
- Single-use run tokens, and a server clock that catches impossible run times.
- Your own plausibility rules, such as "at most 75 kills per level": reject the score, or accept it and flag it for review.
- Rate limits, plus an allowlist of the sites your game may be played on.
- Unlocks are granted by the server, only from runs it accepted, so they're as hard to fake as a score.
- Shadow-ban a cheater: they keep seeing their score, and nobody else does.
- Review flagged runs, delete runs, and grant or revoke unlocks from the dashboard.
Ready to add it to your game?
Anonymous projects expire after 7 days. Claim yours with an email before you ship.