Zafu is a privacy-first browser wallet built on Penumbra and Zcash. Viewing keys live on your device, notes decrypt locally, and transactions are built locally — the only thing that leaves your machine is a signed transaction to a chain RPC you can host yourself.
Most wallets ask you to trust their servers. Zafu removes them.
There is no Zafu backend holding your keys, indexing your balances, or watching your addresses. Your viewing keys stay on device. Notes are decrypted locally. Transactions are constructed locally and only broadcast to the chain RPC endpoints you point Zafu at — including your own self-hosted Zidecar or pd node. Nothing about your activity is ever brokered through us, because there is no us in the path.
Viewing keys never leave the browser. Spending stays under your control.
Your balance is computed on your machine, from chain data, not from our servers.
Point Zafu at public endpoints or run your own. Either way, no custodial middleman.
Penumbra and Zcash are the product. Other networks exist only as bridging infrastructure — not as a chain-count trophy.
Shielded transfers, swaps, staking, delegated voting, and IBC — all inside a single private account. Amounts, balances, and counterparties stay encrypted end to end.
Send and receive with Orchard shielded addresses, hold transparent t-addr balances when you need them, and shield-to-Orchard in one step. Real Zcash privacy, not a wrapped approximation.
Threshold t-of-n multisig on both chains, with QR-based distributed key generation and signing. No single device holds the whole key, and no coordinator server sees your shares.
Run Zafu in viewing-key-only mode and pair it with Zigner, an air-gapped cold signer on a dedicated phone. Spending keys never touch the browser; signing happens over a QR-only channel.
No custodial backend, no cloud sync, no account. Keys, note decryption, and transaction building all happen on your device against RPCs you choose or host.
Zafu is the wallet behind zk.poker, heads-up Zcash poker settled through FROST escrow. Same shielded rails, running real stakes in production.
Hot browser for viewing. Cold phone for signing. QR between them.
In viewing-key-only mode, Zafu watches balances and constructs transactions without ever holding a spending key. Signing moves to Zigner, an air-gapped signer on a dedicated phone with no network connection. Zafu shows a QR, Zigner signs it offline, and you scan the result back. The spending key never crosses a wire, a Bluetooth pairing, or a browser — only photons.
FROST t-of-n on Penumbra and Zcash, keyed and signed over QR.
Distribute a key across several devices so no one of them can spend alone. Zafu runs distributed key generation and threshold signing with FROST, coordinated entirely over QR codes — there is no signing server to compromise and no share ever leaves its device in the clear. Set your threshold, generate shares, and require quorum to move funds on either shielded chain.
The Chrome Web Store listing is still catching up, so the current recommended path is a direct install from GitHub.
.zip — this is what Load unpacked needs:
zafu-beta .zip
zafu-prod .zip
chrome://extensions and turn on Developer mode (top-right toggle).Chrome only installs .zip builds via Load unpacked — .crx files are blocked outside the Web Store and are there for policy-managed installs only. A Web Store listing exists but currently trails the GitHub release; when it's caught up, one-click install will land here. Until then, the code you run is the code you can read.
zk.poker runs heads-up Zcash poker with FROST-escrowed pots — built on the same shielded transfers and threshold signing Zafu ships. It's proof the privacy rails work under adversarial, real-money conditions, not just on a testnet.
The full wallet is public at github.com/rotkonetworks/zafu. Read it, build it, verify the release you run matches the source.
Run your own Zidecar or pd node and Zafu talks only to you. No dependency on our infrastructure to use your own money.
We tell you exactly where trust lives: on your device, in your RPC choice, and in the math. No custodial backend means no backend to breach.
Some tradeoffs are load-bearing. If these are dealbreakers, another wallet will serve you better:
If you want genuine shielded privacy and self-custody, and you'll run your own node to get it — Zafu was built for you.
Shielded Penumbra and Zcash, self-custodial, on your device.