All ProjectsBlockchain

Stealth Pay

Zero-Trace Bitcoin Payments via ECDH Stealth Addresses

View Live Project
Stealth Pay screenshot

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. 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. 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. 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. 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. 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

BitcoinECDHBIP-352Next.jsSupabaseTypeScriptRLSShadcn UIHuskyPrettierJestPlaywright

Want to build something like this?

We'd love to hear about your project. Let's talk about what you're building.