In privacy-centric cryptocurrencies like Monero and Zcash, a view key is a critical component of a user's wallet. It is a public/private key pair, where the public view key is used to encrypt transaction data on the blockchain, and the corresponding private view key is used to decrypt it. This mechanism allows the network to maintain transaction confidentiality while still enabling individual users to audit their own funds. The view key is separate from the spending key, which authorizes the creation of new transactions, ensuring a separation of duties for enhanced security.
View Key
What is a View Key?
A view key is a cryptographic key in privacy-focused blockchains that allows a user to decrypt and view the details of their own transactions without revealing their private spending key.
The primary function of the private view key is to enable transaction scanning. A wallet uses this key to scan the entire blockchain, decrypting only the transaction outputs (the funds) that belong to the user. This process is how a user's balance is calculated without revealing any information to the network. For auditing or accounting purposes, a user can also share their view-only wallet credentials (the public address and private view key) with a trusted third party, allowing them to see incoming transactions but not spend the funds.
View keys are fundamental to the selective transparency model. They allow users to prove receipt of payments for compliance (payment proofs) or share transaction histories with auditors without compromising the security of their spending authority. In protocols like Zcash's Sapling, the view key is derived alongside the spending key from a single seed. This design ensures that from a backup perspective, a single seed phrase can recover both the ability to view and to spend, while operationally, the keys serve distinct and isolated purposes.
How a View Key Works
A view key is a cryptographic key in privacy-focused blockchains that allows a user to selectively reveal and audit their private transaction data without compromising their ability to spend funds.
A view key is a cryptographic component, typically derived from a user's private spending key, that grants read-only access to transaction details on a privacy-preserving blockchain. In protocols like Zcash or Monero, transactions are encrypted and shielded by default. The view key acts as a decryption key for a specific user's data, allowing them—or anyone they share the key with—to scan the blockchain and see the amounts, senders, and recipients of transactions associated with their addresses, while keeping this information hidden from all other network participants.
The mechanism relies on asymmetric cryptography. When a transaction is created for a shielded address, its data is encrypted to a public view key. Only the corresponding private view key holder can decrypt it. This enables crucial functionalities like auditing for tax purposes, providing transaction proof to a third party, or allowing a wallet to synchronize and display an accurate balance without exposing the user's full private key. It is a fundamental tool for achieving selective transparency, balancing privacy with necessary accountability.
There are typically two types: a full view key and a restricted view key (or payment disclosure key). A full view key allows viewing all incoming transactions. A restricted view key might only decrypt the details of a single, specific transaction, which is useful for providing a one-time proof of payment. Importantly, possessing a view key does not grant the ability to spend funds; that requires a separate spending key. This separation of viewing and spending authority is a core security and privacy design pattern.
In practice, a user might share their view key with an accountant for financial auditing or with a counterparty to verify a specific payment without revealing their entire transaction history. Wallets use the private view key locally to scan the blockchain and construct the user's transaction history. This design addresses a major limitation of fully opaque privacy systems by providing a user-controlled mechanism for transparency, making privacy-preserving cryptocurrencies more practical for real-world compliance and verification scenarios.
Key Features
A View Key is a cryptographic credential that grants read-only access to specific on-chain data, enabling secure and private data queries without exposing private keys.
Read-Only Access
A View Key provides selective disclosure, allowing third parties to query a user's encrypted on-chain data without the ability to sign transactions or spend funds. This is a core privacy feature in protocols like Monero and Aztec.
Derived from Private Key
The View Key is cryptographically derived from a user's master private key using a one-way function. This ensures it can be generated when needed but cannot be reversed to reveal the original spending key.
Audit & Compliance
Enables use cases requiring transparency without sacrificing full privacy:
- Tax reporting: Share transaction history with an accountant.
- Regulatory proof: Demonstrate fund provenance to an auditor.
- Credit underwriting: Verify asset holdings for a loan.
Contrast with Spend Key
In a dual-key privacy system:
- View Key: Grants permission to see transaction details and balances.
- Spend Key: Grants permission to authorize transactions (sign). Separation of these functions is fundamental to confidential transactions.
Implementation in ZK-Rollups
In ZK-rollups like Aztec, a View Key allows users to decrypt their private state from publicly posted zero-knowledge proofs. This enables private smart contract interactions where state is hidden from the public but accessible to the user and designated viewers.
Related Concept: Payment Proofs
A payment proof is a specific, shareable piece of data cryptographically linked to a transaction. It is often generated using a View Key to prove a payment was sent or received to a specific party without revealing the sender's entire history.
Ecosystem Usage
A View Key is a cryptographic key that allows read-only access to private transaction data on privacy-focused blockchains. It enables selective transparency for auditing and compliance without compromising the full privacy of a user's wallet.
Core Function: Selective Transparency
The View Key grants a third party the ability to view the details of incoming and outgoing transactions for a specific shielded address. This is essential for:
- Regulatory Compliance: Exchanges or auditors can verify transaction history.
- Proof of Funds: Users can prove ownership and balance without revealing their private spend key.
- Accounting: Businesses can maintain transparent records for internal or tax purposes.
Technical Mechanism
In protocols like Zcash and Monero, a View Key is derived from the wallet's private key material but is cryptographically separate from the Spend Key. It works by:
- Decrypting Memo Fields: Unlocks encrypted payment information attached to transactions.
- Scanning the Blockchain: Allows a wallet (or designated viewer) to scan the chain for transactions belonging to the associated address, which appear as random data to everyone else.
- Asymmetric Design: Possession of the View Key does not allow spending funds or viewing the transactions of other users.
Primary Use Case: Exchange Compliance
Cryptocurrency exchanges dealing with privacy coins often require users to disclose their View Key. This enables the exchange to:
- Perform AML/KYC Checks: Monitor the source and destination of funds deposited from a shielded address.
- Track Transaction History: Ensure funds are not from illicit activities before allowing trading or withdrawal.
- Maintain Audit Trails: Provide a verifiable record for financial regulators without forcing the user to forfeit all privacy.
Distinction from Full Access
It is critical to understand what a View Key cannot do:
- Cannot Spend Funds: It is not a signing key. The Spend Key is required to authorize transactions.
- Cannot View Other Wallets: Access is scoped solely to the transactions of the specific address it's derived from.
- Optional Sharing: Users generate and control their View Key; privacy is opt-in, and transparency is user-granted.
Implementation Example: Zcash (z-addrs)
Zcash's shielded addresses (z-addrs) utilize the zk-SNARK protocol. Each z-address has associated keys:
- Spending Key: Authorizes payments.
- Full Viewing Key: Contains the View Key and a separate key to derive all payment addresses for that wallet.
- Users can share just the View Key component for auditing, or the Full Viewing Key for more comprehensive access. This design is foundational for building compliant private DeFi applications.
Related Concept: Payment Disclosure
A more granular tool is a Payment Disclosure, which proves a single specific transaction without revealing an entire history. It acts as a one-time View Key, providing:
- Targeted Proof: Evidence of a payment's amount, sender, and receiver.
- Lower Privacy Footprint: Minimizes exposed data compared to sharing a persistent View Key.
- Use in Commerce: Useful for providing a receipt or proof of purchase in a private transaction.
View Key vs. Other Keys
A functional comparison of View Keys with other common cryptographic keys in privacy-focused blockchain protocols.
| Feature / Property | View Key | Spend Key | Full Node Key |
|---|---|---|---|
Primary Function | Read-only transaction scanning | Authorize fund transfers | Validate blocks & consensus |
Access to Transaction Details | |||
Authority to Spend Funds | |||
Visibility into Sender/Recipient | Receiver only | Owner only | Full network view |
Key Derivation Source | From private spend key | Master private key | Independent key pair |
Typical Storage | Less secure environment | Hardware wallet / cold storage | Node server |
Use in ZK-Proofs | Used to derive nullifiers | Used to create spend auth sig | Not directly used |
Primary Use Cases
A View Key is a cryptographic key that allows a user to decrypt and view transaction details on a privacy-focused blockchain without the ability to spend funds. It enables selective transparency for auditing and compliance.
Selective Transaction Auditing
View keys enable third-party verification of transaction details without compromising the sender's full privacy. This is critical for:
- Regulatory compliance: Exchanges or auditors can confirm funds are not from illicit sources.
- Proof of payment: A merchant can verify a customer's payment without seeing their entire wallet balance.
- Tax reporting: Users can share transaction history with accountants.
Read-Only Wallet Monitoring
Users can generate a view-only version of their wallet to monitor balances and incoming transactions on a separate, less secure device. This allows for:
- Secure portfolio tracking: Check balances from a phone or public computer without exposing spend authority.
- Watch-only wallets: Services can display aggregated balances from multiple private addresses.
- Inheritance planning: Heirs can be granted view access to assess an estate.
Compliance & Regulatory Gateways
Institutions use view keys to satisfy Know Your Customer (KYC) and Anti-Money Laundering (AML) requirements while using privacy protocols. Key implementations include:
- Zcash (zcashd): The
z_exportviewingkeyRPC call generates a key for exporting transaction data. - Monero: A "view key" is part of the standard wallet address, allowing incoming transaction detection.
- Auditor roles: Designated entities can be given view keys to monitor specific address activity on-chain.
Enhanced User Privacy Controls
View keys are a fundamental component of asymmetric privacy models, giving users granular control over their data. This contrasts with all-or-nothing transparency.
- Disclosure granularity: Users can reveal specific transactions to specific parties.
- Revocability: View keys can often be changed, revoking previous access.
- Selective transparency: Enables use cases like confidential payroll where only the employee and HR can view the transaction details.
Security & Privacy Considerations
A view key is a cryptographic key that allows read-only access to transaction data on a privacy-focused blockchain, enabling selective transparency without compromising spending authority.
Core Cryptographic Function
A view key is a private key derived from a user's master private key, but it is cryptographically limited to only decrypt and view transaction details. It is a standard component in zk-SNARK-based privacy protocols like Zcash, allowing for selective disclosure where users can prove transaction validity without revealing all data.
Auditing & Compliance Use Case
View keys enable regulated entities to comply with audit and tax reporting requirements on private networks. A user can share their view key with an auditor, granting them read-only access to their transaction history, incoming/outgoing amounts, and balances, while the spend key (which authorizes transactions) remains fully private and secure.
Key Separation & Security Model
The security model relies on a strict separation of powers:
- Spend Key: Authorizes the creation of new transactions (signing).
- View Key: Authorizes viewing of transaction details (decryption). This separation ensures that a compromised view key does not allow an attacker to spend funds, significantly limiting the impact of a key leak.
Privacy-Preserving Verification
View keys facilitate trustless verification. For example, a user can prove payment to a merchant by sharing the view key for that specific transaction. The merchant can verify the funds were received and the transaction is valid on-chain, without gaining visibility into the user's full financial history or other unrelated transactions.
Implementation in Zcash (z-addresses)
In Zcash, shielded transactions (z-to-z) are encrypted on-chain. The recipient uses their incoming viewing key to scan the blockchain for transactions belonging to them. This key is different from the full viewing key, which can also decrypt memo fields and identify outgoing transactions from the user's own addresses.
Risk of Metadata Exposure
While view keys don't expose spend authority, they do create a privacy trade-off. Sharing a view key links all transactions viewable by that key to a single entity. If the key is exposed or shared with a third party, it can deanonymize the user's entire transaction graph for the associated addresses, defeating the purpose of a privacy chain.
Common Misconceptions
Clarifying frequent misunderstandings about the cryptographic component that allows read-only access to on-chain data.
No, a view key is a distinct cryptographic key derived from a private key but with strictly limited permissions. A private key grants full control over an account, including the authority to sign transactions and spend funds. In contrast, a view key is purpose-built to decrypt and view transaction details and balances without enabling any spending or state-changing actions. This separation is a core security feature in privacy-focused protocols like Monero and Zcash, allowing for selective transparency and auditing while keeping the spending authority completely secure.
Technical Details
A view key is a cryptographic key that grants read-only access to transaction data, enabling privacy-preserving transparency in blockchain systems.
A view key is a cryptographic key that grants read-only access to encrypted transaction data on a privacy-focused blockchain, allowing a designated party to decrypt and view transaction details without the ability to spend funds. It is a core component of asymmetric encryption systems used in privacy protocols like Monero and Zcash, enabling selective transparency. A user can share their view key with an auditor, tax authority, or trusted third party to prove transaction history or balance without compromising the security of their spend key, which controls fund movement. This mechanism separates the authority to view from the authority to act, creating a flexible privacy model.
Frequently Asked Questions
Common questions about the cryptographic mechanism used to derive wallet addresses and manage blockchain access.
A view key is a cryptographic key, typically part of a key pair, that grants read-only access to transaction data associated with a specific wallet or account. It allows a user or service to decrypt and view incoming transactions and balances without the ability to spend funds or sign outgoing transactions. This mechanism is central to privacy-focused protocols like Zcash and Monero, enabling selective transparency for auditing or compliance while maintaining financial privacy. The view key works in conjunction with a spend key; together, they form an asymmetric key pair where the spend key is kept secret for authorizing transactions, and the view key can be shared to allow third-party viewing.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.