Back to Freedom.Tech Back
All Bitcoin Seed Tool releasesAll versions
Release Tue, May 19, 2026 5 min read

Bitcoin Seed Tool 2.3.0

Original release notes

v2.3.0 - Standalone tools, education layer, signed release rotation

This release more than doubles the toolkit. The seed-related core stays the same, but the page now bundles a full set of standalone Bitcoin tools that don't need a seed loaded: PSBT inspection, descriptor / miniscript analysis, Lightning invoice decoding, BIP-353 helper, signed-message verification, Silent Payments, Shamir backup, and BIP-329 wallet labels. The whole UI has been re-skinned with a purple "education layer" so it's clear which parts are explanatory and which are functional. There's also a key rotation; see the bottom of these notes.

---

New standalone tools

Each lives on its own card under "Standalone tools (No seed required)" on the home grid.

Seed Phrase Recovery

Fix typos, fill in missing words, unscramble the order, or convert hex / binary / indexes back into a valid BIP-39 mnemonic. Address-constrained search means you only get answers that actually produce the address you remember.

BIP-329 Wallet Labels

Decode a JSONL export of transaction notes, address tags, and other labels. Portable across any wallet that implements BIP-329 (Sparrow, Bitcoin Safe, Trezor Suite, etc.). Either paste the contents or upload a .jsonl file directly.

Lightning Decoder

Decode Lightning invoices and offers. BOLT-11 (lnbc...) and BOLT-12 (lno... / lni... / lnr...) supported, including blinded paths. No network calls; pure local parse.

Miniscript Lab

Compile Bitcoin spending policies to Miniscript and Bitcoin Script. Analyse safety, enumerate every spend path with required signers + timelocks, see worst-case witness size. Also parses full output descriptors (wsh(...), tr(...), sh(wsh(...))), validates BIP-380/389 checksums, handles multipath (<0;1>/* and /** shorthand), and derives receive + change addresses from real xpubs. Spend paths render as a visual timeline so you can see at a glance which keys are active immediately vs which activate after a timelock.

PSBT Inspector

Paste any PSBT (base64 or hex). Breaks it down into inputs, outputs, signatures, derivation paths, fee, and what's still needed to finalise. Same content you'd see on a block explorer's PSBT view, without uploading anything.

BIP-353 DNS Payment Helper

Build a name@domain-style payment endpoint: assemble the bitcoin: URI and DNS TXT record to publish, or decode any URI back into its components. Three subtabs: Build (offline), Inspect (offline), Resolve (optional online lookup via Cloudflare or Google DoH).

Sign & Verify Messages

Prove you control an address by signing a message, or verify someone else's signature. Supports both BIP-137 (legacy / SegWit single-sig) and BIP-322 (modern, works for every script type including Taproot and multisig).

Silent Payments (BIP-352)

Generate a static sp1q... Silent Payment address from your seed, or decode any silent payment address into its scan + spend pubkeys. Senders derive a fresh unlinkable on-chain address per payment with no notification transaction needed.

Shamir Secret Sharing

Split your seed into m-of-n shares using SLIP-39 (Trezor / Passport Prime), SSKR (Foundation / Blockchain Commons), or Foundation Shard. Pick whichever format your other wallet uses; reconstruct from any valid threshold of shares.

---

UI and education improvements

  • Purple "education layer" across the page. Per-tool explainer panels, the Info modal popups, and the Learn walkthrough now all share a consistent violet accent so educational content visually separates from functional content.
  • "Learn more" buttons inside each tool's explainer replace the old standalone "Explained" buttons. Same destination, less clutter.
  • Demo data on every standalone tool. One click loads a known-good example (BOLT-11 spec test vector, a synthesised 2-of-3 PSBT, sample BIP-329 labels, etc.) so you can see what a tool does without having to find sample data yourself. Banner indicator stays prominent until you clear the demo.
  • Tool search on the home grid. Type any keyword (or hit / to focus, Esc to clear) and the tool list filters live.
  • Quick test seed flow. Tapping a locked card (one that needs a seed) now shows a modal offering to generate a quick random test seed or jump to the Seed Workspace. No more silent redirects.
  • Online connection banner. A clear, dismissible warning appears under the topbar whenever a network connection is detected, with explicit acknowledgement of opt-in online features (BIP-353 Resolve, BIP-47 PayNym lookup) and a Tor / hardened-browser caveat.
  • Compact SeedQR redesign. The empty-state placeholder and the loaded chip are both immediately legible. No more tiny icon in a giant dark box.
  • About page rewritten as a project meta page: how to use the tool offline, how to verify releases, where to report issues, who maintains it.

---

Quality and accessibility

  • Every <button> now carries an explicit type="button" (prevents accidental form submits on Enter).
  • Modals (info, QR, confirm) close on Escape.
  • Search input, emoji-only tab buttons, and previously-bare selects all have proper aria-labels.
  • Clickable spans for "show QR" and "copy address" now have role="button" + tabindex and respond to keyboard activation.
  • Message-signing input handlers debounced (no more crypto on every keystroke).
  • Heading hierarchy fixed in About and Derived Addresses (h1 h2 instead of h1 h3/h4).
  • Various copy fixes (em-dash purge, clearer mobile placeholders, demo-button styling).

---

Release signing key rotation

The GPG key that has signed every release from 2.0.0 through 2.2.0 (4A3762B5 01BA3B89 48CA0FD0 39EED3B0 80D10556) is being retired. Backup access was lost in a system migration. No further releases will be signed with the old key.

The new release signing key is published in this repo at RELEASE-SIGNING-KEY.asc, and also at keys.openpgp.org:

EB3D 738B EC6A 873A C274  5292 CF4F E215 EA66 63AC

---

How to verify this release

curl -sL https://github.com/BitcoinQnA/seedtool/raw/main/RELEASE-SIGNING-KEY.asc | gpg --import
curl -LO https://github.com/BitcoinQnA/seedtool/releases/download/2.3.0/signature.txt
gpg --verify signature.txt

You should see Good signature from "QnA <qna@bitcoiner.guide>" with the fingerprint above.

The signed sha256 of the index.html asset is embedded below.

---

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

sha256sum index.html eaac7484c1d579d0ffc70fb2e71e01e39a972aba940294b86e2a5187305573e9
-----BEGIN PGP SIGNATURE-----

iJEEARYKADkWIQTrPXOL7GqHOsJ0UpLPT+IV6mZjrAUCagx8TRsUgAAAAAAEAA5t
YW51MiwyLjUrMS4xMiwwLDMACgkQz0/iFepmY6yz4gEA0zAEnrLL3u7wrWDTycGE
oNthR0fRUJU774VHL7i0FKIBAJ/vj/6QgYItZYJ/H2fsuOYunt7nOSeHU9xu0myU
cbkF
=/woj
-----END PGP SIGNATURE-----