Project · Studio

Project Billing — cycles management · states gallery

The project overview's Billing tab (renamed 2026-07-02 from "Cycles" — billing owns cycles management, plus the storage/Cashier billing that used to sit in an accordion on the project overview; that accordion is retired and its rows now live here). The tab nav uses the style guide's Tabs component; Burn & Reputation and Project Mastery are disabled "Soon". In V1 cycles are self-funded from the project's own treasury: all claim payments flow into the treasury, a locked percentage is reserved for cycles, and on every inflow — plus an hourly check — the reserve is topped up by converting funds to ICP via an AMM and buying cycles. Only the excess above the reserve can be withdrawn. Anyone logged in can fund a project: the public overview's "Donate" card takes ICP-only donations of any amount — those donation modal states live with the public view in the project overview gallery (frames 04–07). This gallery covers the owner-facing Billing tab and its cycle-management modals. Follows the page shell: white for the breadcrumb bar and cards only; header on grey.

Source: Design Documentation/project-treasury-and-cycles-design.md. Related: Burn & Reputation · Revenue presets.
01Billing · Cycles — healthy (treasury-funded)The Billing tab on the project overview (cycles management lives here). Stat cards show the monthly cycle cost, the current cycle balance/runway, the treasury balance, and the locked cycle reserve. Left: how funding works + recent auto top-ups. Right: the reserve, the withdrawable excess, and the public top-up link anyone logged in can use. "Withdraw excess" renders only for the Treasurer (R59 — the only role that can withdraw; not even the Creator).
Studio/Project: Vault One/Overview
k1m9…7uvw
Project · Vault One

Overview.

Cycles are self-funded from the project treasury — automatically topped up so drops never stall.

Monthly cycle cost
~2.6 T
≈ 3.4 ICP / month
Cycle balance
8.4 T
~3.2 mo runway
Treasury
≈ 412
ICP-eq · accepted currencies
Locked reserve
15%
≈ 62 ICP reserved for cycles
How cycles are funded
1 · All claim payments→ project treasury
2 · On every inflow, check reservelow? AMM → ICP → cycles
3 · Hourly automated checktops up if needed
4 · Withdrawalsexcess only
Recent auto top-ups
Hourly check · 41 min agono action (reserve OK)
Claim inflow · 6 h ago+1.2 T (≈ 1.6 ICP)
Public top-up · 2 d ago+0.9 T (≈ 1.2 ICP)
Reserve & top-up
Locked cycle reserve15%
Reserve target~3 months cost
Next hourly checkin 42 min
Withdrawable excess≈ 340 ICP
Anyone logged in can donate via "Donate" on the public overview — not just admins. Donations are ICP only, any amount, and buy cycles directly. Only the excess above the locked reserve can be withdrawn.
Storage & canister billing
Project canister9.452 T
Ledger canister cycles (read-only)4.476 T
Remote asset storage balance (read-only)0.000 B
Idle daily usage0.000 / day

Remote assets use blob storage, billed through this project canister's Cashier account — auto-funded from project cycles when the balance runs low. (Moved here from the old Overview billing accordion.)

02Reserve low — auto-restoringThe cycle balance has dipped below the reserve target. No admin action is needed: the next inflow or the hourly check converts treasury funds to cycles. While the reserve is short, withdrawable excess is 0 — the project can't withdraw funds it needs to stay fuelled.
Studio/Project: Vault One/Overview
k1m9…7uvw
Cycle balance
1.9 T
below reserve
Monthly cycle cost
~2.6 T
≈ 3.4 ICP / month
Treasury
≈ 48
ICP-eq · covers the top-up
Withdrawable excess
0
locked until reserve restored
Auto-restoring from the treasury. The next claim inflow or the hourly check (in ~18 min) will convert treasury funds via the AMM and buy cycles to refill the reserve. Withdrawals are paused until the reserve is whole. Anyone can also donate now via "Donate" on the public overview.
03Top up project cycles · modalOpened from the Billing tab — fund the project canister; Toko moves cycles into blob storage when it runs low.

Top up project cycles

Top up the project canister only. When blob storage is low, Toko automatically moves project cycles into the project blob storage Cashier account and keeps a project reserve.

Project cycles2.040 T
Project blob storage balance0.000
Wallet ICP0.5710 ICP
Project blob storage is below 500.000 B. Top up project cycles; Toko will automatically move project cycles into blob storage up to 1.000 T while preserving the project reserve.

0.3000 ICP will be sent to the project canister.

04Identity image · cycle check (balance OK)Saving a project banner or thumbnail stores it in blob storage, funded from project cycles. Before it saves, Toko estimates the cost and checks the balance — the same guard used for every upload. With headroom, it saves normally.

Upload assets

project-header.png staged · 2.4 MB · uploaded & held
Estimated cost
~0.02 T cycles
Project balance
2.040 T
After upload
~2.02 T
Enough cycles to store this image and keep your reserve. Toko moves project cycles into blob storage automatically.
05Identity image · low balanceThe estimate exceeds the balance. The image stays staged — nothing is discarded — and the primary action becomes Top up & upload.

Upload assets

project-header.png staged · 2.4 MB · uploaded & held
Estimated cost
~0.02 T cycles
Project balance
0.008 T
Shortfall
~0.01 T + reserve
Not quite enough cycles to store this image. It stays staged — top up and it saves straight away. Nothing is lost if you top up now.
06Top up to continue · image stagedThe inline top-up. The staged image is shown at the top so it's clear nothing was cancelled; once cycles land in blob storage, it saves automatically.

Top up to continue upload

project-header.png staged · 2.4 MB · ready to save
This upload (est.)~0.02 T
Project balance0.008 T
Recommended top-up (cost + reserve)1.000 T
Top up amount
T cycles · ≈ 0.30 ICP
from your wallet to the project canister
Cycles are sent to the project canister; Toko moves what's needed into blob storage. After it lands, the staged image saves automatically.