QALS Wiki · the qalarc networkgenerated 2026-09-06 · qalcode autonomous research

Qalnet: the fork, the fleet, the design · 03_qals_architecture/QALS_ARCHITECTURE.md

QALS — The qalarc Chain: Architecture Blueprint

Project: QALS / Qalnet — qalarc's own IOTA-derived coin, data-transfer network, and token economy Author: qalcode autonomous research session Date: 2026-09-06 Status: v1 draft (synthesised from live research + cloned IOTA source; see companion docs)


1. Vision

qalarc runs a family of applications (qalarc.com AI services, tradez.au, doof.ing, endispute.com.au, the Signal/WhatsApp agent hub, GPU compute rigs across a Tailscale fleet). Today these apps share no common ledger: credits, bills, data receipts, agent permissions and compute accounting all live in silos.

QALS is the connective tissue: one fast, fee-subsidised, object-based chain — forked from IOTA's own open-source node (itself Sui-lineage) — that lets every qalarc app, device, AI agent and user share:

  1. A currencyQALS, used as pre-paid service credit, gas, and settlement rail.
  2. A data layer — tamper-evident transfer and provenance of data between apps/agents.
  3. An identity layer — DIDs for humans and AI agents, with verifiable permissions.
  4. A compute ledger — escrow, tracking and settlement of compute jobs (GPU-hours as tradeable goods).
  5. A market — DeFi trading interface (Qalx), NFTs, and later a credit/stablecoin system (qAUD).

The original IOTA dream was "the backbone of IoT — machines paying machines, transferring data and value feelessly." That dream failed as a public network for many reasons (see 01_iota_deep_research/), but as a private/company network the exact same architecture is not just viable — it's ideal: we control the validator set, we subsidise gas for our users, and we inherit five years of hardened open-source engineering for free.


2. Naming system (qalarc brand theme)

Thing Name Notes
The coin / token QALS "Qals" — as requested, in the qalarc family (qalarc, QalCode, qalhub)
Smallest unit (10⁻⁹) doof 1 QALS = 1,000,000,000 doofs. Homage to doof.ing. (IOTA has "nanos"; we have doofs.)
Ternary homage unit trit informal: 1 QALS = 3²⁰ trits ≈ joke unit for docs/merch (see ternary research doc)
The chain / network Qalnet private/consortium L1, fork of iotaledger/iota
Public testnet Doofnet public-facing faucet + demos
The DEX Qalx "the qalarc exchange" (see 05_defi_trading/)
Stablecoin (later) qAUD tokenized AUD claim, see 06_bank_exchange/
Identity system Qal ID DID/VC layer, see 09_identity_ai/
Gas-station / sponsorship service Qal Pass pays gas for app users so in-app UX feels feeless
Compute marketplace Qal Compute see 07_compute_marketplace/
NFT family Doofs, Gumleaf Edition see 08_nft_strategy/
Validator set nickname The Fleet superlocal, minirig, bb-mini, cachyos-x8664 + cloud nodes

Total supply proposal: 4,600,000,000 QALS (9 decimals, smallest = doof) — a deliberate homage to IOTA's own rebased supply of 4.6B, and a comfortable size for credit-denominated usage (a doof of compute ≈ a micro-inference).


3. Strategic options — how to get an "IOTA-like" chain of our own

