Protocol

Stealth addresses

A stealth address lets you receive funds without anyone linking the payment to you — not the sender, not the explorer. Every deposit lands somewhere fresh.

How it works

You publish one stealth meta-address. A sender uses it to derive a one-time address that only you can compute the private key for. The funds sit on that one-time address; on-chain it looks unrelated to you or to any of your other deposits.

// sender derives a one-time address from your meta-address
P = hash(r · V) · G + S        // one-time stealth pubkey
// only you, holding v and s, can compute its private key
p = hash(r · V) + s

V/S are your public viewing and spending keys; v/s the private ones; r a fresh random from the sender. The shared secret hash(r · V) is recoverable by you and no one else.

Scanning for what’s yours

Your client scans new outputs with your viewing key and recognizes the ones addressed to you, then spends them with your spending key. Watchers see a stream of unrelated one-time addresses and cannot cluster them into a wallet.

Receiving vs. holding
Stealth addresses solve receiving privately. Holding and trading privately is the shielded pool. Together they close both ends: nothing links funds to you on the way in, and nothing reveals them once they are in.