Appearance
Paying for Private DAOs
Public DAOs are free to use. Private DAOs are paid for in Canton Coin (CC) by the organization that runs them — this page explains why, what it costs, and how to top up.
Why Private DAOs are the paid part
Every transaction on Canton burns traffic, and somebody has to cover it. For Public DAOs the platform earns Canton's app-reward attribution and funds that traffic itself, so it stays free.
A Private DAO excludes the app provider from its observer set — that is precisely what makes it private (Private DAOs). No observer means no reward attribution, so there is nothing to fund the traffic with. Rather than quietly subsidise it or weaken the privacy model, the traffic is billed to the DAO.
Voting itself is never billed to the individual member. The cost lands on the DAO's account, not on whoever happened to click.
Who pays what
| Action | Charged to |
|---|---|
| Creating a Private DAO | the creator's party account |
| Everything inside a Private DAO afterwards — proposals, votes, finalize, execute | the DAO account |
| Anything in a Public DAO | nobody — free |
The price is computed from the transaction's size on the ledger. Current rate: 0.73 CC per KB, refreshed from live network pricing with a safety cushion. Before you confirm an action, the app shows what it will take.
Topping up
Payment is in CC only — there is no card or in-app purchase.
- Sign in with your wallet and open the billing section.
GET /api/billing/deposit-infogives you a personal top-up address — a Canton party allocated to your account and nobody else's.- Send CC to it from any Canton wallet. The minimum deposit is 1 CC.
- The deposit is credited to your party account once the platform's agent sees it on the ledger.
A DAO admin moves credits from a personal account to the DAO's account with POST /api/billing/fund-dao. Unused credits can be withdrawn again with POST /api/billing/withdraw.
Useful endpoints: /api/billing/balance, /api/billing/quote (price an action before doing it), /api/billing/entries (the ledger of every charge).
Running out mid-flight
If the account cannot cover an action, the API answers HTTP 402 and the action does not touch the ledger:
json
{
"error": "insufficient billing credits — top up to continue",
"requiredCc": "1.4600",
"balanceCc": "0.2000",
"topUp": "/api/billing/deposit-info",
"payer": "dao",
"payerId": "dao-1786…"
}Nothing is half-applied: credits are held when the action starts, settled when it succeeds, and released if it fails.
Where it is switched on
| Network | Private DAOs | Public DAOs |
|---|---|---|
| TestNet | billed since 2026-09-07 | free |
| MainNet | billed since 2026-09-14 | free |
Private DAOs created before those dates received a one-off courtesy credit of 10 CC so that existing governance did not stop the day billing arrived.