Put it online
Upload a Godot, Unity WebGL, or HTML5 build. Get a versioned play URL without standing up hosting yourself.
Wasanni is the developer platform for hosting browser games and building the competitive world around them.
PUBLIC BETA · NO CREDIT CARD · YOUR GAME, YOUR PLAYERS
Skip the week of wiring. Wasanni gives your game a place to live, a way to compete, and a reason for players to come back.
Upload a Godot, Unity WebGL, or HTML5 build. Get a versioned play URL without standing up hosting yourself.
Open sessions against your own user IDs, send scores through an API built for browser games, and get back the verdict each one earned.
Leaderboards, tournaments, replays, and signed webhooks turn a playable build into a place people return to.
Deploy a versioned bundle, get a URL, and call the platform from the game you already made. The key stays on your server. The player stays yours.
Create a workspaceconst api = "https://api.wasanni.com/api/v1";
// 1. ask for an upload target for the build
const { file, upload } = await fetch(`${api}/organizations/${org}/games/${game}/files/upload`, {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
filename: "drift-kings.zip",
version: "1.4.2",
contentType: "application/zip",
sizeBytes: zip.length,
}),
}).then((r) => r.json());
// 2. the bytes, then confirm, then publish
await fetch(upload.url, { method: "PUT", body: zip });
await fetch(`${api}/games/${game}/files/${file.id}/complete`, { method: "POST" });
await fetch(`${api}/games/${game}/publish`, { method: "POST" });
→ wasanni.com/play/{gameId}/{fileId}/index.html
Your team owns the game and the player account. Wasanni handles the hosted build, short-lived play sessions, realtime connection, and competition state through plain HTTPS. Every score comes back with the verdict computed against it, so a board you can defend is one POST away. If you can send a POST, you can put a game online.
Add the platform your game runs on and mint its key. The dashboard is your developer control room.
Ask for an upload target, PUT the bundle, confirm it, publish it. It comes back as a /play URL for that exact build.
Per mode: trust the number, call back your own verifier, or read the score off the attached frame. The verdict is stored with the score.
Register players by your own user IDs. Sessions, scores, leaderboards, brackets, and replays fill themselves in.
# 1. ask the dashboard for an upload target
curl -X POST https://api.wasanni.com/api/v1/organizations/$ORG_ID/games/$GAME_ID/files/upload \
-b "$DASHBOARD_SESSION" \
-H "content-type: application/json" \
-d '{
"filename": "drift-kings.zip",
"version": "1.4.2",
"contentType": "application/zip",
"sizeBytes": 41843332,
"kind": "bundle",
"entryPoint": "index.html",
"crossOriginIsolation": true
}'
# 2. PUT the zip to target.upload.url, with target.upload.headers
curl -T dist/drift-kings.zip "$UPLOAD_URL"
# 3. confirm the file, publish the game
curl -X POST .../games/$GAME_ID/files/$FILE_ID/complete -b "$DASHBOARD_SESSION"
curl -X POST .../games/$GAME_ID/publish -b "$DASHBOARD_SESSION"
# the build is live at https://wasanni.com/play/$GAME_ID/$FILE_ID/index.htmlSpec sheet
Sessions, verified scores, leaderboards, tournaments, and replays come from one API. Give players a reason to chase the next run.
Keep your engine, code, and player accounts. Wasanni handles the hosted build and the competitive layer around it.
One integration for the catalog: shared identity, sessions, verified scores, brackets, and replays across your games.
Host the game. Ship the scene. Wasanni is in public beta.
Start building for free