47 people playing right now

Build a game. Embed it in a post. Pair a coin.

Describe a game and embedpad builds it, hosts it, and hands you a link that plays right in the X feed. When it's ready, launch a pump.fun coin paired with it in one signature.

84games built
627plays
6paired coins
47playing now
embedpad@embedpad · now
this post is a canvas. everyone who opens it paints on the same wall www.embedpad.app/s/pixel-wall
From www.embedpad.app

A real post card, running live. Paint on it and every visitor sees the same wall.

Pair a coin

Every game can carry a coin.

Build first, pair when you're ready. The coin and the game stay linked for good: one points at the other, everywhere either shows up.

Build a game to pair
A pixel-art frog game running in a post
embedpad$HOPPY
Launch $HOPPY on pump.funCreator: your wallet · website: your gameApprove · 1 signature
Hoppy [ticker: HOPPY]market cap: $8.4K

Illustration. $HOPPY is an example ticker.

From idea to timeline in one message.

X can render a web page inside a post when the link carries the right card. We write the app, host it in a sandbox, and attach that card for you.

  1. 1

    Describe it

    One sentence is enough. The builder writes a complete, self-contained app sized for the square card in a post.

  2. 2

    Tweak it live

    Ask for changes in plain words. Every version is saved, so you can roll back, and runtime errors come with a one-click fix.

  3. 3

    Post the link

    Your share link carries an X player card. When X unfurls it, the game loads inside the post behind the embedpad splash, not in another tab.

  4. 4

    Pair a coin

    Launch a pump.fun coin paired with your game in one wallet signature. Its website is its embedpad.app token page, the ticker shows on the game itself, and creator fees go to you or a split you lock on chain.

GET /s/k3n7q2xw9pwhat X reads
<meta name="twitter:card" content="player"><meta name="twitter:player" content="https://www.embedpad.app/p/k3n7q2xw9p"><meta name="twitter:player:width" content="480"><meta name="twitter:player:height" content="480"><meta name="twitter:image" content="https://www.embedpad.app/api/card/k3n7q2xw9p">
x.comunfurls your link and reads the card
480×480frames the player right in the post
sandboxyour app runs isolated, synced to one shared room

Multiplayer is built in, not bolted on.

Every app ships with a tiny SDK. The builder already knows how to use it, so ask for a shared leaderboard, a vote, or a world everyone builds together and it just works.

  • Shared stateKey-value room per app. Last write wins per key, synced about once a second.
  • PresenceSee who else has the post open right now, with a name and color each.
  • SandboxedApps run on an opaque origin with no access to your account, cookies or this site.
app.html
// Every person who opens the post joins the same room.
embedpad.room.subscribe((state) => {
  render(state['crown'], state)
})

button.onclick = () => {
  embedpad.room.set('crown', {
    name: embedpad.player.name,
    at: Date.now(),
  })
}

embedpad.players.subscribe((people) => {
  online.textContent = people.length + ' here now'
})

Questions

How does an app end up inside a post?

Each app gets a share link whose page carries an X "player card": a few meta tags that point X at a page it can load in an iframe. When X unfurls the link, it shows the card, and tapping it runs your app inline in the timeline.

Does it work on the X mobile apps?

Player cards render on x.com and in the X apps. X decides when to show a card, so if a fresh link shows a plain preview at first, give it a minute and repost. The app also works on its own share page anywhere.

Do I need an account?

No. When you build an app, your browser keeps a private edit key for it. Anyone can play and remix; only the browser that built it can change it.

Is it safe to open these apps?

Apps are served from a sandboxed, opaque origin. They cannot read your X account, your cookies, or anything on this site. They can only talk to their own shared room.

How does pairing a coin work?

From your game's studio, hit "Launch a coin", pick a name and ticker, choose where creator fees go, and approve once in Phantom or Solflare. That launches a real pump.fun coin with you as the creator. Its website points at your game, and the game shows the ticker in its embedpad badge. One coin per game, and it's permanent.

Can I send creator fees to someone else?

Yes. On the launch page you can keep 100% of creator fees, or split them across up to 10 Solana wallets, like a collaborator, an artist, or a prize wallet. The split is written to pump.fun's own fee-sharing program in the same approval as the launch and then locked on chain, so nobody can change it later. The game page reads the split straight from chain and shows it.

Why does every game start with embedpad?

Every hosted game opens on a short embedpad splash (tap to skip) and keeps a small badge in the corner linking back to its page and coin. It is added by the host, so the game code cannot remove it.

What can I build?

Anything that fits in a square and runs in a browser: arcade games, polls, guestbooks, generative art, shared canvases, quizzes, counters, music toys. Libraries from jsDelivr and unpkg are allowed.

The next king of the hill is one sentence away.

Describe it, post it, pair a coin. Everyone who opens the post plays the same game.

Build a game