Skip to main content
Zua

Get paid in ZEC.
Keep your income private.

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.

See how it works
@dinar · your wallet
Whose view
Shielded balance

3.57 ZEC

  • Tip“Loved the poster series” · just now+0.02
  • Payment link“Brand audit” · 2 min ago+0.35
  • Invoice INV-0042 paid“Logo design” · 4 min ago+0.8

Decrypted in this browser, never on a server

Proofs built on your device
Halo 2
Phrases to write down
0 seed
Per invoice, link and checkout
1 address
Self-custodial
100%

Public wallets were never designed for business.

Public wallets were never designed for business.

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.

Privacy, shown

Same five payments. Three ways to look at them.

A payment address is a public record on most blockchains. Switch the view to see what a stranger, the Zcash network and you can each learn from one week of income.
Five payments as seen from: Transparent chain
BlockFromToAmountMemo
3,141,592t1Yb8…qP3t1Kop…9sN0.80 ZECno memo
3,141,640t1Mn2…7Lwt1Kop…9sN0.35 ZECno memo
3,141,711t1Yb8…qP3t1Kop…9sN1.20 ZECno memo
3,141,756t1Rc4…a9Dt1Kop…9sN0.02 ZECno memo
3,141,802t1Gh7…m2Kt1Kop…9sN0.12 ZECno memo
Total received2.49 ZEC

Why Zua

Private by default

Every payment is a shielded Zcash transaction. The blockchain records that something happened, not who paid whom or how much.

Provable when it matters

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 passkey or PIN is the key

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.

Works with any Zcash wallet

Payment links and invoices use the standard Zcash payment-request format, so clients pay with Zodl or any wallet they already have.

Product

Everything you need to take ZEC privately

Get paid, pay people and prove it, from one account. Pick a tool: each demo below runs in your browser and works like the real thing.
Get paid · Payment links

A link for your @username and for everything you sell

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.

  • Fixed price, or let the payer choose the amount
  • A one-line “Pay with Zcash” button for your own site
  • Every link pays its own address, signed by you
Stays private
Two payers can't tell they paid the same person.
zua/pay/dinar/brand-audit
@dinar Verified
Price

Brand audit

0.35 ZEC

One-hour review of your brand kit.

Open in wallet

Address signed by @dinar, fresh for this link. Any shielded Zcash wallet can pay it.

How it works

From sign-up to a private balance in four steps

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.

zua

Claim your username

This becomes your payment link.

zua/pay/dinar

Available

Claim @dinar
Keys derived from your passkey or PIN
Who learns what

No one sees the whole picture. Including us.

Privacy is only as good as its weakest observer. Here is what each party can learn about a payment to you. Pick a row for the details.
What each party can learn about a payment made to you
WhoAmountWho paidMemoYour other paymentsYour balance
Can't seeCan't seeCan't seeCan't seeCan't see
PartlyCan't seeCan't seeCan't seeCan't see
KnowsKnowsKnowsCan't seeCan't see
KnowsPartlyKnowsKnowsKnows
PartlyCan't seePartlyCan't seeCan'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.

What it costs

No Zua fee. Only the Zcash network fee.

You receive the full amount. The payer’s wallet pays a small network fee set by ZIP-317. Type a price to see it in ZEC at today’s rate.

Live rates are unavailable right now. Pick ZEC to price directly.

Customer pays
—Plus the network fee, from their own wallet.
You receive
—All of it, straight into your shielded balance.
Network fee
0.0001 ZECthe ZIP-317 minimum for a simple payment, paid by the sender
Zua fee
0Zua adds no fee of its own to payments.
Who it’s for

Built for people who get paid online

If your invoices land on a public blockchain, so does your business. Zua gives you crypto payments without turning your income into public data.

  • Freelancers

    Invoice clients abroad in USD or ZEC. The invoice turns paid by itself, and the receipt is ready for your accountant.

    • Invoices
    • Recurring
    • Receipts
    Stays private
    Your rates
  • Creators

    Put your @username page in your bio and a tip button on your site. Fans pay from any Zcash wallet.

    • @username page
    • Widget
    Stays private
    Your revenue
  • Cafés & shops

    Ring up a sale in your own currency on a phone or tablet, turn it to the customer, and watch it turn paid.

    • Point of sale
    • CSV export
    Stays private
    Your daily takings
  • Agencies

    One invoice per client, each paying its own address. No client can look up who else you work for.

    • Invoices
    • Payment links
    Stays private
    Your client list
  • Remote teams

    Pay up to 50 people in one shielded transaction from a CSV. Each person sees only their own line.

    • Payroll
    • Claim links
    Stays private
    Everyone's salary
  • Online stores

    Create a checkout per order from your server and get a signed webhook when it's paid.

    • Checkout API
    • Webhooks
    Stays private
    Your sales volume
Developers

Shielded checkout for your own store

A one-line widget for tips and simple products, or a Checkout API with signed webhooks for shops. Payments go straight from the buyer’s wallet to an address you signed.
  • API keys from your dashboard, sent as a Bearer token from your server
  • Price in ZEC or USD; USD locks its rate for 30 minutes once the buyer opens it
  • Each checkout gets its own unlinkable address, from a pool your wallet signs ahead
  • Webhooks signed with HMAC-SHA256 and retried twice; the last 20 deliveries are logged

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.

See the widget demo
# 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"  }'
Under the hood

Built on Zcash, not around it

No custody, no mixer, no private ledger. Zua is a Zcash wallet in your browser plus the standards that make it work with every other wallet.
Highlight a layer
  • WebZjs · WASMOn your device

    A full wallet in the page

    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.

  • Orchard · Halo 2On your device

    Proofs built on your device

    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 2
  • Passkey PRF · PINOn your device

    Keys that stay in the page

    Your 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.

  • ZIP-321Zcash standard

    Payment requests any wallet reads

    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-321
  • ZIP-316Zcash standard

    A fresh address for every invoice

    Unified 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-316
  • ZIP-317Zcash standard

    Fees you see before you send

    0.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-317
  • Payment disclosureTrust & proof

    Receipts the chain can check

    A receipt discloses only the payments it lists. /verify decrypts those outputs from the chain and checks the signature against the signer's profile.

  • Ed25519Trust & proof

    Usernames the server can't forge

    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.

  • X25519 · AES-GCMTrust & proof

    Requests sealed end to end

    Payment requests between Zua users are encrypted to the recipient's key. The server stores ciphertext it can't open.

FAQ

Questions, answered

Privacy should feel practical, not mysterious. These come up first.

Filter questions by topic

Zua

Shielded ZEC payment links, invoices and checkout. Claim your @username in under a minute.

  • No Zua fee
  • No seed phrase
  • Any Zcash wallet can pay
Verify a receipt