What Is a Stealth Address and How Does It Protect the Receiver?
A stealth address is a one-time, automatically generated public address that allows a cryptocurrency receiver to accept funds without exposing that address on the blockchain in a way that links multiple payments together. It protects the receiver by making it computationally impractical for an outside observer to connect a given payment to the receiver’s identity or to their other transactions, even though the underlying ledger remains fully public.
Unlike a normal public address, which is reused and therefore creates a permanent record of every payment sent to it, a stealth address is designed for a single transaction. The receiver publishes only a static "stealth address key" - a set of cryptographic data - while each payer derives a fresh destination address from that key. The funds land on a blockchain address that appears unrelated to both the receiver’s published key and any previous payment they have received.
The core mechanism: public keys, ephemeral keys, and derivation
To understand how a stealth address works, you need three pieces: a public key, a private key, and a shared secret.
The receiver generates two keypairs: a "spending key" and a "view key." The spending key is the private half that allows the receiver to spend funds sent to a stealth address. The view key is a separate private key that allows the receiver (or a trusted third party) to scan the blockchain for incoming payments without revealing the spending key. The public halves of both keys are combined and published as the stealth address itself.
When a sender wants to pay the receiver, they do not use the stealth address directly. Instead, they generate a random "ephemeral" keypair - a one-time set of keys that exists only for this transaction. The sender then performs a mathematical operation that combines the sender’s ephemeral public key with the receiver’s view public key. The result is a new, unique public key. This derived key becomes the actual destination address on the blockchain.
The crucial part is that the derivation is one-way. Given the sender’s ephemeral public key and the receiver’s view public key, anyone can compute the destination address. But given only the destination address, no one can work backward to find the receiver’s view public key or the sender’s ephemeral private key. The sender includes the ephemeral public key in the transaction data, but that key appears to be random noise to an outside observer. The receiver, scanning the blockchain with their view private key, can test each transaction to see whether it was addressed to them. They do this by re-performing the same derivation with the ephemeral public key and their own view private key. If the result matches the destination address, the payment is theirs.
This process is often described as "diffie-hellman key exchange" applied per transaction. Both sender and receiver end up with the same shared secret, but only the receiver can turn that secret into a valid spending key for the derived address. The sender never learns the private key for the destination address, so they cannot spend the funds after sending them. The receiver, using their spending key, can.
How the Receiver Stays Hidden in Practice
The protection a stealth address provides is not anonymity in the sense that the blockchain hides the amount or the sender. The transaction is still visible, the amount is still public, and the sender’s address is still linked to the transaction. What the stealth address hides is the linkage between the receiver’s different incoming payments.
Without a stealth address, a user who reuses a public address creates a single point of analysis. An observer can see every payment sent to that address, sum them up, and correlate them with the user’s spending habits, exchange deposits, or business relationships. With a stealth address, that correlation fails. Each payment lands on a fresh, unrelated address. The receiver’s published stealth address looks like a single string, but it generates thousands of distinct destination addresses over time.
There is a practical caveat: the receiver must scan the entire blockchain to find incoming payments. They do this by checking each transaction’s ephemeral public key against their view private key. This is computationally cheap per transaction, but it means the receiver’s node sees all transactions on the network, not just their own. That is a privacy feature in itself, but it requires running a full node. Light wallets that use a remote server must trust that server to perform the scan, which partially defeats the purpose. This is why stealth addresses are often paired with other techniques, such as ring signatures or zero-knowledge proofs, to hide the sender or the amount, but those are separate mechanisms.
Where stealth addresses are used and where they fall short
Monero uses stealth addresses natively as part of its protocol. Every Monero output is sent to a one-time address derived from the receiver’s public keys. The sender also includes a "one-time public key" in the transaction, which the receiver uses to recover the funds. Monero adds ring signatures to hide the sender and confidential transactions to hide the amount, so the stealth address is only one layer of a multi-layered privacy system.
Zcash, in its shielded mode, does not use stealth addresses in the same way. Instead, it uses zero-knowledge proofs to validate transactions without revealing the sender, receiver, or amount. The shielded address itself is not a stealth address; it is a static key that never appears on the blockchain. The privacy comes from the proof, not from address derivation.
Bitcoin does not use stealth addresses by default. A few wallets and protocols have implemented them over the years, but they remain a niche feature. The main reason is usability: a receiver who wants to know when a payment arrives must either run a full node and scan the entire chain, or rely on a third-party service that can see their view key. Both options are inconvenient or trust-reducing. Additionally, stealth addresses do not hide the amount, so they do not solve Bitcoin’s transparency problem for users who need more than just receiver privacy.
The limits of protection
A stealth address protects the receiver from passive blockchain analysis - someone who looks at the public ledger and tries to link payments. It does not protect against active surveillance, such as an attacker who compromises the receiver’s device and steals their view or spending keys. It also does not protect the receiver if they voluntarily disclose their stealth address in a context that reveals their identity, such as posting it on a public forum or giving it to a regulated exchange. Once an observer knows that a particular stealth address belongs to a particular person, they can continue to watch that address for incoming transactions, even though those transactions appear on fresh destination addresses.
The receiver’s privacy also depends on the sender not linking the transaction to them by other means, such as sending from an exchange account with KYC records or including a memo field with identifying information. The stealth address only hides the destination; it does not hide the sender’s behavior.
For most practical purposes, a stealth address is a necessary but not sufficient component of cryptocurrency privacy. It raises the cost of surveillance by orders of magnitude, but it does not eliminate the possibility of correlation through metadata, network traffic, or user error. If you use a stealth address wallet, you are still responsible for your operational security.
Not financial advice. holdium.xyz publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.