Generate ML-KEM-768 stealth addresses, create payments, and scan announcements — all cryptography runs locally in WebAssembly. No keys leave your browser.
Generate an ML-KEM-768 keypair for spending and viewing. Secret keys stay in memory and are redacted from serialization. Click generate to create fresh keys.
Combine spending + viewing public keys into a canonical meta-address hex. Recipients publish this (e.g. on-chain or via ENS) so senders can derive unique stealth addresses.
The sender takes a recipient's meta-address and calls createStealthPayment. This performs ML-KEM-768 encapsulation, derives unique stealth addresses for ETH and Sui, and produces a compact announcement.
Or paste a meta-address hex from elsewhere:
Recipient decapsulates the ephemeral ciphertext using their viewing secret key, checks the view-tag (1-byte filter), and if matched, derives the spendable stealth keys.
Paste announcement fields below (auto-filled from step 3 if you ran it above):
Modify the announcement only for this scan to verify that SPECTER rejects tampered data.
Generate decoy announcements and scan them with scanAnnouncements().