How to Publish a Game on Discord Activities (2026)
Last updated: July 2026.
Yes, you can publish a game on Discord, and the path is called an Activity. An Activity is a web app that runs inside Discord's client, embedded in an iframe you can launch from a voice channel, a text channel, or a DM. You build it with the Discord Embedded App SDK, a JavaScript kit that first launched in 2024 and is still actively shipped (v2.5.0 landed May 5, 2026). If your game already runs in a browser, most of the work is hosting it, telling Discord where it lives, and using the SDK to get the current user and the other people in the channel.
The short version of how: create an application in the Discord Developer Portal, enable the Activities feature, host your web build somewhere public, add a URL mapping so Discord's proxy will serve it, and use the SDK to authenticate the player and read the participant list. That gets you a working Activity your friends can launch. Getting other people to find it is the harder half, because Discord has no "browse all games" store, and we'll be honest about that below.
Quick reference
| What it is | A web app (your game) running in an iframe inside Discord, launchable in voice/text channels and DMs |
| Tech stack | Any web build (HTML5/WebGL, Unity WebGL, Godot web export) plus the Embedded App SDK for auth and participants |
| Hosting | You host the build yourself; Discord proxies it through discordsays.com under a strict CSP |
| Monetization | Native in-app purchases (subscriptions + one-time items). Discord's platform fee is 15% on your first $1M, then 30%, plus payment processing |
| Discovery | App Launcher, App Directory profile (after verification), and mostly word of mouth. No global browse-all surface |
| Cost to publish | Free to create the app; you pay for your own hosting and any game servers |
What Activities are in 2026
An Activity is not a native game you upload. It's your website, running live, that Discord loads inside a sandboxed frame while people are hanging out together. The SDK sits between your page and the Discord client and handles the social plumbing: who's here, who am I, what channel are we in, and the OAuth handshake to get a token you can trust (SDK reference).
The reason this matters more in 2026 than at launch is that Discord has leaned hard into games as a category. Apps and Activities are now used by more than 25% of Discord's monthly active users, and by the end of 2025 there were over 10,000 game communities on the platform with more than 80 million members combined (Discord press release, GDC 2026). A few Activities have found real traction inside that crowd. Death by AI from Playroom peaked around 700K daily active users and reached roughly 7 million players within weeks, with more than 70% of sessions including three or more friends. Mojiworks' Chef Showdown has been played by over 14 million people, who spend around three times longer in-game than they do on other platforms. Krunker Strike FRVR more than doubled its player base after shipping as an Activity (a16z, Discord). The pattern in every one of those is social, casual, and instantly multiplayer. That's the shape of game that works here.
Setting one up
Start in the Discord Developer Portal. Create a new application, then turn on the Activities entitlement for it under the Activities section. Your game needs to be reachable at a public HTTPS URL, so host the web build on whatever you already use (Cloudflare Pages, Vercel, Netlify, a plain static host).
The step that trips people up is URL mapping. Discord doesn't load your site directly. It routes every request through a proxy at https://<your-app-id>.discordsays.com to hide players' IP addresses and block known-malicious endpoints (Discord networking docs). In the Developer Portal you map a path prefix to your real host, so / points at your game and, say, /api points at your backend. Anything your game fetches that you haven't mapped gets blocked. For requests that only show up at runtime, the SDK's patchUrlMappings API rewrites them on the fly so your dev build and your proxied production build behave the same (patch-url-mappings guide).
Once hosting and mapping are set, wire up the SDK. You call discordSdk.ready() to confirm the frame is connected, then authorize() and authenticate() to run the OAuth flow and get a token identifying the player (SDK reference). From there you can read the participants in the channel and build your game around them. Test it by launching the Activity in a real voice channel with the app installed. Discord's docs and community templates for Robo.js and vanilla setups will get you from empty repo to running frame in an afternoon.
Technical constraints
Because an Activity is a web page in a locked-down iframe, the constraints are the constraints of the web plus Discord's security rules. Activities run under a restrictive Content Security Policy, and all network requests must go through the discordsays.com proxy. A direct call to an external domain you didn't map fails with a blocked:csp error (Discord proxy notes). This bites hardest when a third-party npm module quietly calls out to its own CDN or API. You either map that domain or patch the request.
On engine compatibility, if it compiles to the web, it can be an Activity. Plain HTML5 and WebGL work. Unity's WebGL export works, with the community maintaining Unity SDK wrappers and templates, since Discord just proxies the served WebGL build into the frame. Godot's web export works the same way, and there are ready-made templates pairing Godot with a web host. Native engines that can't target the browser can't be Activities, full stop. Keep your initial load small, because a heavy WebGL download inside a chat window loses people faster than it does on a store page.
Mobile is part of the deal, not an afterthought. Activities run on Discord's desktop, web, and mobile clients, so design for touch and portrait from the start rather than assuming keyboard and mouse.
Multiplayer and social hooks
This is the actual reason to be on Discord. The platform hands you a group of friends who are already in a voice channel together, which is the exact setup most multiplayer games spend a fortune trying to manufacture. The SDK gives you the participant list and identity for free, so "everyone in this call is now in my game" is a few lines, not a matchmaking system.
You still have to run the game's real-time state yourself. The Embedded App SDK handles identity and presence, not your netcode, so you'll pair it with a game server. Colyseus wrote up how it fits behind a Discord Activity, and the same options from our multiplayer browser game guide apply: WebSockets to ship, an authoritative server so cheating and source-of-truth stay simple. Just remember your game server is one more external host, so it needs a URL mapping like everything else.
Lean into the social framing. The Activities that broke out are the ones where being in a group is the point, not a mode you can toggle off. Party games, drawing games, trivia, quick competitive rounds, anything where dropping in with the people already in your call is more fun than playing alone.
Monetization reality
Discord supports native in-app purchases for Activities, so you can sell without kicking players out to an external checkout. The IAP system for Activities covers subscriptions (user or server) and one-time purchases, which come in durable form for permanent unlocks and consumable form for things players spend.
On the split, be clear-eyed. Discord's platform fee is 15% for your first $1 million in cumulative sales, then 30% after you cross that threshold, and that's before payment processing and transaction fees come out (Premium Apps Payout, effective June 6, 2024). You'll see a "Discord takes 10%" figure floating around online. Treat it with suspicion, because the documented payout terms are the 15%/30% tiers above. You become eligible for payout once you've earned $100.
Two other pieces of the 2026 money picture are worth knowing even though they aren't for most indies yet. Discord's Orbs currency, which rolled out globally in July 2025, lets players earn a soft currency by completing Quests (rewarded ad actions) and spend it in Discord's Shop, which is an advertising economy aimed at big-game marketing budgets more than at a first Activity. And at GDC 2026 Discord expanded Social Commerce, a native way to buy and gift in-game items inside servers, first shown with Marvel Rivals in December 2025. Roughly 20% of Discord Shop purchases are gifts, and in the Marvel Rivals rollout 41% of purchases were gifts (GDC 2026 recap). Social Commerce is rolling out to a limited group of partners first, so it's a "grow into it" option, not a day-one lever.
Discovery reality
Here's the part to internalize before you build your plan around Discord. There is no global "browse Activities" store inside Discord the way Steam or a web portal has a front page (StraySpark, May 14, 2026). Discovery happens through servers people are already in, links shared in chat, and the App Launcher (the shapes icon at the bottom of the client) plus your App Directory profile page, which show up only after your app is verified and you've enabled Discovery in the Developer Portal (Discord support).
What that means in practice: an Activity does not manufacture an audience. If your community isn't already on Discord, publishing an Activity won't magically create one. The games that took off did it by spreading through existing friend groups, where one person launches it in a call and the whole group is instantly playing. So the growth loop you're designing for is "one person shares it in a channel," not "someone finds it while browsing a catalog." Build the game so that the first 30 seconds with three friends is the pitch.
Is it worth it versus web portals
Discord and web portals solve different problems, so the answer is usually "both, for different reasons."
| Discord Activities | Web portals (Poki, CrazyGames, itch.io) | |
|---|---|---|
| Audience | Friends already in a voice call together | Strangers browsing for a game to try |
| Discovery | Word of mouth, no browse-all store | Front-page and algorithmic traffic |
| Best for | Social, casual, instantly multiplayer | Single-player and broad-reach web games |
| Monetization | Native IAP, 15%/30% fee tiers | Portal ad revenue share or your own IAP |
| Effort on top of a web build | SDK, proxy mapping, CSP, social design | Usually just an embed and a page |
Portals like Poki and CrazyGames send you strangers and put your game in front of people actively hunting for something new, which Discord doesn't do. Discord sends you groups of friends and a social context that makes multiplayer trivial to bootstrap, which portals don't do. If your game is single-player, a portal is the better first home. If it's the kind of thing that lights up with three friends in a call, Discord is worth the extra plumbing. The good news is that since all of these run web builds, one game can go everywhere. Ship it as a web game first, then adapt it to each surface.
Common Questions
Can I publish any game on Discord?
Only if it runs in a browser. A Discord Activity is a web app loaded in an iframe, so HTML5, WebGL, Unity WebGL, and Godot web exports all qualify, while native-only games that can't compile to the web do not. You build it with the Embedded App SDK, host the web build yourself at a public URL, and register it as an Activity in the Discord Developer Portal. If your game already plays in a browser, you're most of the way there.
Is it free to publish a Discord Activity?
Creating the application and enabling Activities in the Developer Portal costs nothing. What you pay for is your own hosting for the web build and any game servers you run for multiplayer, since Discord only proxies your site rather than hosting it. If you sell in-app purchases, Discord takes a platform fee of 15% on your first $1 million in sales and 30% after that, plus payment processing, but there's no upfront or listing fee to publish.
How do players find my Discord Activity?
Mostly through friends. Discord has no global "browse all Activities" storefront, so discovery runs on links shared in channels, someone launching it in a voice call, and, after your app is verified, your App Directory profile and the in-client App Launcher. The Activities that grew big did it by spreading inside existing friend groups, not by being found in a catalog. Plan for word-of-mouth growth and design the first minute with friends to be the hook.
Do I need multiplayer to publish an Activity?
No, but it's the whole reason the platform is interesting. Activities can be single-player, but Discord's advantage is that it drops your game into a voice channel where friends already are, and the SDK hands you the participant list for free. The breakout Activities are social and instantly multiplayer. A single-player game will usually do better on a web portal that sends it browsing traffic.
How does Discord Activity monetization compare to portals?
Discord lets you sell native in-app purchases (subscriptions and one-time items) without sending players to an external checkout, and it keeps 85% of your revenue to you up to $1 million in sales, then 70% after, before processing fees. Web portals more often pay you a share of ad revenue based on plays, or let you run your own IAP. Discord's model rewards games with committed players who buy cosmetics or unlocks, while portals reward games that pull high volumes of casual plays.
What are the technical gotchas when publishing to Discord?
The big two are the proxy and the CSP. Every network request from your Activity routes through discordsays.com, and any external domain you haven't declared as a URL mapping gets blocked, which most often bites when a dependency quietly calls its own API. You fix it by mapping the domain or patching the request with the SDK. Beyond that, keep the initial load light because it's running in a chat window, and design for touch since Activities run on mobile too.
Build a playable 3D browser game from one sentence, then adapt it into an Activity.
Related
- How to Make a Multiplayer Browser Game — the netcode your Activity needs behind the SDK
- How to Publish a Web Game — ship the web build that becomes your Activity
- How to Publish a Game on Poki — a portal that sends you browsing traffic Discord doesn't
- How to Publish a Game on CrazyGames — another web portal for broad reach
- Co-op Game Design — designing the social hooks that make Activities spread
- Iframe embedding games — the technical basis for how Discord frames your game