₿ Monolith — BIP352 Silent Payments Generator and Paper Wallet

← all sites | generated 2026-11-02T05:52:08.024Z

Site info

title₿ Monolith — BIP352 Silent Payments Generator and Paper Wallet
descriptionREADME — for the nsite manifest and for anyone who opens the page This is ₿ Monolith, a self-contained Bitcoin wallet for Silent Payments. Silent Payments are defined by BIP352. They let a sender pay a recipient without any prior interaction, using a single reusable address. Every payment lands at a fresh on-chain output that only the recipient's wallet can detect. The sender does not need to know anything about the recipient except the address they published. Monolith is one HTML file. It contains every cryptographic primitive it needs, written in plain JavaScript: SHA-256, SHA-512, HMAC-SHA512, PBKDF2, RIPEMD-160, secp256k1, bech32m, Base58Check, BIP32, BIP39, a QR encoder, and a small vector PDF writer. There are no script tags pointing at remote origins, no fetch calls, no WebSockets, no analytics, and no telemetry of any kind. When you open the file from disk with your Wi-Fi radio off, every feature still works. What you can do in Monolith: Generate a new wallet. Draw 256 bits from the browser's cryptographic random number generator, produce a 24-word BIP39 mnemonic, optionally protect it with a BIP39 passphrase, and derive the BIP352 scan and spend keys at m/352'/0'/account'/1'/0 and m/352'/0'/account'/0'/0. See your silent payment address. The address is bech32m, starts with sp1q, and encodes your scan public key followed by your spend public key. The same string can be posted publicly and reused indefinitely. Simulate a sender. Provide transaction inputs — txid, vout, and the corresponding input private keys — and Monolith will compute the summed input public key, the tagged input hash, the shared secret, and each derived P2TR output key. Every intermediate value is shown with its byte length so you can audit the math by hand. Detect incoming payments. Paste a transaction's summed input public key and smallest outpoint, along with candidate output x-only keys. Monolith will derive each candidate output and tell you which ones belong to your wallet, together with the matching k index. Recover a wallet. Four methods are supported. You can restore from a BIP39 mnemonic, with up to two words marked with a question mark so partial phrases can be searched. You can restore from an extended private key — xprv, yprv, zprv, tprv, uprv, or vprv. You can restore from a WIF private key pair. Or you can restore from a raw hex private key pair. Five derivation presets are included so you can match wallets built by Cake Wallet, Sparrow, Silentium, BitBox02, and other implementations. Print a paper wallet. Monolith renders a genuine vector PDF paper wallet entirely on the client. The public side carries your silent payment address, a QR code, both public keys, and the derivation paths. The private side carries your 24-word mnemonic, a QR code of the mnemonic, the passphrase status, and the raw scan and spend private keys. Both A4 and US Letter are supported, and you can print up to eight copies in one PDF. Nothing leaves your machine. There are no fonts, images, or analytics fetched over the network. Verify the math. A built-in conformance panel runs known-answer tests against published vectors: SHA-256 of the empty string, SHA-256 of "abc", SHA-512 of "abc", the secp256k1 generator and its double, the BIP32 test-vector-1 master key, the BIP39 TREZOR seed, an address round-trip through bech32m, a full sender-to-receiver consistency check, WIF decoding, xprv decoding, partial-mnemonic recovery, and the paper wallet PDF structure. All tests must pass on every load. Because Monolith is one file, it can be published as an nsite under NIP-5A. The nsite manifest maps the file's path to its SHA-256 hash, which makes the deployment verifiable and content-addressed. Once the blob is on Blossom and the manifest event is signed, the site is served at a subdomain derived from your pubkey. No server, no DNS, no CDN. The file is the site. Security posture. Monolith is a review and derivation tool, not a signing device. It never touches the network and never writes private keys to persistent storage. The seed, the mnemonic, and the passphrase live only in memory and are cleared on dispose. Reveal and copy actions require explicit user confirmation. A session auto-lock timer zeroes every cached secret after ten minutes of inactivity. Do not rely on Monolith as a substitute for an audited hardware wallet. Verify every address against a second independent implementation before receiving funds. Silent payments are still a young standard; wallet support and derivation paths can vary between implementations, and the conformance panel is designed to help you notice that.
author
ColdJuno_f96b - Juno Sterling
npub1ctc6knn22a7a3xqt2ls4nphdj2psh9dffum5ry3r2434x26u4ssqhukdtw
identifiersilent-paper
hostname4uwyr5edrehxffqo5y1txt08qucnkqctjkylu1gd2rav4brqxssilent-paper.pages.gittr.space
clientnsite.run
updated19d ago
hits12

Relays

Blossom servers

Manifest servers

User servers

Paths (3)

pathsha256cached server
/__MACOSX/._index.html62727fce6040—
/404.htmlc81536b6bdf3nsite.run
/index.htmlc81536b6bdf3nsite.run

Raw manifest event

