QALS · payments · presentation demo

Demo Wallets (BTC/ETH)

A watermarked, interactive demo of the future BTC/ETH top-up rail — the presentation layer only. No private keys exist on this page, no chain is contacted, and no funds can move. The real rail is pre-launch; read the policy in Paying with Bitcoin.

DEMO

Everything below is simulated: addresses are visibly fake DEMO-… strings, balances are static numbers, the rate is a frozen fake constant, and payments are a button you press yourself. Nothing here touches the real rail, and no real dollars have ever moved (ground truth F21).

Demo wallet cards

Deterministically generated from documented fixed seed strings (in the page source) — they never change across reloads. The patterns mimic bech32 / hex shapes for familiarity; they are not valid network addresses and cannot hold anything, anywhere.

Bitcoin — demo

demo
demo balance (static)
0.00420690demo-BTC
demo address · bech32 pattern
demo address · legacy m… pattern
no key material

Pattern only: hashed from the fixed seed qals-demo-btc-2026-09-12 (+ …-m- for the legacy row). No checksum, no network, no private key — the QR encodes the fake text itself, so scanning it can only ever show DEMO-….

Ethereum — demo

demo
demo balance (static)
0.13133700demo-ETH
demo address · hex pattern
no key material

Pattern only: hashed from the fixed seed qals-demo-eth-2026-09-12. Not checksummed (EIP-55), not on any chain, no private key. QR holds the fake text, prefix included.

Demo top-up flow — what the rail will feel like

Per the approved design: invoice denominated in AUD, rate locked at invoice time plus a disclosed spread, 15-minute expiry, detection at 0-conf, credit at 1-conf (2-conf above the stated threshold), and an anchored receipt at the end. Here, all of it is a simulation inside this page.

1 · Choose & size it

Demo caps (mirroring “caps start small”): per-invoice AU$500 · demo-daily AU$2,000. The real rail enforces caps in the payment bridge, not just the invoice layer.

demo

2–4 · Invoice → simulate → credited → receipt

Pick a coin and an amount, then press Generate demo invoice. Nothing leaves this page — ever.

Demo invoice — BTC

15:00
You top up
Value (1 Qal = AU$1)
Demo rate demo rate — frozen fake, not a market feed
Spread (disclosed)
You pay (demo)
Demo invoice address
The QR encodes fake demo text (address + amount), so no real wallet can send anything to it. On the real rail this is a BTCPay invoice QR — self-hosted, from a watch-only xpub.
  1. Invoice issued (rate locked, 15:00 running)
  2. Payment seen at 0-conf (demo: you press the button)
  3. Confirmed & credited
  4. Receipt anchored (demo)
+0.000 Qals
credited to your demo session balance

Anchored receipt (demo)

demo tx
Demo BTC/ETH txid (fake)
Qalnet anchor (demo)
Credited
Paid (demo)
Rate / spread
Issued / anchored

On the real rail, every receipt is anchored on-chain and records the BTC transaction id — the audit trail links payment to credit forever (policy step 4). This one anchors nothing; it is a picture of the future.

The five policy statements

These are the policy, verbatim, from Paying with Bitcoin. The service is built to enforce them, and when the rail is live they are also served by its policy endpoint.

  1. BTC payments are a convenience. We do not guarantee 100% uptime of BTC transfer capabilities.
  2. QALS is not a Bitcoin transfer service. Do not use QALS to move BTC. BTC in is only for buying credit; BTC out is only for refunds of failed purchases.
  3. Refunds are paid at the AUD value of the failed purchase, converted to BTC at the time of refund at the then-current rate minus our spread. If BTC's price changed since purchase, the BTC amount you receive may be lower than what you paid in.
  4. Chain fees come out of the spread/refund, disclosed before you confirm the refund.
  5. Daily BTC refund caps may delay refunds; we'll always communicate status (anchored receipts each step).

Quoted verbatim — content/btc.md, 2026-09-12. Refunds exist for failed purchases only; this is not a cash-out rail (fees).

What the real implementation uses

From the founder-approved rail design (Part 4). Honest and clearly future: none of this is live — this page is the preview, not the product.

coming with the rail

BTCPay Server, self-hosted

Invoices and payment detection run on infrastructure we own — not a third-party processor, no external custody.

coming with the rail

Watch-only xpub

The invoice layer sees inbound payments but holds no key material. There is nothing to steal from it.

coming with the rail

Rate oracle — median of 3

The invoice rate is a median of multiple sources locked at invoice time, so no single feed can skew it. (The demo uses one frozen fake number instead — badged as such.)

coming with the rail

Disclosed 1.5–2% spread

Stated on the invoice before you confirm. Chain fees come out of the spread (policy #4). The demo shows the 1.5% floor.

coming with the rail

Refunds = failed purchases only

The job never ran, the unlock never opened, the top-up errored — checked against the anchored receipt, 14-day window, AUD value guaranteed. Never a cash-out rail.

coming with the rail

Cold sweeps + intake caps

Per-invoice and daily BTC intake caps, starting small, enforced in the payment bridge — with periodic sweeps of the operational float to cold storage.