Silent Payments (BIP352) · air-gapped · zero-tracker
Monolith performs zero network I/O. All cryptography runs locally in your browser. Not a substitute for an audited hardware wallet — verify before use.
Generate a 24-word BIP39 mnemonic, optionally protect it with a passphrase,
and derive the BIP352 scan and spend keys using the standard derivation
paths: m/352'/0'/0'/1'/0 for the scan key and
m/352'/0'/0'/0'/0 for the spend key.
Write down your mnemonic. Anyone with the words can spend your funds.
Leave this empty for a standard seed. If you set one, you must enter it every time you restore — BIP39 has no checksum on the passphrase, so a single wrong character silently produces a different, empty wallet.
The passphrase is held in memory only and is never written to storage.
Never share these words. Never type them into a website you do not fully trust.
b_scan)b_spend)
The address encodes B_scan ‖ B_spend with bech32m under the
human-readable part sp, witness version 0
(so every valid address begins sp1q…). Post it anywhere —
every payment lands at a fresh on-chain P2TR output that only your wallet can detect.
QR rendered locally as inline SVG.
Each sender derives a unique P2TR output for your silent address. The table below shows the first 8 hypothetical outputs your wallet would detect when scanning (k = 0…7). The actual outputs depend on each sender's inputs.
| k | Derived P2TR x-only (simulated) | P2TR scriptPubKey |
|---|---|---|
| Generate a wallet first. | ||
List each transaction input (txid, vout, input private key). The app sums
the public keys, computes the shared secret against your B_scan,
and derives one P2TR output per requested index.
| k | t_k (hex) | P_k x-only | P2TR scriptPubKey |
|---|
Paste the summed input public key, smallest outpoint, and candidate output x-only keys. The app detects matches against your current wallet.
This wallet uses standard BIP39 mnemonic + BIP32 derivation. Any wallet that supports BIP352 silent payments and the derivation path below can restore your funds.
sp1… address.0 (sp1q…) is interoperable with current wallets.| # | Test | Status | Detail |
|---|
Recover a Silent Payments wallet produced by this tool or by another
BIP352-capable wallet (Cake, Sparrow, Silentium, BitBox02, …). Optionally
match against a known sp1… address to confirm the correct derivation.
Up to 1 missing word (brute-force is slow).
Renders a vector PDF paper wallet entirely in your browser. No fonts, images, or
analytics are fetched — the PDF is generated byte-for-byte on this page and delivered as a
Blob download. A4 and US Letter are supported; the public side carries your
sp1q… address and B_scan / B_spend, the private side carries your 24-word
mnemonic and derivation paths.
Never print to a network printer. Never leave a printed paper wallet in view of a camera. Store the private side in a safe, offline place; the public side is safe to share.
Ten surgical offline tools that compound privacy and eliminate repetitive work. All run locally; nothing leaves the page.
Blockchair-style offline receipt for any detected silent payment (shared secret + tweak + label).
Derive a labeled secondary SP wallet from the master seed (m/83696968'/39'/0'/24'/index').
Split the master seed into threshold shares and print on the same paper layout.
Always scan for the reserved change label without ever exposing it.
Paste any raw tx hex; see which inputs share ownership heuristics offline.
Opt-in encrypted local export of SP contacts (AES-GCM + scrypt-derived key).
One ? wildcard + ranked BIP-39 suggestions + live checksum.
Every paper wallet carries a verifiable integrity QR (SHA-256 of content).
Size-aware fee & dust calculator for SP outputs (no network).
Paste a candidate x-only key + summed input pubkey; instantly see if it matches your SP derivation.
Monolith implements Silent Payments (BIP352) — a scheme
where a sender derives a fresh P2TR output for a recipient without prior interaction. The
recipient publishes one static sp1q… address and scans for outputs using their
scan private key.