{
  "id": "f3cfc9cc76cc729221484bda36cd7f539b2ff4e4a7a0a5fd0c66d1a69357944a",
  "pubkey": "c2f1ab4e6a577dd8980b57e15986ed92830b95a94f374192235563532b5cac20",
  "created_at": 1791871084,
  "kind": 35128,
  "tags": [
    [
      "path",
      "/index.html",
      "c81536b6bdf38aa6fcf93c65b4b7591bd30086a55ae8fcd556ee752369673071"
    ],
    [
      "path",
      "/__MACOSX/._index.html",
      "62727fce604080a52d2fe0a551c651db83bc8c1b6b98dd1f1ea80af4b0f01487"
    ],
    [
      "path",
      "/404.html",
      "c81536b6bdf38aa6fcf93c65b4b7591bd30086a55ae8fcd556ee752369673071"
    ],
    [
      "server",
      "https://nsite.run"
    ],
    [
      "server",
      "https://nostr.download"
    ],
    [
      "server",
      "https://blssm.us"
    ],
    [
      "server",
      "https://blossom.yakihonne.com"
    ],
    [
      "server",
      "https://zencrown.relay2aeon.quest/"
    ],
    [
      "relay",
      "wss://nsite.run"
    ],
    [
      "relay",
      "wss://nostr.bitcoiner.social"
    ],
    [
      "relay",
      "wss://purplepag.es"
    ],
    [
      "relay",
      "wss://relay.primal.net"
    ],
    [
      "relay",
      "wss://zencrown.relay2aeon.quest"
    ],
    [
      "d",
      "silent-paper"
    ],
    [
      "title",
      "₿  Monolith — BIP352 Silent Payments Generator and Paper Wallet"
    ],
    [
      "description",
      "README — for the nsite manifest and for anyone who opens the page\n\nThis is ₿ Monolith, a self-contained Bitcoin wallet for Silent Payments.\n\nSilent Payments are defined by BIP352. They let a sender pay a recipient\nwithout any prior interaction, using a single reusable address. Every\npayment lands at a fresh on-chain output that only the recipient's wallet\ncan detect. The sender does not need to know anything about the recipient\nexcept the address they published.\n\nMonolith is one HTML file. It contains every cryptographic primitive it\nneeds, written in plain JavaScript: SHA-256, SHA-512, HMAC-SHA512,\nPBKDF2, RIPEMD-160, secp256k1, bech32m, Base58Check, BIP32, BIP39, a QR\nencoder, and a small vector PDF writer. There are no script tags pointing\nat remote origins, no fetch calls, no WebSockets, no analytics, and no\ntelemetry of any kind. When you open the file from disk with your Wi-Fi\nradio off, every feature still works.\n\nWhat you can do in Monolith:\n\nGenerate a new wallet. Draw 256 bits from the browser's cryptographic\nrandom number generator, produce a 24-word BIP39 mnemonic, optionally\nprotect it with a BIP39 passphrase, and derive the BIP352 scan and spend\nkeys at m/352'/0'/account'/1'/0 and m/352'/0'/account'/0'/0.\n\nSee your silent payment address. The address is bech32m, starts with\nsp1q, and encodes your scan public key followed by your spend public key.\nThe same string can be posted publicly and reused indefinitely.\n\nSimulate a sender. Provide transaction inputs — txid, vout, and the\ncorresponding input private keys — and Monolith will compute the summed\ninput public key, the tagged input hash, the shared secret, and each\nderived P2TR output key. Every intermediate value is shown with its byte\nlength so you can audit the math by hand.\n\nDetect incoming payments. Paste a transaction's summed input public key\nand smallest outpoint, along with candidate output x-only keys. Monolith\nwill derive each candidate output and tell you which ones belong to your\nwallet, together with the matching k index.\n\nRecover a wallet. Four methods are supported. You can restore from a\nBIP39 mnemonic, with up to two words marked with a question mark so\npartial phrases can be searched. You can restore from an extended private\nkey — xprv, yprv, zprv, tprv, uprv, or vprv. You can restore from a WIF\nprivate key pair. Or you can restore from a raw hex private key pair.\nFive derivation presets are included so you can match wallets built by\nCake Wallet, Sparrow, Silentium, BitBox02, and other implementations.\n\nPrint a paper wallet. Monolith renders a genuine vector PDF paper wallet\nentirely on the client. The public side carries your silent payment\naddress, a QR code, both public keys, and the derivation paths. The\nprivate side carries your 24-word mnemonic, a QR code of the mnemonic,\nthe passphrase status, and the raw scan and spend private keys. Both A4\nand US Letter are supported, and you can print up to eight copies in one\nPDF. Nothing leaves your machine. There are no fonts, images, or\nanalytics fetched over the network.\n\nVerify the math. A built-in conformance panel runs known-answer tests\nagainst published vectors: SHA-256 of the empty string, SHA-256 of\n\"abc\", SHA-512 of \"abc\", the secp256k1 generator and its double, the\nBIP32 test-vector-1 master key, the BIP39 TREZOR seed, an address\nround-trip through bech32m, a full sender-to-receiver consistency check,\nWIF decoding, xprv decoding, partial-mnemonic recovery, and the paper\nwallet PDF structure. All tests must pass on every load.\n\nBecause Monolith is one file, it can be published as an nsite under\nNIP-5A. The nsite manifest maps the file's path to its SHA-256 hash,\nwhich makes the deployment verifiable and content-addressed. Once the\nblob is on Blossom and the manifest event is signed, the site is served\nat a subdomain derived from your pubkey. No server, no DNS, no CDN. The\nfile is the site.\n\nSecurity posture. Monolith is a review and derivation tool, not a\nsigning device. It never touches the network and never writes private\nkeys to persistent storage. The seed, the mnemonic, and the passphrase\nlive only in memory and are cleared on dispose. Reveal and copy actions\nrequire explicit user confirmation. A session auto-lock timer zeroes\nevery cached secret after ten minutes of inactivity.\n\nDo not rely on Monolith as a substitute for an audited hardware wallet.\nVerify every address against a second independent implementation before\nreceiving funds. Silent payments are still a young standard; wallet\nsupport and derivation paths can vary between implementations, and the\nconformance panel is designed to help you notice that."
    ],
    [
      "client",
      "nsite.run"
    ]
  ],
  "content": "",
  "sig": "6145eed20aaec3aec3e076e945caaf7adb4e0aaf7a03400651c65924cd5d8306b881c7b723fa05758df0aa8a29a2c1f4dacc1a65b8a219970c2f9c6678ffa47b"
}