Private ETH, BNB and AVAX (stealth addresses)
Get paid at a brand-new address every time, so payments can't be traced to you.
Simple
On Ethereum, BNB Chain and Avalanche, anyone can look up an address and see every payment it has received. A private address fixes that for the person being paid.
It's like handing out a secret code instead of your home address: each person who pays you turns the code into a brand-new address used only once, and only your phone can tell those payments are yours.
Share your private address with contacts through Link Up. When you pay a contact who has shared theirs, the payment goes privately on its own. The private side of the ETH, BNB and AVAX cards shows and spends what you've received this way. It works for ETH, BNB and AVAX themselves, not for tokens.
When you pay privately, you choose whether to let them see it's from you. Paying from your private balance keeps your public wallet out of it; paying from your public wallet hides who you paid, but not that you paid.
Good to know: private addresses hide who was paid, not how much. Each payment costs network fees (gas), and spending several private amounts together can link them; you'll be warned before that happens.
Detailed
An open standard
Stealth addresses on Ethereum-style networks follow ERC-5564, a public standard. Any wallet that supports it can pay your stealth meta-address, which starts with st:eth: and works the same on Ethereum, BNB Smart Chain and Avalanche C-Chain.
Two transactions per payment
- An announcement, posted to a public announcer contract shared by every ERC-5564 wallet, carrying what the recipient needs to recognise the payment. • The payment itself, to a fresh one-time address. Both pay gas.
Finding and spending
The recipient's wallet reads the public announcements and tests each one with a private viewing key; a one-byte view tag lets it skip almost all of other people's announcements quickly. Each one-time address is an ordinary account: it holds its own funds, pays its own gas, and its private key can be worked out only by the recipient.
What stays public
- Amounts are visible on-chain. • Paying from a public address shows that address as the payer. • Spending from several one-time addresses at once links them. • Exchanges and wallets without ERC-5564 support can't pay a stealth meta-address.
In depth
Diffie–Hellman on an elliptic curve
Stealth addresses rest on elliptic-curve Diffie–Hellman. On a curve with generator point G, a private key is a number k and its public key is the point K = k·G. Two parties with keys (a, A) and (b, B) can each compute the same point a·B = b·A = ab·G, while an observer who sees only A and B cannot.
Building a one-time address
In ERC-5564's scheme for the secp256k1 curve, the recipient publishes two public keys, a spending key P_spend and a viewing key P_view. The payer picks a random ephemeral key r and computes:
R = r·G
s = r·P_view
h = keccak256(s)
view tag = first byte of h
P_stealth = P_spend + h·G
address = last 20 bytes of keccak256(P_stealth)
The payer publishes R and the view tag. The recipient reaches the same secret as s = p_view·R with the private viewing key, derives h, and checks whether P_spend + h·G gives the announced address. The view tag rejects about 255 in 256 unrelated announcements after a single hash.
Spending, and why there are two keys
The one-time address's private key is p_spend + h (mod n), where n is the order of the curve, so only the holder of p_spend can compute it. Splitting the keys means a viewing key can find payments without being able to spend them.
Limits of the model
Stealth addresses break the link between a recipient and their payments; they don't hide amounts or the payer's address. Behaviour matters too: funding one-time addresses from a known wallet, or spending them together, recreates the links the scheme removes.