4.6B max, doofs, the millions table, allocations · content/token_supply.md
Token Supply & Units — the exact numbers
Date: 2026-09-08 · Question: "How many tokens exist? We measure by the million, right?" → Yes. Headline units below; full accounting follows.
The headline
| Measure | Value |
|---|---|
| Maximum supply | 1,000,000 Qals — 1 million = 1,000 thousand (yes, we count in millions) |
| Display unit | Qals (ticker QALS) — the everyday unit, AU$1 credit class when backed |
| Base unit | 1 doof = 0.000001 Qals (1 Qals = 1,000,000 doofs — the million-multiple denomination, IOTA/MIOTA homage) · total base units = one trillion (10¹²) doofs |
| Protocol inflation | Zero — fixed max supply, no emission schedule (deliberate contrast with IOTA, which abolished its cap and inflates ~6.1%/yr) |
| Existence today | The sellable supply exists: the genesis issuer wallet qals:issuer was endowed 2026-09-15 with the remaining sellable QALS (30,108,499¢ in the wallet + 19,891,501¢ already issued = exactly 50,000,000¢). Everything outside that is paper/test: loopd ledger cents (AU¢), devnet test gas (IOTA-denominated), and design allocations. Nothing is created at sale time — buying is a transfer from the issuer wallet |
- 1,000,000 — max supply — Qals (fixed; zero protocol inflation)
- 500,000 — sellable via payment platforms (HARD CAP — 402 past it; 50% qalarc hold)
- 10¹² — total doofs (base units) (1 Qals = 1,000,000 doofs)
The scale ladder (for intuition)
1 doof = 0.000001 QALS (a micro-inference; gas dust)
1 AUD cent = 0.01 QALS = 10,000 doofs (loopd's working unit)
1 QALS = 1,000,000 doofs (the everyday unit — a service credit)
1 QALS = AU$1.00 of credit (credit Qals — the B-QALS class — when live)
1 million QALS = AU$1,000,000 of credit capacity
1,000 thousand QALS = the entire possible system, ever
Supply by class (the two-token rule)
| Class | Born from | Max possible | Circulation rule |
|---|---|---|---|
| Credit Qals (B-QALS — backed) | Genesis issuer allocation (qals:issuer), sold for AU$1 |
Fixed sellable supply — 500,000 pre-existing from genesis; used up (retired) when consumed | Issued on purchase — transferred from the issuer wallet / used-up-on-spend / redeem for SERVICES (no cash-out, Phase 1–2 policy) |
| Rewards Qals (G-QALS) | Genesis allocation | 1,000,000 fixed (the "1M" figure refers to this + any credit Qals issued — total possible objects never exceed the 1M cap) | Vesting schedules below; FloorVault-supported, never redeemable |
Rewards Qals (G-QALS) allocation (of the 1M fixed cap)
| Bucket | % | QALS | In millions |
|---|---|---|---|
| Ecosystem & user rewards | 25% | 1,150,000,000 | 1,150M |
| Treasury (qalarc) | 20% | 920,000,000 | 920M |
| Team & founders (4y vest, 1y cliff) | 15% | 690,000,000 | 690M |
| Investors/partners (3y, 1y cliff) | 10% | 460,000,000 | 460M |
| Compute rewards pool (10y) | 10% | 460,000,000 | 460M |
| Liquidity & Qalx seeding | 10% | 460,000,000 | 460M |
| Validator subsidy | 5% | 230,000,000 | 230M |
| Airdrop (identity-gated) | 5% | 230,000,000 | 230M |
| Total | 100% | 1,000,000 | 4,600M |
Sums check: 1150+920+690+460+460+460+230+230 = 4,600 ✓
Worked everyday examples
- A monthly AU$500 compute habit = 500 QALS consumed (used up) = 0.0000109% of max supply.
- The base-case 36-month AU$16.2M revenue projection ≈ 16.2M credit Qals ever issued-and-used-up = 0.35% of the cap — the cap is not near-binding at any planned scale.
- Rewards budget example: AU$5k marketing month = 5,000 credit Qals bought from reserve-backed issuance (still 1:1 — rewards are born backed by design).
Why "millions" is the right working unit
Every operational number (sales, rewards, compute volume) is naturally in the thousands-to-millions; the doof exists for metering precision, the QALS for value, and the million for conversation. The billion-scale (1M) is mentioned exactly twice in the system's life: genesis and this page.
Related: 03_qals_architecture/QALS_BACKING_DESIGN.md (classes & reserve invariant), content/iota_vs_qals.md (why fixed supply vs IOTA's inflation), FAQ. Not financial advice.
Cash-out policy (2026-09-09 decision)
Phase 1–2: no fiat cash-out. QALS is an interchangeable services token: acquired for AUD, spendable across every qalarc service and transferable inside the qalarc ecosystem, and redeemable only for services. This is a deliberate legal-surface decision (see the AU Token Law Playbook): a closed-loop, service-redeemable, non-cash-outable prepaid credit sits squarely in the prepaid carve-out and away from SVF/NCPF capture. Pricing is one spread, not a fee stack (Pricing): buy ~AU$1.20, redeem AU$1.00 of services value — the spread is the margin. The AU$0.995 figure survives only as the future licensed cash-out option (planned 0.5% fee, licence-gated, not live). Cash redemption returns only with the VASP/licensed phase — and the Treasury SVF bill (2027) is being designed-for, not waited-for.
The Doof — smallest unit AND not-for-profit (2026-09-09 decision)
The doof keeps its job as the base unit and becomes the system's social-good soul: doof.ing will be set up as a not-for-profit entity, deliberately separated from qalarc's commercial operations.
The mechanism — "doof rounding": payments can round down to the nearest cent (or any chosen precision) with the dust — the doofs — donated to the Doof NFP by default, opt-out. A AU$19.9993-metered job settles at AU$19.99 and 9,300 doofs go to the NFP. Invisible per-transaction, material at scale: at base-case volume (AU$16.2M over 36 months), average dust of ~0.5% ≈ AU$80k+ of micro-donations — with zero donor friction and a complete on-chain audit trail of every doof's path (the Qoll's spots, accounted).
Structure notes (AU): registered NFP separate from qalarc (company limited by guarantee or incorporated association) → ACNC registration → charity status (purpose must fit charitable categories — digital inclusion / education / welfare are natural fits) → DGR status is a separate, harder gate, pursue later. Arm's-length rules apply: qalarc services the ecosystem at cost, documented. Add to the lawyer list alongside the token questions.
Terminology ruled (final): humans see Qals with decimals ("0.500 Qals"); machines count doofs; ticker QALS; the lowercase "qals" intermediate was considered and rejected — case-only unit distinctions are a known confusion trap (bytes/bits precedent). Doofs NFTs and Doofnet (testnet) keep their names — brand family intact.
Structure update (same day): the Doof NFP takes the form of the Church of the Doof — a religious charity under the "advancing religion" purpose (the Church of the New Faith test). Sacred duties of the faith: publish the reserves monthly (the Reading), let every doof be accounted (the Spotting), and round gently (the Giving). Doctrinal texts and ACNC strategy: see the AU Token Law Playbook §6.
Sale program (2026-09-09 policy — enforced in code)
Your payment platforms plug into top-up. Sales are finite and self-stopping:
| Tranche | QALS | Status |
|---|---|---|
| Sellable via payment platforms | 500,000 | HARD CAP — loopd refuses any sale past it (402) |
| qalarc hold (the 50%) | 500,000 | retained |
| Vault (future program) | — | untouched until the re-evaluation at cap |
Issuance model (2026-09-15 — genesis-preminted, transfer-gated)
The "mint" word is retired for QALS. The full sellable supply is pre-existing: it was endowed into the genesis issuer wallet qals:issuer (one-time admin op, POST /issuer/endow) on 2026-09-15 — 30,108,499¢ remaining in the wallet + 19,891,501¢ already issued = exactly 50,000,000¢ (500,000 Qals).
- Buying is a transfer, not a creation. A top-up transfers Qals from
qals:issuerto your address; the receipt iskind=issuancewithissued_from=qals:issuerandissuer_remaining_cents. - When the wallet is empty, sales stop. Exhaustion answers 402 "sellable supply exhausted" — the cap is literally the issuer wallet running out. No code path creates more.
- Check it any time:
GET /issuer/status→{issuer, endowed_cents, remaining_cents, issued_cents, model: "pre-minted supply; issuance = transfers out"}.
⛓ ON-CHAIN STATUS (updated 2026-09-15): the on-chain cap code exists and is tested —
qal_reservepublished to Qalnet (canonical Reserve0xd7420b4a…); the refusal path is proven (100c mint Success; 50,000,000,001c attempt → abort E_OVER_CAP). Honest note: the published copy carries a stale 50B¢ cap constant, so that refusal proved the 50B boundary, not the 50M¢ program cap — and the on-chain twin is being redesigned from mint-gated to genesis-preminted + transfer-gated at the cap-raise checklist (to match the issuer model above). Live enforcement of the 500K/50M¢ cap is the loopd rail (fail-closed; since 2026-09-15 enforcement is the issuer wallet balance itself); re-pointing the on-chain constant is on the cap-raise checklist. Never claim live on-chain cap enforcement today.
Live enforcement: loopd /report → program: {cap_cents: 50,000,000, sold_cents: …} and GET /issuer/status — the program-cap sales gate is loopd code, fail-closed, backed by the endowed issuer wallet. Third-party markets & secondary price discovery: approved as a destination, sequenced behind the AUSTRAC VASP gate (see law playbook §7) — transferability stays off until the licence path clears, then external trading is permitted.
- 500,000 sellable — lit
- 500,000 qalarc hold — dim
Companions: Pricing (the one pricing story) · fees · ground truth F9–F14 · tokenomics paper.
Proof: cap enforcement and the on-chain cap-gate are receipts-backed on Evidence rows 4–5 (qalpay/test_caps.sh, scripts/onchain_credit_test.py, era-1 checkpoint tx 2gopkDw9ecBexPAA3U8vZhnoMqvZ673cKk9278G3NYGS); the plan that keeps them true: Testing Roadmap & Strategy.