Option What Pros Cons Verdict
A Deploy on IOTA mainnet/EVM QALS as Move coin + ERC-20 on public IOTA (chain 8822 EVM) Zero infra; instant trust; existing DeFi (Pools Finance), dApp-kit, Gas Station product No sovereignty; QALS is a guest, not gas; public speculation we may not want pre-licensing Phase 0 — prove demand, ship in weeks
B Private fork of iotaledger/iota ("Qalnet") Fork the Apache-licensed Rust node (Sui-lineage: Move VM + EVM + Mysticeti/Starfish DAG consensus + Delegated PoS) Full control of supply, validators, fees, privacy; dual VM; object model is perfect for data/compute/identity objects; we inherit audits & 10 yrs of IOTA/Sui engineering We own all ops; no public token liquidity (fine internally); Rust/Move skill needed Phase 1–2 — the real ask
C Run an ISC chain (wasp) on IOTA/Shimmer L1 Spin up a smart-contract chain anchored to public IOTA L1 security inheritance; Wasm contracts; wasp is open source Confirmed dead end: Shimmer sunsets 30 Sept 2026 (block production stops; LayerZero bridge closed 29 Aug 2026; announced 23 July 2026 — see 01_iota_deep_research/SHIMMER_AND_DATA_TRANSFER.md). ISC is the obsolete pre-Rebased architecture ❌ skip (dead end, now officially confirmed)
D Build from scratch Custom DAG chain Max differentiation Years of work, security risk, no ecosystem ❌ never

Decision: A → B. Start by deploying QALS on public IOTA (Move + EVM) as a live pilot with real tooling; in parallel fork the node into Qalnet and run it across the fleet; bridge Qalnet↔IOTA when the time comes. This mirrors exactly what IOTA itself did when it "rebased" onto Sui's design — we're rebasing onto theirs.


4. What we're forking (verified 2026-09-06)

repos/iota in this project = the live IOTA mainnet client. Key verified facts:


5. Qalnet design

5.1 Genesis parameters (proposal)

Parameter Value Rationale
Chain name qalnet-mainnet (v1: qalnet-dev-1)
Native coin QALS, 9 decimals ("doof"); two classes: B-QALS (AU$1-reserve-backed, mint-on-deposit/burn-on-use — see QALS_BACKING_DESIGN.md) and G-QALS (fixed growth allocation) the AU$1 backing is structural, not promised
Total supply 4,600,000,000 QALS, minted at genesis, no protocol inflation Validator rewards from a dedicated allocation, not % inflation (simplest for accounting/tax)
Consensus Inherited Mysticeti/Starfish, committee = validator set BFT with instant finality; 3f+1 fault tolerance
Validators at launch 4 (superlocal, qalcachyminirig, bb-mini, one cloud VM) 4 validators tolerate 1 Byzantine fault (3f+1=4). Grow to 7 → tolerates 2.
Epoch length 24h key rotation / committee changes daily
Gas fixed low price in QALS; 50% burned, 50% to validators burn keeps ledger tidy; Qal Pass sponsors gas for end users
Storage deposit refundable, small discourages data spam, pays us nothing — good UX
EVM enabled from genesis Solidity tooling, MetaMask support day one
Anchoring every checkpoint, post Qalnet state-root tx on public IOTA mainnet tamper-evidence without running a full L2 bridge; "notarised by IOTA" story

5.2 Supply allocation (4.6B QALS)

Bucket % QALS Vesting/use
Ecosystem & user rewards 25% 1.15B faucet, cashback, compute rewards, community
Treasury (qalarc) 20% 0.92B 4y programmatic; funds Qal Pass gas sponsorship
Team & founders 15% 0.69B 4y linear, 1y cliff
Investors / partners 10% 0.46B 3y linear, 1y cliff
Compute rewards pool 10% 0.46B paid to compute providers over 10y (see 07)
Liquidity & Qalx seeding 10% 0.46B LP positions QALS/qAUD etc.
Validator subsidy 5% 0.23B epoch rewards to The Fleet + future external validators
Airdrop to qalarc app users 5% 0.23B identity-gated (Qal ID) — also our identity pilot

Legal note: QALS starts life as a prepaid service credit (buy QALS → spend on compute/AI services inside qalarc apps). That framing keeps Phase 1 inside "prepaid services" territory rather than "financial product" territory. Any public trading/listing is deliberately deferred until the AUSTRAC/licensing work in 06_bank_exchange/ says it's safe. Not legal advice — take the plan to a fintech lawyer before any public sale.

5.3 The Fleet — validators on hardware we already own

