Zcash Viewing Keys Explained: How to Share Shielded Transactions Without Losing Privacy
Viewing keys are how shielded Zcash meets the real world. This guide covers what a viewing key is, when you'd actually share one, how to generate it from Zodl, and the mistakes that can turn a privacy tool into a liability.
- A viewing key gives someone read-only access to your shielded transactions
- It cannot spend your coins. Only your seed phrase or spending key can do that
- Share one with a tax preparer, auditor, or across your own devices
- Viewing keys cannot be revoked once shared. Treat the decision as permanent
The short answer
A viewing key is a read-only credential from your Zcash wallet. It lets a specific person see your shielded transactions without being able to spend them. You use it when a tax preparer, auditor, or regulator needs to verify your transaction history. Sharing a viewing key cannot lose you coins. Only sharing your spending key (also called a seed phrase or recovery phrase) can do that. Viewing keys exist so that shielded Zcash can meet real-world compliance requirements without sacrificing privacy at the blockchain level.
What a viewing key actually is
Every Zcash wallet holds two kinds of credentials. The spending key controls your coins. Anyone who has it can move your ZEC to their own address. This is the key your 24-word recovery phrase ultimately derives. You protect it like you would protect access to a bank account.
The viewing key is different. It is a separate credential, derived from the same wallet, that grants read-only access to your shielded transaction history. A person holding your viewing key can see every shielded transaction you have ever made: sender, recipient, amount, and memo. They cannot sign transactions, move coins, or change anything. They can only watch.
The analogy that fits best is a bank statement versus a signed check. A bank statement shows everything about your account history but grants no spending power. A signed blank check grants spending power. Viewing keys are statements; spending keys are checks. Zcash builds both into the protocol by design because shielded transactions would otherwise be impossible to audit, tax, or verify in any real-world context.
Most modern Zcash wallets generate a single unified viewing key that covers all your shielded activity. You do not need to understand the technical subtypes (incoming, full, unified full) to use viewing keys effectively. The wallet handles that complexity for you.
| Attribute | Spending key | Viewing key |
|---|---|---|
| What it does | Moves your coins | Shows your transactions |
| Who should have it | Only you | You, plus people you explicitly share with |
| Can it spend coins | Yes | No |
| Can it be revoked | Never share it | No, once shared it is permanent |
| Typical form | 24-word seed phrase | Long string starting with uview1 |
| If compromised | You lose your coins | Your transaction history becomes visible |
When to share a viewing key
Four scenarios cover almost every reason a normal user would share a viewing key.
Tax preparation. Your CPA needs to know what transactions you made to calculate capital gains, income, and any relevant tax obligations. For transparent ZEC, they can see everything on a public block explorer. For shielded ZEC, they cannot. A viewing key solves this. Share it with your tax preparer, they import it into their software, and they get the full transaction history for the year. Tools like CoinLedger accept viewing keys directly and calculate your gains and losses automatically. Use code CRYPTOTAX10 for 10 percent off your first year. (Affiliate link; we earn a small commission at no cost to you.)
Regulatory audit. The IRS, HMRC, ATO, or another tax authority requests records of your crypto activity. Providing a viewing key satisfies their audit requirement without giving them any control over your funds. Most jurisdictions that have addressed the question treat viewing keys as equivalent to bank statements for evidentiary purposes. See our privacy coin legality guide for jurisdiction-by-jurisdiction detail.
Personal accounting across devices. You want to track your wealth on a second device (say, a laptop for portfolio tracking) without putting your spending key on that device. Import the viewing key on the laptop. You can see balances and transactions but cannot accidentally spend funds from the weaker security environment.
Business accounting. A company holding ZEC on its balance sheet (like the corporate treasuries we track on zkonomics) needs to share transaction data with accountants and auditors. Viewing keys let the finance team and external auditors do their job without any operational security risk to the wallet itself. The spending keys stay in cold storage; the viewing keys go to the accounting team.
When NOT to share a viewing key
Viewing keys are safer than spending keys, but they are not risk-free. Treat them like financial records that cannot be retracted once sent.
Given that, do not share a viewing key with:
Counterparties who claim to require it. If a person, service, or merchant says they need your viewing key to transact with you, something is wrong. Normal payments do not require the sender's viewing key. This is often a phishing pattern designed to surveil your wallet.
Journalists, researchers, or analysts unless you are knowingly participating in a study and comfortable with your full shielded history becoming part of their dataset.
Anyone you would not share a bank statement with. The mental model is correct: a viewing key gives someone the equivalent of a complete account statement for your shielded address. Share accordingly.
How to generate and share a viewing key
The process varies slightly by wallet. We document the flow for Zodl (formerly Zashi), the most common shielded Zcash wallet, below. Other wallets follow similar patterns; consult your wallet's documentation if you use something else.
-
Open your wallet settings
In Zodl, tap the gear icon to open Settings. Navigate to Advanced. You will see an option labeled "Export viewing key" or similar. Different wallet versions may phrase this as "Share wallet" or "Read-only access."
-
Confirm your identity
The wallet will ask you to authenticate, usually with your device's biometric (FaceID, fingerprint) or a PIN you set during wallet setup. This is to prevent someone with physical access to your phone from exporting a viewing key without your knowledge.
-
Copy the viewing key
The wallet displays a long string of letters and numbers starting with
uview1or similar. This is the unified viewing key for your wallet. Copy it to your clipboard or scan the QR code if you are sharing in person. -
Share securely
Send the viewing key through an encrypted channel. Signal, encrypted email, or a password-protected file are all acceptable. Do not paste a viewing key into an unencrypted email, a public forum, a chat app with poor encryption (SMS, unsecured iMessage), or any web form you do not fully trust. A compromised viewing key reveals your entire shielded history to anyone who intercepts it.
-
Confirm import on the recipient's side
The recipient imports the viewing key into their tool of choice. A tax preparer will typically use CoinLedger, Koinly, or a similar crypto tax service that supports Zcash viewing keys. An auditor may use their own software. If they are using a wallet app to check transactions, they need one that supports read-only viewing key import (not every wallet does). Ask them to confirm they received and imported it successfully.
Cake Wallet follows a similar flow (Settings, Security, Export viewing key). Desktop wallets like Ywallet and Nighthawk have export options in their settings menus as well, though the exact path varies by version. For the command-line zcashd, the relevant command is z_exportviewingkey. Technical users can consult the Zcash RPC documentation for the current syntax.
Common mistakes to avoid
uview1. A seed phrase is 24 separate words. They are not interchangeable.
The short version, again
A viewing key is how shielded Zcash interacts with the real world. It lets you keep privacy on the blockchain while still meeting the legitimate needs of tax authorities, auditors, and your own accounting. Share it when you have a reason. Do not share it casually. Send it only through encrypted channels. Understand that it cannot be revoked. And never confuse it with your spending key or seed phrase, which are a completely different credential with a completely different risk profile.
For a broader view of when to use shielded versus transparent Zcash in the first place, see our shielded vs transparent guide. For jurisdiction-specific rules on how tax authorities treat viewing-key disclosure, see our legality guide.
Common questions
Is sharing a viewing key safe?
Safer than sharing a spending key or seed phrase, because a viewing key cannot move your coins. But a viewing key reveals your complete shielded transaction history to whoever holds it, permanently. Treat it like a financial record, not a password.
Can I revoke a viewing key after sharing it?
No. Once shared, the recipient has permanent read access. The only way to cut off access is to generate a new wallet and move your funds. Historical transactions in the original wallet remain visible to whoever has the viewing key.
What's the difference between a viewing key and a seed phrase?
A seed phrase (usually 24 words) generates your spending key and grants full control of your funds. Anyone with it can move your coins. A viewing key is a single long string of letters and numbers, usually starting with 'uview1', that only grants read access. They are not interchangeable. Never confuse them when someone asks for a 'key' from your wallet.
Does Monero have viewing keys too?
Yes. Monero has private view keys that serve a similar function: they let a designated person see incoming transactions to your wallet without giving them spending ability. The concept is similar, though the cryptography and workflow differ. For Monero tax prep, most crypto tax tools also accept Monero view keys.