Private by default
Every payment is a shielded Zcash transaction. The blockchain records that something happened, not who paid whom or how much.
Payment links, invoices, a point of sale and payroll, all on shielded Zcash. Clients pay from any Zcash wallet, and the money lands in a balance only you can see. Your wallet runs in your browser, so Zua never sees who paid you or how much.
3.57 ZEC
Decrypted in this browser, never on a server
Get paid to one wallet and anyone can look up how much you earn, who your clients are, and when they pay. Zua keeps that between you and your client.
| Block | From | To | Amount | Memo |
|---|---|---|---|---|
| 3,141,592 | t1Yb8…qP3 | t1Kop…9sN | 0.80 ZEC | no memo |
| 3,141,640 | t1Mn2…7Lw | t1Kop…9sN | 0.35 ZEC | no memo |
| 3,141,711 | t1Yb8…qP3 | t1Kop…9sN | 1.20 ZEC | no memo |
| 3,141,756 | t1Rc4…a9D | t1Kop…9sN | 0.02 ZEC | no memo |
| 3,141,802 | t1Gh7…m2K | t1Kop…9sN | 0.12 ZEC | no memo |
| Total received | 2.49 ZEC | |||
Every payment is a shielded Zcash transaction. The blockchain records that something happened, not who paid whom or how much.
Hand your accountant a signed receipt, proof of payment or income statement. Anyone can check it on /verify against the chain, without seeing the rest of your history.
Your Zcash wallet is rebuilt in the browser on each device, from your passkey or a 6-digit PIN. No seed phrase to write down. With a PIN, we keep only an encrypted copy of your key that your PIN unlocks.
Payment links and invoices use the standard Zcash payment-request format, so clients pay with Zodl or any wallet they already have.
A public page for your @username, plus one per product or service. Each shows a ZIP-321 QR code that any shielded Zcash wallet can pay. Payers don't need a Zua account.
Brand audit
0.35 ZEC
One-hour review of your brand kit.
Address signed by @dinar, fresh for this link. Any shielded Zcash wallet can pay it.
No seed phrase, no new wallet for every client, no server watching your payments. A link you share and a balance only you can see.
Claim your username
This becomes your payment link.
Available
Claim @dinar| Who | Amount | Who paid | Memo | Your other payments | Your balance |
|---|---|---|---|---|---|
| Can't see | Can't see | Can't see | Can't see | Can't see | |
| Partly | Can't see | Can't see | Can't see | Can't see | |
| Knows | Knows | Knows | Can't see | Can't see | |
| Knows | Partly | Knows | Knows | Knows | |
| Partly | Can't see | Partly | Can't see | Can't see |
Zua's server
Stores your username, public addresses, and the invoices, links and checkouts you create, so it knows what you asked for. It learns one is paid only when your wallet reports it, never the transaction that paid it. It holds no viewing key, so it can't scan the chain for you.
If your invoices land on a public blockchain, so does your business. Zua gives you crypto payments without turning your income into public data.
Invoice clients abroad in USD or ZEC. The invoice turns paid by itself, and the receipt is ready for your accountant.
Put your @username page in your bio and a tip button on your site. Fans pay from any Zcash wallet.
Ring up a sale in your own currency on a phone or tablet, turn it to the customer, and watch it turn paid.
One invoice per client, each paying its own address. No client can look up who else you work for.
Pay up to 50 people in one shielded transaction from a CSV. Each person sees only their own line.
Create a checkout per order from your server and get a signed webhook when it's paid.
How “paid” is known. Zua’s server can’t see shielded payments. A checkout turns paid when your Zua wallet, open in a tab on a shop PC or phone, finds the payment and reports it. Then the webhook fires.
# From your server, once per ordercurl https://YOUR-ZUA/api/v1/checkouts \ -H "Authorization: Bearer zua_sk_…" \ -H "Content-Type: application/json" \ -d '{ "amount": "25.00", "currency": "USD", "reference": "order_1042", "description": "Coffee x2" }'Our fork of WebZjs compiles librustzcash to WebAssembly: NU6.3 on mainnet, NU7 on testnet. It syncs compact blocks from lightwalletd and decrypts your notes in the browser.
Your browser builds the zero-knowledge proof for every payment you send, on several threads where the page allows it. Halo 2 needs no trusted setup.
Read the spec for Orchard · Halo 2Your key comes from a passkey, or is random and kept encrypted under your PIN with Argon2id and AES-GCM. The synced wallet is cached in IndexedDB, also encrypted.
Links, invoices, checkouts and sales are zcash: URIs and QR codes with the amount and memo filled in, so any shielded Zcash wallet can pay them.
Read the spec for ZIP-321Unified addresses with their own diversifier. Each invoice, link and checkout gets one, and no one can tell they lead to the same wallet.
Read the spec for ZIP-3160.0001 ZEC for a simple payment, a little more for each extra recipient in a payroll. The exact fee shows before you confirm.
Read the spec for ZIP-317A receipt discloses only the payments it lists. /verify decrypts those outputs from the chain and checks the signature against the signer's profile.
Your @username and every address you receive at are signed by a key only your browser can derive. Payers check it before they see a QR.
Payment requests between Zua users are encrypted to the recipient's key. The server stores ciphertext it can't open.
Privacy should feel practical, not mysterious. These come up first.
Shielded ZEC payment links, invoices and checkout. Claim your @username in under a minute.