Key takeaways
- CrazyGames, Poki and GameDistribution allow only their own ad SDK in the build you give them, so a web game offerwall belongs only in the build you host on your own site.
- For a browser game, pick a wall that opens from a link, an iframe or a JavaScript snippet, credits through signed server-side postbacks, and lets you set the currency name and rate.
- Native and engine SDKs for Android and iOS do not run in a WebGL or HTML5 build, so a Unity or Godot web export needs the web version of the wall.
What is the best offerwall for HTML5 and web games?
The best offerwall for an HTML5 game is a web wall you can open from a link, an iframe or a JavaScript snippet on your own site, that pays in your game currency through server-to-server postbacks you can verify, including reversals. It can only go in the build you host yourself: CrazyGames, Poki and GameDistribution all forbid outside ad systems in portal builds. Moonetix, an affiliate network with a signed link, iframe or floating Earn button for the build you host, and AdGem, ayeT-Studios, BitLabs, Lootably, RevU, Torox and the Unity Offerwall publish web options; they differ on postback signing and reversals, as the table below shows.
For every other way to earn from a browser game, see How to monetize an HTML5 web game. This page is only about choosing a wall.
First: portal builds cannot have an offerwall
Each portal’s own pages, checked on November 11, 2026:
| Portal | What its rules say | Offerwall in the portal build? |
|---|---|---|
| CrazyGames | “Only Ads requested through the CrazyGames SDK are allowed”; revenue share needs a game that does “Not contain external advertisements” | No |
| Poki | “Poki’s SDK handles ads, so no other ad systems are allowed”; in-app purchases are not available; external requests blocked by default | No |
| GameDistribution | Developer agreement section 2.6.8: no “third-party Ads, In-Game Purchases or data tracking software”; section 2.6.7 bars outside links without consent | No |
| itch.io | Prefers no ads; ads must not be “obtrusive or misleading,” and it asks you to avoid “ads that prevent someone from playing the game without performing some action” | Possible as an optional extra, never as a gate |
Sources: CrazyGames’ ads requirements and FAQ, Poki’s requirements, GameDistribution’s Developer Game License Agreement (last updated June 19, 2025), and itch.io’s quality guidelines.
Links out are limited too. CrazyGames’ gameplay requirements allow community links such as Discord or your dev website on the menu only if they do not lead directly to a playable web version, so an “earn coins on my site” button does not belong there. Poki’s deal page says exclusive deals run 5 years by default and counts Discord and YouTube Playables as web, so a Poki-exclusive game has no open-web build for a wall at all.
What gets portal builds rejected
An offerwall iframe, a survey wall, an “earn free gems” button that links to your site, an outside rewarded ad tag, or a script that loads from a third-party domain. Strip all of it from the portal build and keep it in the build for your own site.
How an offerwall fits a browser game
On your own site, you have four ways in. All of them need player accounts and a balance stored on your server.
- iframe on an earn screen. Players stay on your site. Check scrolling on phones and that offers open in a new tab.
- Link in a new tab. The simplest, and it works from any engine. Unity’s Application.OpenURL reference says that on WebGL, from 2019.4.25f1 and later versions, it opens the URL in a new browser tab instead of replacing the game.
- JavaScript snippet. Some providers ship a loader script and a show call, or a floating button, that you add to the page around the canvas.
- Offers API. You draw offers in your own UI. Most work, most control; see Offerwall integration: iframe, link or API.
Engine SDKs are the trap. AdGem’s pre-built options describe its Unity SDK as for “Unity games on iOS and Android,” and mobile SDKs in general do not run in a WebGL or HTML5 export. For a Godot web export, see How to add an offerwall to a Godot game; for a React front end, the Next.js and React guide.
Whatever path you use, never credit coins from game JavaScript. Players can edit anything in the browser, so only your server changes balances, from a verified postback.
What to look for in a web game offerwall
Currency that matches your store
Set the currency name, icon, rate and the share you pass on so offer rewards line up with your gem packs. How to set your virtual currency exchange rate covers the trade-offs.
Signed postbacks and reversals
Check how the postback is signed, whether reversals reach the same endpoint, and how failed postbacks are retried. Web games often run on small backends or serverless functions that go down; retries save credits.
Protection for the wall link
If the user ID sits unsigned in the URL, a player can open the wall as someone else. Prefer a signed link, a script that takes the ID from your signed-in page, or a wall that only loads on your domain.
Guest accounts and age
Browser games often let people play as guests, and many players are young. Ask players to sign in with a verified email and an age before the earn screen appears. Offerwall rules for kids’ apps covers the US COPPA side.
Fraud handling
Guest play makes alt accounts cheap. Ask whether the wall blocks VPN, proxy and data center traffic, and read Stop multi-accounting and VPN abuse.
Eight offerwalls for web games compared
Moonetix first, the rest alphabetical, not ranked. Facts come from each provider’s own docs, checked on November 11, 2026. “Not stated” means not found in public docs.
| Provider | Web integration | Other builds | Currency settings | Postbacks and reversals |
|---|---|---|---|---|
| Moonetix | Signed link or iframe, floating Earn button (embed.js), Offers API | Android, iOS SDKs; Unity, Flutter, React Native for mobile builds | Name, icon, rate, user split, rounding, time-limited bonus | HMAC-SHA256 for every credit and reversal; up to 5 retries |
| AdGem | Direct link or iframe; Offer API, Prism | iOS, Android, Unity (iOS and Android) SDKs | Name, icon, multiplier | HMAC-SHA256 signed POST; up to 3 attempts; reversals not described there |
| ayeT-Studios | New tab or iframe; Offerwall API; Rewarded Video SDK for HTML5 | Android, iOS SDKs; Unity, Flutter, React Native plugins | Name and rate per AdSlot | Optional HMAC-SHA256; reversal callbacks once enabled; 12 resends in an hour |
| BitLabs | iframe or link; APIs | Android, iOS, Unity, Flutter, React Native SDKs | Multiplier, user share, name or image, hide decimals | HMAC-SHA1 of the URL; reconciliation callbacks |
| Lootably | iframe or direct link; Offers API | Android SDK | Pre-split rate, user split, names, promotions | SHA256 hash; completions only; rejections via webhooks; 0 to 5 retries |
| RevU | Wall URL for redirect or iframe; white-label API | No SDK | Says publishers manage conversion rates | IP-restricted GET, no hash described; reversals as status 2; up to 6 attempts |
| Torox | Web-based offerwall; API | Mobile SDK | Not stated | Not stated |
| Unity Offerwall | JavaScript loader with Tapjoy('init') and showOfferwall; deep link | Android, iOS, Unity, Flutter, React Native SDKs | Self-managed currency set in the dashboard | MD5 verifier, or HMAC-SHA256 POST if support enables it; retried every 5 minutes for up to 4 days; reversals not described |
We make Moonetix, so we list it first. Every fact about the other networks comes from their own sites and docs, checked on November 11, 2026.
Sources: AdGem’s web offerwall and postbacks, ayeT-Studios’ product docs and callbacks, BitLabs’ web integration and callbacks, Lootably’s offerwall integration and postbacks, the Moonetix postback docs, RevU’s integration guide, Torox’s publisher FAQ, and Unity’s Web Offerwall JS guide and self-managed currency page.
Unity’s docs call the product Unity Offerwall, while its web snippet still uses the Tapjoy function name. None of these providers mentions game portals, so the portal rules above still decide where the wall may go.
Honest limits of an offerwall in a web game
- No portal reach. Players who find your game on a portal play the clean build. Only players who come to your site can earn.
- Young audiences. If most players are under 16, leave the wall out.
- Short sessions. Many offers take minutes or days, while a casual web session lasts minutes. Place the earn screen where players already look for currency, such as your store; Offerwall placement has options.
- Accounts are required. A game without sign-in cannot credit offers reliably.
- Rewarded video may fit better. If players want a quick boost, compare it in Offerwall vs rewarded video.
How to choose a wall for your web game
- Decide your builds. A clean portal build, and an own-site build with accounts, store and earn screen.
- Shortlist by integration path. Pick walls whose web option matches your engine and page: iframe, link, snippet or API.
- Check postbacks. Signature, reversals, retries.
- Match your store price with the virtual currency calculator.
- Run one wall for a few weeks, then compare net earnings per player who opened it, after reversals.
Illustrative example: one game, two builds
Sample figures only. A puzzle game gets 40,000 monthly players on CrazyGames and 5,000 on its own site. The portal build earns from CrazyGames’ SDK ads. On the own site, 1,500 players sign in, 225 open the earn screen, and completed offers earn $160 with $10 reversed, so the wall nets $150 that month, about $0.67 per player who opened it. Your own numbers will differ; the offerwall earnings calculator gives a planning estimate.
How to add Moonetix to your web game
- Apply at moonetix.com/register. Every publisher application is reviewed by hand, and once you are approved, apps you add go live right away.
- Add your game’s website as an app and set the currency name, icon, conversion rate, user split, rounding and wall design in the live preview.
- Add the wall to the own-site build only: a signed link or iframe your server builds after sign-in, or the floating Earn button. See website integration.
- Credit only from the signed postback and take coins back on a reversal; Offerwall postback in Node.js shows a handler.
- Test with Open as a test user and Send a test postback in the Integration tab; see Test your app before launch.
Honest limits: the Moonetix iframe and floating button load only on https pages of the website you registered, so they will not work inside a portal’s frame; the Unity, Flutter and React Native packages run on Android and iOS only, not in web builds; players must be at least 16; and VPN, proxy, Tor and data center traffic is blocked. Moonetix for games has the overview.
Moonetix in the build you host
Moonetix is an affiliate network. A web game with player accounts can add its wall as a signed link, iframe or floating Earn button, with your own currency settings and signed postbacks for every credit and reversal. Sign up free (we review every publisher application by hand) or see how the wall works.
Frequently asked questions
What is the best offerwall for HTML5 games?
The one that fits your own-site build: a web link, iframe or script, signed postbacks with reversals, and currency settings that match your store. Options with a web wall include Moonetix, AdGem, ayeT-Studios, BitLabs, Lootably, RevU, Torox and the Unity Offerwall, compared in the table above. Test one at a time and compare net earnings per player.
Can I add an offerwall to a game on CrazyGames or Poki?
No. CrazyGames allows only ads through its SDK and Poki allows no other ad systems. GameDistribution’s agreement bans third-party ads and in-game purchases too.
Does an offerwall SDK work in a Unity WebGL build?
Mobile SDKs do not. Use the provider’s web wall and open it with Application.OpenURL, which opens a new tab on WebGL in current Unity versions.
Can players earn as guests?
Not reliably. Credits arrive by postback to a user ID on your server, so players need an account, and you need it to check age.
Can I put an offerwall in a game on itch.io?
itch.io’s quality guidelines allow ads that are not obtrusive or misleading and ask you to avoid ads that block play until the player performs some action. An optional earn screen fits that better than a gate.
Should I credit coins in the game when the offer completes?
No. Only your server credits coins, after it verifies the postback. The game reads the new balance from your server.


