For developers
Put your web game in front of players
Shipped a browser game? Don't let it sit on a bare domain. Submit it to the Bounty Board Arcade and it comes with players, leaderboards, audience stats, and a marketing layer that puts creators to work on your game. Free, no payment setup required.
- Free, no payment setup
- Live in ~5 minutes
- You keep ownership
How it works
Live in three steps
- 1
Create a free studio account
Solo dev or team — no fees, no payment setup, about two minutes.
- 2
Submit your game
Link a game URL or upload a build (.zip) — plus a title and square thumbnail. Two minutes; no SDK required to start.
- 3
Go live
After a quick review your game is live in the arcade with play tracking and leaderboards. List it on the marketplace anytime to run creator campaigns.
Two paths in
Two ways to bring your game
- You host it
Link a URL
Already hosting your game? Paste an https URL that drops players straight into play — you keep your domain and your build, we just embed it.
Best when your game already lives on your own site — it just needs to allow iframe embedding (we check before you submit).
- We host it
Upload a build
No host of your own? Drop a host-agnostic HTML5 build as a .zip and we host it for you — Unity (WebGL), Three.js, Phaser, or plain HTML5/Canvas.
index.html at the root, uncompressed, up to 64 MB per file, 250 MB total, and 64 files. Cloud saves and leaderboards come free through the SDK.
Need help with an unsupported build?
Pre-compressed Unity, an odd engine, or a submission that won't go through? Reach out and we'll get your game in.
Everything included
What your game gets
Players, instantly
Your game on the arcade wall next to a curated catalog — daily picks, featured rails, and jump-back-in keep people playing.
Leaderboards built in
Three lines of JavaScript give your game real high-score boards. Every game gets weekly top-player boards automatically, no code at all.
Your audience, measured
Plays, unique players, and playtime per game on your studio dashboard.
A marketplace on-ramp
Once approved, list your game on the marketplace in a couple of clicks — pre-filled from your submission, shown on your studio profile and the community page with a "Play in arcade" tag.
The marketing layer
Start campaigns and creators make content for your game — the players already on your page see them first. Approved Partner games can also join rewarded ad revenue share, whether uploaded or hosted at your own embed URL.
WebXR welcome
VR games get the headset permission, a VR badge, and the /arcade?vr=1 filter — playable straight from a Quest browser.
Make it count
Set your game up to win
Start in seconds
Players decide fast. Skip splash and title screens and drop them straight into gameplay, and keep your build lean (~10 MB is a good target) so it loads quickly on any connection.
Play anywhere
A big share of plays are on phones. Add touch controls and, where you can, support both portrait and landscape — games that work in portrait reach the most players.
One click in
No installs and no login wall before the fun. The arcade embeds your game and players are in instantly, so a linked URL just needs to allow iframe embedding.
The SDK
Leaderboards in three lines
Optional but worth it: drop the SDK into your game and players compete for real high-score placement — and guests who set a score get nudged into an account to claim it. The same SDK also powers lifecycle events, cloud saves, WebXR playtime, and allowlisted rewarded ad breaks. Read the full Arcade SDK docs.
<script src="https://www.bountyboard.gg/arcade-sdk/v1.js"></script> <script> BBArcade.init(); // returns a Promise; no await needed here BBArcade.gameLoadingFinished(); // your game finished loading BBArcade.gameplayStart(); // player started a run BBArcade.submitScore(1250); // whenever the score changes BBArcade.gameplayStop(); // player died / paused BBArcade.gameOver(1250); // final score </script>
Rewarded ads
Rewarded ads are allowlisted during review for approved Partner games, including externally hosted embed URLs. Call BBArcade.prepareRewardedAd() while your own “Watch ad for reward” button is disabled, enable it only when preparation is ready, then call prepared.show() directly inside that click/tap handler. Grant only when the final status is viewed; dismissed or unavailable ads stay non-rewarding and the normal fallback remains available. Bounty Board runs the AdSense account, attributes revenue per game, and pays your studio its share — 90% by default — in monthly Stripe settlements once your accumulated balance clears the $50 minimum. Revenue from an external game host remains held until its per-game provider reporting is verified.
const watchAdButton = document.querySelector('#watch-ad');
watchAdButton.disabled = true;
const prepared = await BBArcade.prepareRewardedAd({
placement: 'revive',
reward: 'extra_life',
onStart: () => pauseAudio(),
});
if (prepared.status === 'ready') {
watchAdButton.disabled = false;
watchAdButton.addEventListener('click', async () => {
const resultPromise = prepared.show(); // call directly from this click
watchAdButton.disabled = true;
const result = await resultPromise;
resumeAudio();
if (result.status === 'viewed') giveExtraLife();
else showNoReward(result.status); // dismissed/unavailable/error: no reward
}, { once: true });
} else {
showAdUnavailable(); // no reward; keep the normal fallback available
}Cloud saves
Uploaded builds run sandboxed with no localStorage, so player progress saves through the SDK instead — stored per player and synced across devices (about 1 MB each).
await BBArcade.save(JSON.stringify(state)); // persist progress (logged-in players) const data = await BBArcade.load(); // your saved blob, or null
WebXR (VR) games
VR games get the headset permission and the arcade's VR filter out of the box. Wire two extra calls to your XRSession so playtime keeps tracking while the headset hides the page, credited as VR time:
BBArcade.xrSessionStart(); // after navigator.xr.requestSession(...) BBArcade.xrSessionEnd(); // in the XRSession 'end' event
Your game deserves players
Most reviews complete within 2 business days — we'll email you either way. Link your own URL and keep your domain, or upload a build and we host it — either way you keep ownership.