Machine Tailscale IP Role Notes
superlocal (96GB RAM, AMD iGPU) 100.73.134.20 Validator #1 + full node + indexer beefiest box; also runs dev faucet
qalcachyminirig 100.121.212.116 Validator #2 + compute provider GPU node for Qal Compute
bb-mini 100.68.213.66 Validator #3 mini PC — Starfish's lag-tolerance is designed for exactly this
cachyos-x8664 100.111.199.12 Validator #4 (when online) or witness/sync node often offline → prefer a $20/mo cloud VM for #4 and keep this as spare
Cloud VM ×1–3 (Hetzner/AWS syd) public Validator(s) + RPC gateway + explorer geographic spread, public RPC endpoint

Ops notes: validators behind Tailscale for p2p consensus traffic (private, authenticated, NAT-free — the fleet is already a mesh), with a public full-node/RPC gateway in the cloud for apps. Docker-compose per node from the fork's docker/ — the IOTA repo ships single-node/local-network tooling we keep intact for qalnet-dev-1.

5.4 Object model = our data model (why this chain, not an EVM L2)

The object-centric model means every business concept is a first-class on-chain object with an ID, owner, and version history:

// sketches — full module specs in companion docs
public struct DataAnchor has key, store {
    id: UID,                     // object address
    owner: address,              // app or agent DID-controlled address
    content_hash: vector<u8>,    // sha3-256 of payload
    uri: String,                 // where the (possibly encrypted/off-chain) payload lives
    mime: String,                // "application/json", "model/qal-tensor"...
    anchored_at_ms: u64,
    signature: vector<u8>,       // producer's signature over hash (provenance)
}

public struct ComputeJob has key { /* see 07_compute_marketplace */ }
public struct CreditAccount has key { /* see 04_credit_token_platform */ }
public struct AgentCredential has key { /* see 09_identity_ai */ }

Objects can be owned (transfer like an NFT), shared (all apps read/write via consensus), or immutable (data anchors). Deletion refunds the storage deposit — so ephemeral data (job payloads) is cheap, permanent records (invoices, receipts) cost a small deposit forever. This is the "tangle spirit" — pay for data presence, not per-byte compute — reborn in an object ledger.

5.5 Data transfer layer ("the tangle for our data")

End-to-end pattern for app→app data with integrity + confidentiality:

  1. Payload (any bytes) stays off-chain: in Tailscale-hosted object storage (MinIO on the fleet) or on the sending machine.
  2. DataAnchor object goes on Qalnet: hash + URI + mime + producer signature (+ optional recipient). Consumers verify integrity and provenance without trusting the transport.
  3. Streams-style encryption (IOTA Streams is archived — we rebuild the pattern, not the code): per-channel key broadcast via the hub, payload keys derived per recipient; only the anchor is public. (See 01_iota_deep_research/SHIMMER_AND_DATA_TRANSFER.md for the full options analysis.)
  4. Audit Trails product pattern: every anchor into an append-only per-subject trail → compliance-grade history (who saw what, when, signed by whom).
  5. Anchoring to public IOTA: a light relayer posts Qalnet checkpoint roots to IOTA mainnet → our private data ledger inherits public tamper-evidence. This is the modern replacement for IOTA's old "anchoring to Bitcoin" idea, done in-house.

5.6 Trust framework: Hierarchies for humans, agents and devices

We fork the IOTA Hierarchies pattern (their Rust/WASM libs are open source — component map will confirm; if usable directly, we embed them):

Off-chain WASM validation = apps check permissions locally in µs without a chain round-trip; on-chain validation only where money moves. This is exactly how we make AI agents safely hold wallets (see 09).

5.7 Move first, EVM later

5.8 Wallets & UX


6. Build plan (fork execution)

Step 0 — Recon (done): clones in repos/, component map in 01_iota_deep_research/IOTA_COMPONENT_MAP.md.

Step 1 — Local devnet (1–2 weeks): - git clone repos/iota → qalnet ; rename crates/chains (their repo has crates/iota-..., network config, genesis builder). IOTA's own tooling for local multi-node networks is the starting point (docker compose + iota start-style commands — component map documents exact entry points). - Custom genesis: 4.6B QALS to treasury address, validator keys for The Fleet, epoch params, EVM enabled. - Ship: qalnet-dev-1 single node on superlocal, faucet CLI, explorer (fork IOTA's explorer).

