Publish your first app
From a game you already built, or a new widget, to a coin page where it can sell an item. You need no wallet to start. What you can publish, what it costs and the rules are on Publish on Chain Daddy.
- Coin page: a coin's public page at
chaindaddy.io/YOURTICKER. Apps run on it. - Wallet: the account that holds tokens and proves who you are on a blockchain. Signing in to Chain Daddy with email, Google, Apple or X makes one for you.
- Manifest:
capp.json, the file that names your app and lists what it asks the page for. - Sign means one of three things. Your wallet signs an agreement (you approve a message; it costs nothing). Your computer signs a package (the CLI stamps it as yours). A buyer signs a purchase (their wallet approves a payment).
The path:
- Install the CLI and sign in
- Get a paid plan and join the program
- Start your project: a game you already built, or a widget
- Run it on your computer
- Sell an item
- Pack, sign and submit
- Preview it on your own coin page
- Send it for review
- Install it, and pick the Game layout
1. Install the CLI and sign in
The CLI is the chaindaddy command. It needs Node.js 20 or later, which also gives you npm. In a terminal:
npm install -g @chaindaddy/cli@beta
chaindaddy loginchaindaddy login prints a link and a short code, and opens the link in your browser. Sign in there with email, Google, Apple, X or a wallet, check the page shows the same code, and approve.
You should see ✓ Signed in as 0x… on "<your computer's name>". The 0x… is your wallet's address.
2. Get a paid plan and join the program
This command says what you still need, with a link for each:
chaindaddy app whoamisigned in: 0x12ab… on "my-laptop" (chaindaddy login)
plan: no paid plan
Next: Get a paid plan: any paid plan will do, from $5 a month (a plan from a promo code counts; a free trial does not). https://chaindaddy.io/_plans
agreement: not signed
Next: Join the Developer Beta Program: sign its agreement in your browser, … https://chaindaddy.io/_developer
developer id: (you get one when you join the Developer Beta Program)
this computer: cannot publish yetDo both in your browser, signed in as the same account:
- A paid plan. Any paid plan, monthly or yearly; Pro is $5 a month. chaindaddy.io/_plans
- The Developer Beta Program agreement. Open chaindaddy.io/_developer, give a display name and an email, and press Sign and accept. Your wallet signs the agreement: you approve a message. What the program is
You should see, when you run chaindaddy app whoami again, plan: Pro, paid, agreement: signed, a developer id, and this computer: can publish.
3. Start your project
Pick one. Both end at the same place.
A game you already built
Any game that runs in a browser: Phaser, Three.js, PixiJS, plain JavaScript, or a Godot or Unity web export. It runs on the page as it is, as an engine app, and you write no page code.
chaindaddy app init web my-game --build ./dist # ./dist: the folder your build writes, the one with index.html
cd my-gameYou should see ✓ Created web build project …/my-game, and a my-game folder holding capp.json and your build in engine/.
- Put every script in the build. A page that loads a script from another host (a CDN copy of your engine, an analytics SDK) is refused: Web builds.
- Godot or Unity:
chaindaddy app init godot my-gameorchaindaddy app init unity my-gameinstead (add--build <the folder you exported to>if you already have a web export). It writescapp.jsonfor that engine, adds the files that let the game talk to the page, and prints the export settings to use: Engine apps.
A widget
A widget is a React component the page draws: a storefront, a tool, a community card, a new game. Start blank, or from a working app:
chaindaddy app init widget my-app # blank. Or a working app: game, interactive, community
cd my-app
npm installYou should see ✓ Created widget project …/my-app, with capp.json and your component in src/index.tsx. What each starter gives you is in Templates, and the props a widget gets are in Widget development.
A store showcase, a gallery and polls need no code at all: see Publish on Chain Daddy.
4. Run it on your computer
chaindaddy app dev # in a widget project, npm run dev is the sameYou should see ✓ ready and an address, http://127.0.0.1:5180. Open it: your app runs on a stand-in token page, in the same sandbox (the sealed frame an app runs in) as a real one. The page answers sign-in and purchases from sample data, so nothing here needs a wallet or money. A widget rebuilds when you save a file.
A browser game built the default way for Vite (paths from the site's root) shows nothing here, and runs as it is in your preview: what differs in app dev.
Everything it can do: Test locally.
5. Sell an item
An app sells from the store of the coin page it is on. You can ship without this step and add it in a later version.
Get a coin page. Launch a coin or verify one you have.
Open its store and add an item. In your coin page's manager, on any paid plan, with no code. Opening a store asks your wallet to sign the Seller Terms, once. Give the item a key (its
sku), such asskin.gold, and a price in dollars. Who can open a storeDeclare the permission in
capp.json:json"permissions": ["iap:purchase"]Ask the page to sell it, from your Buy button:
js// a game you already built const res = await window.chaindaddy.action({ type: 'iap-purchase', sku: 'skin.gold' }); // a widget const res = await onAction({ type: 'iap-purchase', sku: 'skin.gold' }); if (res.ok && res.data.status === 'confirmed') unlockSkin();
The page shows its own purchase sheet, the buyer's wallet signs the payment, and the sale pays your wallet. res.data.status is confirmed, paid (on its way), cancelled or failed.
You should see, in chaindaddy app dev, the purchase sheet open over your app and the sale end confirmed: its sample store has one item of each kind. Chain Daddy's fee is 2.5% of a sale, or 0% on a coin launched in a Chain Daddy launchpad pool.
The rest (reading what a player owns, items that are used up, files only buyers get): Selling from an app. Godot and Unity calls: Talk to the page.
6. Pack, sign and submit
These commands turn your project into one file and upload it. This step needs the plan and the agreement from step 2.
chaindaddy app build # a widget only: bundles it. A game is already built
chaindaddy app scan # the checks we run, on your computer
chaindaddy app pack # writes dist/my-game-0.1.0.capp
chaindaddy app sign --in-place # this computer signs the package
chaindaddy app submit --watch # uploads it and waits for the automated checks- Pack writes a
.cappfile, the package: your manifest and your build in one archive. You should see✓ Packed dist/…capp. - Sign stamps the package as yours. The first time, the CLI creates a signing key for this computer and saves it, and prints
Created a developer key for this computer …. You should see✓ Signed dist/…capp. - Submit uploads it. Chain Daddy checks it and then starts it once, the way a coin page would. You should see
Submitted (id …), each check as it runs, then✓ Automatic checks passed.
A check that fails names what to fix: Submitting an app. To send a new build, raise version in capp.json and run the same commands.
7. Preview it on your own coin page
You don't have to wait for review. Open chaindaddy.io/_developer, choose your app, then its Builds tab, and press Preview on your token page. Pick a coin page you own.
You should see your app on that page with the badge Unreviewed preview — only you can see this. Visitors see nothing until a build is approved. What a preview can and cannot do
8. Send it for review
On the same Builds tab, press Submit for review, or run the command the last step printed: chaindaddy app request-publish <id>.
You should see the build's status change to in_review. We review each version; the decision and any notes show on the build. Once approved, it is the live version, and any coin page can add it.
9. Install it, and pick the Game layout
Open your app's page in the Apps directory and press Add to your token page. Adding an app is free on every plan: Apps on your coin page.
For a game, put it first on the page with the Game layout: the game takes the big slot, with the price chart and a buy panel beside it. Layouts need the Pro plan ($5 a month). The Game layout
You should see your game on your coin page, and a visitor can buy your item from inside it.
Next
- A game: what the frame allows, and saves, size limits and the fullscreen HUD.
- A multiplayer game with a server and prizes: Build a game.
- A new version went wrong: roll back.
- Everything an app can ask the page for: Actions. Every manifest field: App manifest.