Stealth Addresses and View Keys: How Crypto Privacy Actually Works
Sep, 26 2026
Imagine handing someone your home address, but instead of sending mail to that single location, every letter they send you goes to a completely different, random house. The postman knows where the letters are going, but no one watching from the street can tell that all those houses belong to the same person. That is essentially how stealth addresses work in cryptocurrency. They solve a glaring problem with public blockchains: transparency. While Bitcoin offers pseudonymity, it doesn't offer true privacy because once an address is linked to your identity, every past and future transaction associated with it becomes visible to anyone with a search engine. Stealth addresses, combined with view keys, flip this model on its head, allowing you to receive funds privately while still letting auditors or accountants see what’s coming in without seeing what’s going out.
The Problem with Static Addresses
In traditional cryptocurrencies like Bitcoin, you generate a public key and derive an address from it. You share this address with friends, employers, or exchanges. Every time someone sends you money, the transaction is recorded on the blockchain pointing directly to that specific string of characters. If I know your address, I can trace every payment you’ve ever received and potentially cluster them to figure out who you are. This is called "address reuse," and it’s a privacy killer. Even if you use a new address for every transaction, chain analysis firms can often link them together by analyzing change outputs or timing patterns.
Monero, the leading privacy coin, recognized this flaw early on. Its developers realized that hiding the amount (via RingCT) and the sender (via ring signatures) wasn’t enough if the receiver’s address remained a static beacon. They needed a way to make the receiving end just as opaque. Enter stealth addresses. These aren't optional add-ons; in Monero, they are mandatory for every transaction. When you publish your primary address, you’re actually publishing a set of public keys that allow senders to generate unique, one-time destinations for your funds.
How Stealth Addresses Work Under the Hood
Don’t let the term "crypto" scare you off-the math here is surprisingly elegant. It relies on a concept called Elliptic Curve Diffie-Hellman (ECDH). In simple terms, two parties can agree on a shared secret over an insecure channel without ever exchanging the secret itself. Here is the step-by-step flow when Alice pays Bob using a stealth address:
- Bob publishes his meta-address: This isn't a standard address but a combination of his Public Spend Key (B) and Public View Key (A). He shares this with Alice.
- Alice generates an ephemeral key pair: For this specific transaction, Alice creates a temporary private key (r) and its corresponding public key (R). She will discard r after sending the transaction.
- Alice computes a shared secret: Using her private ephemeral key (r) and Bob’s public view key (A), she calculates a point P = rA. Only Bob, who has the private view key a, can compute the same point P = aR.
- Alice derives the stealth address: She uses this shared secret to tweak Bob’s public spend key, creating a unique one-time public key P' = H(P)G + B. This is the actual destination address for the funds.
- The transaction happens: Alice sends the funds to P' and includes her ephemeral public key R in the transaction data so Bob can find it.
To an outside observer, the transaction looks like Alice sent money to a random address P' that has never been seen before. There is no mathematical link between P' and Bob’s published meta-address unless you have the private keys. This breaks the linkability that plagues transparent chains.
The Role of View Keys: Auditing Without Spending Power
If stealth addresses hide where the money goes, how does Bob even know he got paid? And more importantly, how can his accountant verify his income without being able to steal his crypto? This is where view keys come into play.
Every Monero wallet has two distinct private keys: the Spend Key and the View Key. The Spend Key is what you need to sign transactions and move funds. Lose it, and your money is gone forever. The View Key, however, allows you to scan the blockchain for transactions destined for your stealth addresses. Because the derivation of the stealth address involves the recipient's view key, only someone holding the private view key can detect which outputs belong to the wallet.
This separation of powers is crucial for compliance and business use cases. Imagine you run a small business accepting XMR. Your tax auditor needs to verify your revenue. You don’t want to give them your Spend Key-that would be like giving them your bank PIN. Instead, you provide them with your Private View Key and your Public Address. They can import these into a "view-only" wallet. This wallet scans the chain, finds all incoming payments to your stealth addresses, and displays the balance and history. However, it cannot sign any outgoing transactions. The auditor sees the money coming in, but they can’t touch it, and they can’t see the full picture of your spending habits unless you also share outgoing data.
| Feature | Traditional Blockchain (e.g., Bitcoin) | Privacy-Focused (e.g., Monero) |
|---|---|---|
| Address Visibility | Static; reused frequently | Dynamic; unique one-time address per payment |
| Linkability | High; easy to cluster addresses | Low; unlinkable to main address |
| Auditor Access | Requires full wallet access or manual export | Read-only via View Key |
| Spending Control | Single private key controls everything | Spend Key controls funds; View Key controls visibility |
Bringing Privacy to Ethereum: ERC-5564
For years, stealth addresses were synonymous with Monero. But the demand for privacy isn't limited to altcoins. Ethereum users have long suffered from the same transparency issues. If you receive ETH or USDC at a known address, your entire DeFi history is public. To fix this, the community proposed ERC-5564, a standard for non-interactive stealth addresses on EVM chains.
Vitalik Buterin, Ethereum’s co-founder, has championed this approach. In his "Incomplete Guide to Stealth Addresses," he argues that we shouldn't need complex mixers or zero-knowledge proofs for basic recipient privacy. ERC-5564 adapts the Monero logic for Ethereum. It allows a user to publish a "meta-address." Senders then derive unique deposit addresses from this meta-address. Unlike Monero, where the protocol enforces this, ERC-5564 is a library-level standard. Wallets like MetaMask or Rabby would implement it, allowing users to share one address but receive assets at many hidden ones.
The challenge on Ethereum is gas costs and complexity. Scanning the entire chain for stealth outputs is computationally expensive. Solutions involve indexing services or light-client protocols that help wallets efficiently locate their specific transactions without downloading the whole blockchain state. As Layer 2 networks mature, the cost barrier drops, making stealth addresses increasingly viable for everyday Ethereum users.
Security Risks and Best Practices
While powerful, these features introduce new vectors for error. The biggest risk isn't cryptographic failure-it's human error. Losing your View Key means you can't see your incoming funds, though you can still spend them if you know the Spend Key. Conversely, leaking your View Key compromises your financial privacy. Anyone with it can map your income sources. If you’re a high-net-worth individual, accidentally sharing your View Key with a shady third-party app could reveal your entire wealth profile.
Another pitfall is interoperability. Not all exchanges support stealth addresses natively. If you send Monero from an exchange that doesn't understand the stealth protocol correctly, or if you try to send BTC to a Monero-style stealth address format without proper conversion, you might lose funds. Always double-check that the receiving wallet supports the specific privacy feature you are relying on.
Furthermore, stealth addresses do not hide metadata. They hide the *destination* on-chain, but they don't hide your IP address or the timing of the broadcast. If you broadcast a transaction from a centralized server in New York, chain analysts can correlate the timing with other network traffic to de-anonymize you. Tools like Dandelion++ (used by Monero) help obscure this network-layer information, but they are separate from the stealth address mechanism itself.
Why This Matters for the Future of Money
We are moving toward a world where digital footprints are permanent. On a transparent ledger, a mistake made ten years ago-like paying for a sensitive service-can haunt you forever. Stealth addresses offer a path to "financial amnesia" regarding the receiver side. You can accept payments anonymously, ensuring that your employer, your landlord, or a curious government agency cannot easily reconstruct your social graph based solely on who pays you.
As regulations evolve, we may see a hybrid model become the norm. Governments might mandate that businesses provide View Keys to tax authorities, ensuring compliance while preserving the general public's inability to track individual transactions. This balances the scales between surveillance capitalism and personal liberty. Whether you are using Monero today or waiting for ERC-5564 adoption on Ethereum, understanding stealth addresses and view keys is no longer just for cryptographers. It is essential knowledge for anyone who values financial sovereignty.
Can I lose my money if I leak my View Key?
No, you cannot lose your funds if you leak your View Key. The View Key only grants read-only access to your incoming transactions. An attacker with your View Key can see your balance and transaction history, compromising your privacy, but they cannot sign transactions or move your coins. Only the Spend Key provides control over the funds.
Do stealth addresses hide the amount I receive?
Not necessarily. Stealth addresses primarily hide the recipient's identity. In Monero, amounts are hidden separately using Ring Confidential Transactions (RingCT). On Ethereum, standard stealth address implementations like ERC-5564 do not automatically hide the amount; the value transferred is still visible on-chain unless combined with other privacy technologies like ZK-rollups.
Is ERC-5564 live on Ethereum now?
ERC-5564 is a proposal and standard specification, not yet a core protocol upgrade. It requires wallet and application support to function. Some experimental wallets and dApps have begun integrating libraries that follow the ERC-5564 pattern, but widespread native support across major exchanges and hardware wallets is still in development as of late 2026.
Why are Monero addresses so long?
Monero addresses are long because they encode multiple pieces of data: the Public Spend Key, the Public View Key, a checksum, and a network byte. This structure ensures that the address contains all the necessary public components for a sender to generate a stealth address without needing to query the recipient for additional information.
Can I use stealth addresses for Bitcoin?
Bitcoin does not support stealth addresses natively at the protocol level. However, projects like Wasabi Wallet or Samourai Wallet attempt to simulate some privacy benefits through CoinJoin and payjoins. True stealth address functionality similar to Monero would require a soft fork or significant changes to how Bitcoin handles script types and output detection.