Step 2 — The Fleet (2–4 weeks): - Validators on superlocal + minirig + bb-mini + 1 cloud VM; consensus over Tailscale; public RPC via cloud gateway; monitoring (Prometheus/Grafana — IOTA node exports metrics). - Publish qalctl (small CLI wrapping iota CLI with Qalnet config baked in).

Step 3 — Core contracts (4–8 weeks): Move packages: qal_framework (QALS utils), qal_data (DataAnchor + trails), qal_credit (accounts, metering, subscription streams), qal_compute (escrow + jobs), qal_id (DID anchoring + status lists), qal_pass (gas sponsorship rules).

Step 4 — Apps integrate (parallel): dApp-kit in qalarc web properties; hub agents get DID wallets; compute jobs start settling on-chain (they already have the GPU hardware and agents to do this).

Step 5 — Qalx + NFTs (after 04/05/08 docs): AMM → CLOB → aggregator; Doofs NFT drop as first consumer surface.

Step 6 — Public surfaces (when compliance clears): Doofnet public testnet, IOTA-mainnet deployment of QALS as bridged asset, qAUD stablecoin work per 06_bank_exchange/.


7. Risks & mitigations

Risk Severity Mitigation
Fork maintenance (upstream IOTA moves fast) Med Track upstream monthly; Qalnet changes confined to genesis + qal_* Move packages (minimise core edits)
Validator outage (home machines on residential net) Med Starfish lag-tolerance by design; cloud validators in committee; alerts to Signal via the hub
Security bug in inherited code Med We inherit Sui/IOTA audits; still: pen-test before real value moves; bug bounty in QALS
Regulatory (token = financial product?) High Phase as prepaid credit; no public sale/listing until AUSTRAC path cleared (06_bank_exchange/)
Key management for agents High Stronghold + per-agent caps via Hierarchies credentials + revocation drills
Move/Rust expertise ramp Med The ecosystem's docs/workshops are excellent; start with small packages; keep EVM fallback
IOTA itself fails / abandons repo Low-Med It's Apache-2.0 and Sui-lineage — worst case we track MystenLabs/sui directly; our investment is portable

8. What "Qals" inherits from IOTA vs what we drop

IOTA concept Qals decision
Feeless public DAG (old Tangle) Drop as public tokenomics; keep the spirit via Qal Pass sponsorship in our owned network
Coordinator (central milestone issuer, pre-2025) Never — we inherit real BFT consensus (Mysticeti/Starfish)
Ternary (Curl/trytes, 2015–2021) Honour in branding only ("trit" joke unit); binary everywhere (see 02_ternary_systems/)
Move + object model + EVM (Rebased era) Inherit wholesale — it's the fork
Gas Station, Identity, Hierarchies, Notarization, Audit Trails Inherit + rebrand as Qal Pass / Qal ID / Qal Trust / Qal Notary / Qal Trails
Public Delegated PoS with external validators Start private (The Fleet), open validator set only if/when QALS goes public
Anchoring (old: to Bitcoin; new: Qalnet → IOTA) Adopt — cheap tamper-evidence

9. Immediate next actions (this week)

  1. ✅ Research corpus cloned (repos/, 16 repos, ~550MB) + org metadata in data/.
  2. Read 01_iota_deep_research/IOTA_COMPONENT_MAP.md → confirm license + private-network tooling entry points.
  3. qalnet fork repo init on GitHub (private), CI from upstream.
  4. Stand up qalnet-dev-1 single-node on superlocal (docker).
  5. Write qal_data::DataAnchor Move package + anchor the first real payload from the agent hub.
  6. Decision memo: QALS-on-public-IOTA pilot (Phase 0) — yes/no.

Companion documents: 01 (IOTA research), 02 (ternary), 04 (credit platform), 05 (Qalx DeFi), 06 (bank/exchange), 07 (compute), 08 (NFTs), 09 (identity/AI), 10 (roadmap).