Skip to main content

For app developers

Ship a website or app you truly OWN — minted on-chain as your own asset, not rented. Build and preview for free; pay a small uniform $DIG price only when you publish, with files encrypted in your browser so no host can read them.

The mental model

A store is your website's permanent identity — an on-chain singleton you control. Each time you publish, you mint one immutable capsule = storeId:rootHash. A store is just the sequence of capsules you've published over time.

Two front doors lead to the same free-build → paid-publish loop:

Scaffold, build, and preview cost nothing. You pay only when you publish a capsule.

You're doingCost
Scaffolding, building, previewing a draftFree
Publishing your first capsule (mint a store)uniform capsule price in $DIG + small XCH fee
Publishing each update (a new capsule)uniform capsule price in $DIG + small XCH fee

Start here

Publish from the web — DIGHUb

Start a new store in DIGHUb ↗. Drop in your built site (your dist/ or build/ folder), get a free draft preview on the real read path, and connect a wallet only at the Publish step. See the web walkthrough in the Quickstart → Publish from the web.

Publish from the CLI — digstore

The Git-shaped loop: newdevinitcommit.

digstore new vite-react   # scaffold a runnable project — free, no mint
digstore dev # preview on the real chia:// read path, live-reload — free
digstore init site --dir dist # mint the store's first capsule (uniform price + XCH fee)
digstore commit -m "v1.1" # publish an update — a new capsule

CLI quickstart · The full project workflow

Scaffold an app — 5 templates

Start from a runnable, wallet-wired starter — static, vite-react, next-static, nft-drop, or dapp-window-chia — via digstore new <template> or npm create dig-app.

Scaffold an app

Preview free with digstore dev

digstore dev serves your project over the genuine DIG read path (encrypt → compile → verify → decrypt) with live reload and an injected dev window.chia. What you see is what visitors get — and nothing is minted or spent.

CLI quickstart → develop & preview

dig.toml — the committable manifest

dig.toml at your project root holds store-id, output-dir, build-command, remote, and other config — shared by digstore dev, digstore deploy, and the scaffold templates. It holds no secrets (those come from the environment), so commit it.

Project config & build-time values

Updates & versions — each publish is a new capsule

Every publish seals the current build into a new immutable capsule and advances your store's on-chain root. Old capsules stay readable; the store always resolves to its latest unless a reader pins a specific rootHash.

On-chain anchoring

What it costs

Free to build and preview; a uniform price in $DIG per published capsule, plus a small XCH network fee — included atomically in the same on-chain spend. The price is uniform per capsule by design (so capsule length leaks nothing about your content). Get $DIG on TibetSwap, dexie.space, or 9mm.pro.

Where to get DIG · Why is every capsule the same price?

Push-to-deploy from GitHub Actions

Wire dig-network/deploy-action so every push publishes a new capsule — with an if-changed guard that makes a byte-identical build a no-op (no spend).

Deploy from GitHub Actions

Add a *.on.dig.net web address (optional)

Your store is reachable by its URN / chia:// address the moment it confirms — no extra cost. A human-friendly <name>.on.dig.net handle is an optional, paid registration in DIGHUb on top of that.

Can I use my own domain?


Go deeper: the protocol

The plain-language model above is all you need to ship. When you want the full design: