Stealth Pay
Zero-Trace Bitcoin Payments via ECDH Stealth Addresses
View Live Project
30 seconds
Scanner Cycle
Zero
Address Reuse
Non-custodial
Custody Model
About the Project
Stealth Pay implements BIP-352 silent payments on Bitcoin, eliminating address reuse with pure cryptography. The Next.js frontend is built in TypeScript with Shadcn UI; Supabase with row-level security stores session-scoped view metadata while the spend key never leaves the browser. Each transaction derives a fresh one-time address via Elliptic Curve Diffie-Hellman key exchange, no coordination, no shared secrets stored anywhere, fully non-custodial.
How It Works
- 1
The Next.js frontend connects to a Bitcoin node via RPC; users authenticate via wallet signature and Supabase stores their view-key metadata under strict row-level security policies.
- 2
The receiver publishes a stealth meta-address, a pair of compressed EC public keys (spend key + view key) encoded as a bech32m URI shown on their profile page.
- 3
The sender generates an ephemeral keypair, derives a shared secret via ECDH between the ephemeral private key and the receiver's spend key, then hashes it to produce a one-time tweak.
- 4
The tweaked spend key forms the destination address; the ephemeral public key is embedded in the OP_RETURN output so the receiver's scanner can locate it in the UTXO set.
- 5
The background scanner iterates UTXO checkpoints every 30 seconds, re-deriving each possible address to detect incoming funds, fully trustless, no bloom filters, no Electrum server dependency.
Tech Stack
Want to build something like this?
We'd love to hear about your project. Let's talk about what you're building.