Skip to content

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:

  1. Install the CLI and sign in
  2. Get a paid plan and join the program
  3. Start your project: a game you already built, or a widget
  4. Run it on your computer
  5. Sell an item
  6. Pack, sign and submit
  7. Preview it on your own coin page
  8. Send it for review
  9. 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:

bash
npm install -g @chaindaddy/cli@beta
chaindaddy login

chaindaddy 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:

bash
chaindaddy app whoami
signed 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 yet

Do both in your browser, signed in as the same account:

  1. A paid plan. Any paid plan, monthly or yearly; Pro is $5 a month. chaindaddy.io/_plans
  2. 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.

bash
chaindaddy app init web my-game --build ./dist    # ./dist: the folder your build writes, the one with index.html
cd my-game

You 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-game or chaindaddy app init unity my-game instead (add --build <the folder you exported to> if you already have a web export). It writes capp.json for 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:

bash
chaindaddy app init widget my-app     # blank. Or a working app: game, interactive, community
cd my-app
npm install

You 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 ​

bash
chaindaddy app dev        # in a widget project, npm run dev is the same

You 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.

  1. Get a coin page. Launch a coin or verify one you have.

  2. 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 as skin.gold, and a price in dollars. Who can open a store

  3. Declare the permission in capp.json:

    json
    "permissions": ["iap:purchase"]
  4. 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.

bash
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 .capp file, 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 ​