From 254045dc168d515f94a5b1b689602d59f1c349c5 Mon Sep 17 00:00:00 2001 From: bitcoinafterlife Date: Sun, 26 Jul 2026 00:45:20 +0200 Subject: [PATCH] Replace draft with full manual (docs-as-code, colors, logo, versioning) --- .gitea/workflows/deploy.yml | 24 +++ .gitignore | 4 + README.md | 100 +++++++++ docs/assets/favicon.png | Bin 0 -> 18769 bytes docs/assets/logo-lockup-black.svg | 1 + docs/assets/logo-lockup-white.svg | 1 + docs/assets/logo-mark-black.svg | 1 + docs/assets/logo-mark-white.svg | 1 + docs/assets/logo.svg | 1 + docs/faq.md | 96 +++++++++ docs/getting-started/installation.md | 53 +++++ docs/getting-started/quick-start.md | 54 +++++ docs/img/backup-transaction-save.png | Bin 0 -> 11776 bytes docs/img/hardware-wallet-signing.png | Bin 0 -> 11508 bytes docs/img/heirs-export.png | Bin 0 -> 11046 bytes docs/img/heirs-new-heir.png | Bin 0 -> 11429 bytes docs/img/heirs-tab.png | Bin 0 -> 11141 bytes docs/img/install-electrum-plugins-menu.png | Bin 0 -> 11807 bytes docs/img/install-from-file.png | Bin 0 -> 11491 bytes docs/img/install-plugin-enabled.png | Bin 0 -> 11938 bytes docs/img/overview-tabs.png | Bin 0 -> 11971 bytes docs/img/settings-advanced-mode.png | Bin 0 -> 11497 bytes docs/img/settings-backup-transaction.png | Bin 0 -> 11616 bytes docs/img/settings-check-alive.png | Bin 0 -> 11812 bytes docs/img/welist-website.png | Bin 0 -> 11487 bytes docs/img/will-context-menu.png | Bin 0 -> 11453 bytes docs/img/will-details.png | Bin 0 -> 11662 bytes docs/img/will-server-column.png | Bin 0 -> 11841 bytes docs/img/will-tab.png | Bin 0 -> 11063 bytes docs/img/willexecutors-context-menu.png | Bin 0 -> 12492 bytes docs/img/willexecutors-window.png | Bin 0 -> 11678 bytes docs/img/wizard-01-start.png | Bin 0 -> 11377 bytes docs/img/wizard-02-heirs.png | Bin 0 -> 11670 bytes docs/img/wizard-03-delivery-time.png | Bin 0 -> 12526 bytes docs/img/wizard-04-willexecutors.png | Bin 0 -> 12485 bytes docs/img/wizard-05-summary.png | Bin 0 -> 11875 bytes docs/index.md | 48 +++++ docs/protocol/how-it-works.md | 54 +++++ docs/security-privacy.md | 45 ++++ docs/stylesheets/extra.css | 228 +++++++++++++++++++++ docs/user-guide/backup-transaction.md | 26 +++ docs/user-guide/check-alive.md | 31 +++ docs/user-guide/compatibility.md | 34 +++ docs/user-guide/delivery-time.md | 40 ++++ docs/user-guide/hardware-wallets.md | 17 ++ docs/user-guide/heirs.md | 44 ++++ docs/user-guide/updating.md | 46 +++++ docs/user-guide/wallet-backup.md | 36 ++++ docs/user-guide/wallet-recovery.md | 21 ++ docs/user-guide/will-tab.md | 57 ++++++ docs/will-executors/choosing.md | 47 +++++ docs/will-executors/running-a-server.md | 127 ++++++++++++ docs/will-executors/welist.md | 35 ++++ docs/will-executors/what-they-are.md | 44 ++++ internal/README.md | 14 ++ internal/brand-assets.md | 54 +++++ internal/design-choices-DRAFT.md | 133 ++++++++++++ internal/screenshot-checklist.md | 50 +++++ internal/source-notes.md | 47 +++++ mkdocs.yml | 117 +++++++++++ screenshots.yml | 94 +++++++++ 61 files changed, 1825 insertions(+) create mode 100644 .gitea/workflows/deploy.yml create mode 100644 .gitignore create mode 100644 README.md create mode 100644 docs/assets/favicon.png create mode 100644 docs/assets/logo-lockup-black.svg create mode 100644 docs/assets/logo-lockup-white.svg create mode 100644 docs/assets/logo-mark-black.svg create mode 100644 docs/assets/logo-mark-white.svg create mode 100644 docs/assets/logo.svg create mode 100644 docs/faq.md create mode 100644 docs/getting-started/installation.md create mode 100644 docs/getting-started/quick-start.md create mode 100644 docs/img/backup-transaction-save.png create mode 100644 docs/img/hardware-wallet-signing.png create mode 100644 docs/img/heirs-export.png create mode 100644 docs/img/heirs-new-heir.png create mode 100644 docs/img/heirs-tab.png create mode 100644 docs/img/install-electrum-plugins-menu.png create mode 100644 docs/img/install-from-file.png create mode 100644 docs/img/install-plugin-enabled.png create mode 100644 docs/img/overview-tabs.png create mode 100644 docs/img/settings-advanced-mode.png create mode 100644 docs/img/settings-backup-transaction.png create mode 100644 docs/img/settings-check-alive.png create mode 100644 docs/img/welist-website.png create mode 100644 docs/img/will-context-menu.png create mode 100644 docs/img/will-details.png create mode 100644 docs/img/will-server-column.png create mode 100644 docs/img/will-tab.png create mode 100644 docs/img/willexecutors-context-menu.png create mode 100644 docs/img/willexecutors-window.png create mode 100644 docs/img/wizard-01-start.png create mode 100644 docs/img/wizard-02-heirs.png create mode 100644 docs/img/wizard-03-delivery-time.png create mode 100644 docs/img/wizard-04-willexecutors.png create mode 100644 docs/img/wizard-05-summary.png create mode 100644 docs/index.md create mode 100644 docs/protocol/how-it-works.md create mode 100644 docs/security-privacy.md create mode 100644 docs/stylesheets/extra.css create mode 100644 docs/user-guide/backup-transaction.md create mode 100644 docs/user-guide/check-alive.md create mode 100644 docs/user-guide/compatibility.md create mode 100644 docs/user-guide/delivery-time.md create mode 100644 docs/user-guide/hardware-wallets.md create mode 100644 docs/user-guide/heirs.md create mode 100644 docs/user-guide/updating.md create mode 100644 docs/user-guide/wallet-backup.md create mode 100644 docs/user-guide/wallet-recovery.md create mode 100644 docs/user-guide/will-tab.md create mode 100644 docs/will-executors/choosing.md create mode 100644 docs/will-executors/running-a-server.md create mode 100644 docs/will-executors/welist.md create mode 100644 docs/will-executors/what-they-are.md create mode 100644 internal/README.md create mode 100644 internal/brand-assets.md create mode 100644 internal/design-choices-DRAFT.md create mode 100644 internal/screenshot-checklist.md create mode 100644 internal/source-notes.md create mode 100644 mkdocs.yml create mode 100644 screenshots.yml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..60f2f6e --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,24 @@ +name: Build and deploy docs + +on: + push: + branches: [main] + +jobs: + deploy: + runs-on: docs-runner # must match the label of your registered act_runner + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install dependencies + run: pip install --break-system-packages mkdocs-material mkdocs-macros-plugin pyyaml + + - name: Generate placeholders for missing screenshots + run: python3 tools/make_placeholders.py + + - name: Build site (strict — fails on broken links) + run: mkdocs build --strict + + - name: Publish + run: rsync -a --delete site/ /var/www/bal-docs/ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0bbe1f0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +site/ +__pycache__/ +*.pyc +.venv/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..a80a23f --- /dev/null +++ b/README.md @@ -0,0 +1,100 @@ +# Bitcoin After Life — Manual + +Docs-as-code source for the BAL documentation, built with [MkDocs Material](https://squidfunk.github.io/mkdocs-material/). +Published at . + +## Quick start + +**Windows:** double-click `serve.bat`. +**Linux / macOS:** run `./serve.sh`. + +Either one installs the dependencies and opens a live preview at +, with working search and auto-reload on save. + +Manually: + +```bash +pip install mkdocs-material mkdocs-macros-plugin pyyaml +python3 tools/make_placeholders.py # fill missing screenshots with placeholders +mkdocs serve # preview at http://127.0.0.1:8000 +mkdocs build --strict # static site into site/ +``` + +> Opening the built HTML files directly from disk (`file://`) works for reading, +> but **search will not run** — browsers block the index fetch. Use the server. + +## Layout + +``` +docs/ published pages (Markdown) +docs/img/ screenshots — filenames fixed by screenshots.yml +docs/stylesheets/ screenshot framing CSS +screenshots.yml manifest of every image the manual expects +tools/ helper scripts +internal/ NOT published — drafts and working notes +.gitea/workflows/ CI: build + deploy on push to main +``` + +## Versions in one place + +Plugin and Electrum versions, and the WeList fee, are **not** hardcoded in the pages. +They live in `mkdocs.yml` under `extra.bal:` and are referenced as `{{ bal.plugin_version }}`. +Change the value once and every page updates on the next build. + +| Variable | Meaning | +|---|---| +| `plugin_version` | Latest plugin release | +| `electrum_tested` | Electrum version that release was tested against | +| `electrum_latest` | Latest stable Electrum the manual assumes | +| `welist_fee_sats` / `welist_period_days` | WeList listing terms | +| `last_reviewed` | Bump after a full editorial pass | + +A typo in a variable name **fails the build** (`on_error_fail: true`), so a broken +reference can never reach the published site. + +## Brand assets + +`docs/assets/logo.svg` and `docs/assets/favicon.png` are **placeholders**. +See `internal/brand-assets.md` for the official sources and how to swap them in. + +## Updating the documentation + +**Text.** Edit the `.md` files in `docs/`, commit, push. Pages have an edit link +pointing back at Gitea, so small fixes can be made from the web editor. + +**Screenshots.** Save the new image over `docs/img/.png` using the filename in +`screenshots.yml`. Nothing else to change. See `internal/screenshot-checklist.md` +for capture rules and data-hygiene warnings. + +**Adding a page.** Create the `.md` file under `docs/`, then add it to `nav:` in +`mkdocs.yml`. `mkdocs build --strict` fails on broken internal links, so a typo in a +cross-reference is caught before deploy. + +## Italian translation + +The configuration is prepared but not enabled. To turn it on: + +```bash +pip install mkdocs-static-i18n +``` + +then uncomment the `plugins:` block in `mkdocs.yml` and add `page.it.md` files next to +the English ones. Untranslated pages fall back to English automatically, so you can +translate progressively. + +## Deployment + +`.gitea/workflows/deploy.yml` builds and publishes to `/var/www/bal-docs/` on every push +to `main`. It requires Gitea Actions enabled and a registered runner labelled +`docs-runner`. Until that is set up, deploy manually: + +```bash +mkdocs build +rsync -a --delete site/ /var/www/bal-docs/ +``` + +## Status + +Based on the website, the WeList, the Gitea repositories and the BAL MANUAL revB PDF +(July 2026). Open questions and points needing developer validation are tracked in +`internal/source-notes.md`. diff --git a/docs/assets/favicon.png b/docs/assets/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..db1f7702cf1ae39b8b8da8e71c914f5bdfc5e2cc GIT binary patch literal 18769 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 O0000Bitcoin After Life diff --git a/docs/assets/logo-lockup-white.svg b/docs/assets/logo-lockup-white.svg new file mode 100644 index 0000000..0cbd523 --- /dev/null +++ b/docs/assets/logo-lockup-white.svg @@ -0,0 +1 @@ +Bitcoin After Life diff --git a/docs/assets/logo-mark-black.svg b/docs/assets/logo-mark-black.svg new file mode 100644 index 0000000..b914c87 --- /dev/null +++ b/docs/assets/logo-mark-black.svg @@ -0,0 +1 @@ + diff --git a/docs/assets/logo-mark-white.svg b/docs/assets/logo-mark-white.svg new file mode 100644 index 0000000..3d9c1ad --- /dev/null +++ b/docs/assets/logo-mark-white.svg @@ -0,0 +1 @@ + diff --git a/docs/assets/logo.svg b/docs/assets/logo.svg new file mode 100644 index 0000000..3d9c1ad --- /dev/null +++ b/docs/assets/logo.svg @@ -0,0 +1 @@ + diff --git a/docs/faq.md b/docs/faq.md new file mode 100644 index 0000000..2833404 --- /dev/null +++ b/docs/faq.md @@ -0,0 +1,96 @@ +# FAQ + +## The project + +??? question "What is the Bitcoin After Life Protocol for?" + It manages the **inheritance of bitcoin** held in a seed-based wallet, and can also serve as an **emergency backup** if you lose your seed. It uses time-locked transactions held by Will-Executor servers, which broadcast them to the network on the delivery date you set. + +??? question "Who created it, and when?" + It is open-source software, belonging to everyone, like Bitcoin itself. The first public post about Bitcoin After Life appeared on BitcoinTalk on **31 October 2024**, signed *Svātantrya*. Anyone can contribute. + +??? question "Why a plugin for Electrum rather than a dedicated wallet?" + Because Electrum is **heavily tested** and considered the gold standard among Bitcoin wallets. Building a new wallet — or forking one — would put funds at unnecessary risk. The plugin does not sign transactions itself: that is entirely Electrum's job. + +??? question "Is BAL 2.0 planned?" + Yes. The main new feature will be **staggered inheritance**: gradual distributions over time (for example 10% per year) instead of a single lump-sum transfer. + +## Using the plugin + +??? question "How much does it cost?" + Two fees, both paid **exclusively in bitcoin** — no subscriptions, no cards: + + - **Miner fee**, chosen by you at signing time. Set it generously so the transaction confirms even under congestion. + - **Will-Executor fee**, deducted from the inheritance at execution. + +??? question "Is it hard to use?" + The plugin includes a **guided wizard** and was designed for ordinary users, not only technical ones. See [Create your first will](getting-started/quick-start.md). + +??? question "Can I use a hardware wallet?" + Yes — any hardware wallet supported by Electrum (Ledger, Trezor, Coldcard, BitBox02, Jade, KeepKey and others). See [Hardware wallets](user-guide/hardware-wallets.md). + +??? question "Is it compatible with every Electrum wallet type?" + Standard seed-based single-signature wallets and hardware wallets: yes. **Multisig is not yet supported**, and TrustedCoin (2FA) compatibility is **unknown**. See [Compatibility](user-guide/compatibility.md). + +??? question "What if my balance changes after setting up the inheritance?" + The plugin monitors your UTXOs every time you close Electrum and prompts you to update the will. This prevents both new funds being excluded and the old transaction being rejected because its inputs were spent. See [Keeping the will up to date](user-guide/updating.md). + +??? question "What if an incoming transaction is still unconfirmed during setup?" + Not a problem. It only needs to be **visible in the mempool** — the plugin handles this case automatically. + +??? question "Can I use the plugin to back up my wallet?" + Yes. Set a second wallet you control as the beneficiary. If you lose access to the original and stop opening Electrum, the funds are sent automatically to the backup address on the delivery date. See [Wallet recovery use case](user-guide/wallet-recovery.md). + +??? question "Do I have to do anything after creating the will, or is it set-and-forget?" + Not strictly required, but renewing every **2–3 years** is recommended. A rolling deadline — "always five years from today" — refreshed periodically keeps newer Will-Executors in your selection and picks up protocol improvements. + +??? question "What is Check Alive?" + A period of inactivity after which the plugin asks whether to postpone your delivery date. Available in **advanced mode** — see [Check Alive](user-guide/check-alive.md). + +## Will-Executors + +??? question "Does the plugin use one Will-Executor or several?" + Several — as many as possible. It downloads the full [WeList](will-executors/welist.md) by default; you can also add servers manually or use alternative lists. For the inheritance to succeed, **only one** of the selected Will-Executors has to still be operating on the delivery date. + +??? question "Who receives the fee if several Will-Executors broadcast the same inheritance?" + The plugin creates a **separate transaction for each Will-Executor**, each paying that specific server. Only one can confirm: the fee goes to whoever broadcast it successfully. A competitive mechanism that rewards servers that are actually operating. + +??? question "Why aren't the fees redistributed among all Will-Executors?" + Three practical reasons: it would require including every active server's address in every inheritance transaction, it would increase transaction size and cost, and it would reward servers that do nothing. + + But the decisive reason is different: **anyone who wants to share proceeds can already do so**, without changing the protocol — see the next question. Writing redistribution into the protocol would impose a policy on everyone; leaving it out keeps it a voluntary choice. + +??? question "Does a Will-Executor have to be a single person or company?" + No. The protocol sees a service plus a Bitcoin address. Several operators can form a consortium, present themselves as one Will-Executor, and use a shared **multisig** address for fees, splitting them by whatever agreement they prefer. The plugin knows nothing about it — it pays an address, as always. + + Two caveats: for a user's redundancy the consortium counts as **one** Will-Executor, and the internal split is outside the protocol, neither arbitrated nor guaranteed by BAL. + +??? question "Can a newly joined Will-Executor handle wills created before it existed?" + No. Transactions are pre-signed and already name the Will-Executor to be paid; back-dating is neither possible nor appropriate. A new server receives wills created from its arrival onwards. + +??? question "Do Will-Executors talk to each other?" + No. Each one is completely independent — no coordination, no shared state. This removes central points of coordination and reduces the attack surface. + +??? question "Why not use miners to broadcast inheritance transactions?" + Technical reasons: the mempool rejects transactions with a future locktime, and a signed transaction cannot be modified to add an "anyonecanspend" output without invalidating it. + + Privacy reasons: Will-Executors are **chosen by the user**. Handing transactions to a network of miners nobody selected would expose wallet data to unwanted observers. A network of independent Will-Executors whose only incentive is broadcasting is also more resistant to regulation and censorship than dependence on large pools. + +??? question "Can Will-Executors see the contents of my wallet?" + The servers you select receive pre-signed transactions that reflect your wallet's state. This is exactly why their selection stays in your hands, and why privacy — together with reliability — is what Will-Executors really compete on. + +??? question "What if every Will-Executor I selected shuts down before the delivery date?" + This is what the [offline backup transaction](user-guide/backup-transaction.md) is for: saved to physical media and handed to your heirs, who can broadcast it themselves. It must be kept up to date as your wallet changes — which is why the better strategy remains selecting as many Will-Executors as possible. + +??? question "Who decides the Will-Executor fees?" + Each server sets its own; the market sets the price. When creating your will you can exclude servers you find too expensive — or suspiciously cheap, since an unsustainable price suggests a service unlikely to last for years. + +??? question "Are the miner fees enough if the network is congested?" + The plugin sets a deliberately generous default fee to ensure confirmation even under congestion. A Will-Executor can additionally use **CPFP (Child Pays For Parent)** to accelerate confirmation. + +## Running a server + +??? question "Do I need a powerful machine to run a Will-Executor?" + No — recent versions run on even a small VPS, and at least one active Will-Executor runs on Umbrel OS. What matters is uptime over years, not raw power. See [Running a Will-Executor](will-executors/running-a-server.md). + +??? question "Can I add my server to the WeList?" + Yes. The WeList is open to everyone; listing costs approximately **{{ bal.welist_fee_sats }} satoshis per year** to cover the directory's running costs. Once listed, your server is visible to all BAL users directly inside the plugin. Listing is optional — users can also add servers manually. diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md new file mode 100644 index 0000000..c7ae157 --- /dev/null +++ b/docs/getting-started/installation.md @@ -0,0 +1,53 @@ +# Installation + +## Requirements + +| | | +|---|---| +| **Electrum** | {{ bal.electrum_latest }} (last stable release tested) | +| **Platform** | Desktop — Linux, Windows, macOS | +| **License** | MIT | +| **Wallet type** | Standard seed-based single-signature, or a [hardware wallet](../user-guide/hardware-wallets.md). See [Compatibility](../user-guide/compatibility.md). | + +Install Electrum first, from the official site [electrum.org](https://electrum.org), and verify its signature as you normally would. + +## 1. Download the plugin + +Get the latest release from the [plugin releases page](https://bitcoin-after.life/gitea/bitcoinafterlife/bal-electrum-plugin/releases). + +!!! tip "Verify the archive" + Check that the zip's SHA-256 matches the value printed by `build_zip.py`. If you built the zip yourself from source, compare it against the published release. + +## 2. Install it in Electrum + +![Electrum Tools menu with Plugins](../img/install-electrum-plugins-menu.png){ .screenshot } +*Electrum → Tools → Plugins.* + +1. Open Electrum and go to **Tools → Plugins**. +2. Choose **install from file** and select the BAL zip. + +![Install from file dialog](../img/install-from-file.png){ .screenshot } +*Selecting the plugin archive.* + +## 3. Enable and restart + +Tick **Bitcoin After Life** in the plugin list, then restart Electrum. + +![Plugin list with Bitcoin After Life enabled](../img/install-plugin-enabled.png){ .screenshot } +*The plugin enabled and ready.* + +## 4. Check that it loaded + +After restarting you will see two new tabs in the Electrum window: **HEIRS** and **WILL**. + +![Electrum with the HEIRS and WILL tabs](../img/overview-tabs.png){ .screenshot } +*HEIRS is where you define who inherits; WILL shows the technical state of your inheritance transactions.* + +Next: [create your first will](quick-start.md). + +## Platform-specific notes + +Step-by-step installation notes for specific platforms are kept in their own repositories: + +- [Windows installation](https://bitcoin-after.life/gitea/bitcoinafterlife/bal_plugin_windows_installation) +- [Linux installation](https://bitcoin-after.life/gitea/bitcoinafterlife/bal_plugin_linux_installation) diff --git a/docs/getting-started/quick-start.md b/docs/getting-started/quick-start.md new file mode 100644 index 0000000..8bf5f9c --- /dev/null +++ b/docs/getting-started/quick-start.md @@ -0,0 +1,54 @@ +# Create your first will + +The plugin ships with a **guided wizard** that walks you through the whole setup. You only need two decisions: *who inherits* and *when*. + +!!! tip "Do a dry run first" + Set a delivery time a few hours away on a test wallet, and watch the transaction move through the states in the [WILL tab](../user-guide/will-tab.md). On such a short horizon, remember to disable or back-date [Check Alive](../user-guide/check-alive.md) so it doesn't interfere. + +## Step 1 — Start the wizard + +![Wizard welcome screen](../img/wizard-01-start.png){ .screenshot } +*The wizard walks through heirs, date, and Will-Executors in order.* + +## Step 2 — Add your heirs + +Enter the Bitcoin address of each heir and the share of the wallet they receive — as a percentage or as a fixed amount. + +![Wizard: adding an heir](../img/wizard-02-heirs.png){ .screenshot } +*One row per heir. You can add as many as you need.* + +The plugin always distributes **100%** of the wallet. If your shares don't add up, it recalculates them proportionally — see [Heirs and shares](../user-guide/heirs.md#the-wallet-is-always-emptied-to-100). + +## Step 3 — Choose the delivery time + +This is the date on which the Will-Executors broadcast the inheritance to the Bitcoin network. + +![Wizard: delivery date](../img/wizard-03-delivery-time.png){ .screenshot } +*You can pick a date from the calendar or express it as a relative delay.* + +See [Delivery time](../user-guide/delivery-time.md) for how relative values and execution tolerance work. + +## Step 4 — Select the Will-Executors + +The plugin downloads the [WeList](../will-executors/welist.md) directory and shows the available servers with their fees. + +![Wizard: selecting Will-Executors](../img/wizard-04-willexecutors.png){ .screenshot } +*Select as many as you can: one transaction is created per Will-Executor.* + +!!! info "Pick many, not few" + Each selected Will-Executor gets its own copy of the inheritance, with its own fee output. For the inheritance to succeed, **only one of them** has to still be operating on the delivery date. More servers means more redundancy. + +## Step 5 — Review and sign + +![Wizard: final summary](../img/wizard-05-summary.png){ .screenshot } +*Review everything before signing.* + +Electrum then asks for your wallet password — or confirmation on your hardware wallet — and signs the transactions. The plugin never signs for you. + +Once signed, the wills are sent to the selected Will-Executors and appear in the [WILL tab](../user-guide/will-tab.md), where you can verify that each server has actually stored its copy. + +## What happens from now on + +- Keep using Electrum normally. The plugin watches your balance and asks you to refresh the will when it changes — see [Keeping the will up to date](../user-guide/updating.md). +- If you enabled [Check Alive](../user-guide/check-alive.md) (advanced mode), opening your wallet after the threshold prompts you to postpone the delivery date. +- If you stop opening Electrum, the Will-Executors broadcast the inheritance on the date you set. diff --git a/docs/img/backup-transaction-save.png b/docs/img/backup-transaction-save.png new file mode 100644 index 0000000000000000000000000000000000000000..9ec6baee6d764cfe46a18e9212ced293e8e263da GIT binary patch literal 11776 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 IyNf^mC#{C8`2YX_ literal 0 HcmV?d00001 diff --git a/docs/img/heirs-tab.png b/docs/img/heirs-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..25357126aa4f33536f9498d7cf7cbd662ec36308 GIT binary patch literal 11141 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 literal 0 HcmV?d00001 diff --git a/docs/img/install-electrum-plugins-menu.png b/docs/img/install-electrum-plugins-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..45333fc31774dfd550a806bbdc86a8cd8db0f2b0 GIT binary patch literal 11807 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 literal 0 HcmV?d00001 diff --git a/docs/img/install-plugin-enabled.png b/docs/img/install-plugin-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..e91d8411fd8634fbc4f3ce7cd2249b5bdf5976c2 GIT binary patch literal 11938 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 U)Qs)HAeFOc&Ydp*=F-i72P(tw!2kdN literal 0 HcmV?d00001 diff --git a/docs/img/settings-backup-transaction.png b/docs/img/settings-backup-transaction.png new file mode 100644 index 0000000000000000000000000000000000000000..390ea75df060375277325345e857efc81974eccc GIT binary patch literal 11616 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 literal 0 HcmV?d00001 diff --git a/docs/img/settings-check-alive.png b/docs/img/settings-check-alive.png new file mode 100644 index 0000000000000000000000000000000000000000..1896810390080f12f36afa5456549760b4b5372d GIT binary patch literal 11812 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 literal 0 HcmV?d00001 diff --git a/docs/img/will-details.png b/docs/img/will-details.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd6412f0439ce1422aaf423d586e69d7c15e394 GIT binary patch literal 11662 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 aur~J^QTJbvBJh#ku_GtGEC2TUAO8>F2Dldh literal 0 HcmV?d00001 diff --git a/docs/img/will-tab.png b/docs/img/will-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..647851c34213b33bc49bf035d1c760bb02fcc31b GIT binary patch literal 11063 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 angKhStEz$z$-zY$-yd`Pw&I&JSN=De_9R9C literal 0 HcmV?d00001 diff --git a/docs/img/willexecutors-window.png b/docs/img/willexecutors-window.png new file mode 100644 index 0000000000000000000000000000000000000000..3a971082b6bc796bbcc9a56732530071205706b7 GIT binary patch literal 11678 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 Cq@6kd literal 0 HcmV?d00001 diff --git a/docs/img/wizard-02-heirs.png b/docs/img/wizard-02-heirs.png new file mode 100644 index 0000000000000000000000000000000000000000..be491795774ce4a9d134508a2b039cd8a6dfca0f GIT binary patch literal 11670 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

^~M;U>S+ec~oPFXdfUM(~=)%@ZoO0 zzP>|cX_BI2kQ7)4MJ4^Z`Sxh2%9`j>u5D6KVi&~##v(IX^DQx3|L7N_bD98zXsim9 ziSORM%h?;ZfLlxkK4 zT_4hZ?HGj6+S)4LSLT}xa=<$V{!>*0^72$gc@Mu+mq$1X+JbqXTOR`7unX4QhL;gSDs$)O6( zWw7P`K{dtEiw`%_%qS6adJw{c#{s*|N~0$p52yCM`k`{)ZRd=P4E`XwZDWFeyo;-b z_OZzBCytwRPZnIsy?r}S-)6_jYd!rmD;9_<2%!`O`-!nE zX~#PpUJfl&^v|m&YFA=0COKW(-7i}f`1O9kRfdO=50tx{S}?vH0N0K7d;mA@4`3yT zx>5Kx(1ZI8;*gfEoouSQB=Vk%Y2RRrHvaG1@{mhsc=iYjkYBLA?RsFBEf8&{ zBlpo)%=y3Oo!kOw{+7X7t2GO5m(A+D-)rLJ{q6>6`ApK!qHN!T+UWT_G}Hw5{SO%i z68`BSuKDDhqWn1~2`(D{MbCv~2B_1QtrA98H3AU1u6>(|cU1(maIB%StW?;66h>fm zJ^-Bw2eTE6qb1+3ODA1QgVk|6wd}3JUL}{+2cJ@5>%vKIKM-S_dEKAUj4>41kTF4z z!wC}L-Py4M9(qg&Kn=jLGr7Tj%1ObC7rz-cE-&s&4(GW=F|+#J3?czo+KOV8M6~iB zPA6W})EOYyWoWyPPW(prka1UEyID3@P5VVv9o!T8TFe{S$TZ?LTx!V)R5_1KAek!; z@3M>lrnd6<&}j4(-GQ)}J#yhFe?f7MbnxjkG{3=L0Yb$_$IABJp2~pgHyaP zD=L=vq2AhvzTubl_4NVe@L7~F-SLWnn%eIVjW*o4 z>^le8P)rL!3w2{~nKi1AIfBuq-}=uN11;0u>e^{It??hqyo<)3o^E69-j8FI?i-4! z+m`z>#Sv;+;{CquXfGH7r}jj=Tk`(ajMc=sH6My~fUDs{ONDq&C@w@ZNkm!K7!@=I z?My}@huhmUbdDeSNKE%g8A|~3X2a^nxpNpELl4)vdw!4wbe!;TQM~;Q^!thU>kR1v z53RU9Ump(I0$TZ@XMKIoE&T)`$aHf1p9PMHOqBwGoq;W6%v?5+MjX73T^ZYwY#t53 zzB~+CBZY_R;-RX!8Q6hP&VZ+Qx0wauIKRDU_pYiB_Wq!&5S1cU>|rS7zEE;Gq9#+@poUZ|+`ZGN&b#Mk><4ao z<9t)^wubHcD^@p7snUyv$u=tyw*%+dITpUJI-LFIIUI)*;-}A__}`^fU2)pfT)?T6vh(K=fD&?odvbi^i@+QD@_E-$@_uQS*99x{WT5lUm#s1Mr%q z#mZ7@9{_K<$Gw+-blYI$#hw8Q-ZY0(EiM5}{u(RC_GCJ8vjDiLs zu=R$xRMzi#ZuYXF3gd9)G=$-ulyHJ@9yj|!DoWOpcwLyPQBJ9=Z0b)gIjP%9mgYTvCKjTzm7jI zA9kf?;z~%?BaDoiNPk^#4bWWiRNPK%F$CJp;+n8l$D8ED#3AMlCr_vTI??V%g-S7{ z!tro{A4p~KKat7cqGTa%M!CuRkXhR#QWyPq>StSk9cdS%+z!CPqwB@xcNQ%JU;Kaz}d42eEPJ>YqA+GrytzJRup3^b=CrkE2*Id>Ssi z?HBbwvP0gzj&d~k5dsJqplPYFbLY+tb#%DIANtA7ZMf3kOF3iTQ4zzDlM4+|wbJ`Q zsT0Z{3uz}w3PgqR(7#sM-LwnxS}H=%n~xj@Bp450GG1@v`jE}s=Z?#mbjzJn@0rlv3_*$Ioslhxfjz^%)r1vs><-S1$CBiznPd5bXit3 zq`Ax7PbLm9$vF?vDBD#tOCUf92lJ!F`7#~9@TV&q-m;kqb@ualmt9dfkoBE4b;2gh ziiQlZUhxS*{$)V+9g7x6dIa-&I3V|j_;s#R6YL=uZB`zI1v{3jBbrSj%7 zDJvhid5UJ<;*j*tEgS(uPOa;y18OxUIZRk8cr^8IAZ5!a4tn~nT8I_}yq{#h%?U+tZpM0HI+vw>-S_(l`@ zU{u7lysn7VZ>lfGJkv%s1HlM8{qQ-2fFFy2ccLP}VG*mFZ{ay^s`5V^B;woC_?cKV z-_g%fJ53eWULU~FR13)3U9IV$OL8M4#n$@Aw+>E?Wp0<~4I%+%EGoxJxvPrBvG zY>oYa(B4{-O8+_43FtW-a3I&}bessxNrSr_a}OKdRsld{W?HTZ!>tivG?PR;N?q*=LS8!gN+_vA3d3IZ;_LE zmoQT@r>17brf>GYeD$NF#aNGzum5;44|9RH?M7zQp*}~68TsDyN>TUBtJ~8h-nr&B zK4;GSXexF2!}OyuLgeZco9*rti_Vq__J+NF{X z6r;1#@)@|}`_KOA(*N?e{`ldBe_=&FMCo7Iw;!VPAxi&6N&B!hK5UKu-mT%c>;b*M zl}syD3yww9F)1r`-3~qi%5ZJ0jD?^n3$G>z71jqhvfmG<4QA;^q(Pok52!ZV)Cz0oHk zXu`^?*H^ro9MPSZqw;nQ$0lR@SIu_^cuGQ$CU*A^kyc;-6lG-UUlNdjZ0$MFxb$t4 zqp5b(8vf}pX=+;p1hnWcZUQe-+-7Mw`=!ntj(}TCK1yvAo=~>6jD}>zv26=~*nQAhR*59~4 zb?(P`AG0C;dw?wdGQNwqQC+~aim0a$*pD_nsqk6I8b7-g?)n6i9=ngUN_h~Z6or*0 z;aJO!n4rXwkqN$EQW5HFnF(Z+z5Hmg1T#Ky)hk!Pedx81H1N=i|Nd+%&!u8=leerb zt+F#R+dEH{(+$x8pmXUis$H*b?y(3?om>=i8U-_hN#1lxlvWZ+eU0?lVg-d(p=AsXDSxRP~O9(Z#AQ2 zvq5aeiCDp2IkCdDPi>r+DDS(^87p4xx`sw#lW|J{6x2}gqqNo@s2!Q|c>zn~WA^)s zT3_OE*(>wK%)JTw83)_CF6*Df3bYzhd5E0tQ1?<1Qcg&rtTMzCtIR-5c`y-6m-e9{ z*=@`BEI3Y*=VLUR#{AgARTVEf->O9Sb5JMQNR`7Q!bhvM88gy_9~rT;mgG2uG7)c- zQ;tYIy=Y~J?5i3*irw#o2Q$?>j%scGGVYK7j^wn6O70NY?dVi2%F;RW%rKFag^sW< z2q;pg1Zu7gxz)o5%R-tZZqorZu%Za3cuZW09Yu&|PSlZX3IfI^?kYhl^%PBr^skN= zi_~KSKmYcH+oN$qN07Xqm6wPHUqn&!)vVhXjj+a~YJWgx7~doiGqhHjk$y~ae3(v0 z$ht+Yof`Qov*Q)3;;1$iYxK?phHK_RD_^N{PlsY3T^O3XoS#1vAJMevF&@EcDz`1Ace+!fU-@v{LH#X2voU38@yW_nh>mJZQfHd*V z0~G_gF0~5E&lft-9A$6gR`Mb<2kpd&?`4>5F0+}ZR+u0RZsRWXr&1z|ed)iVIQnMx zVJ(1J2SiqpG$An0gMoYm>mW4Pu`UnCcxXR<_)Tc%6 zHU~iDltI7MRTGD#(v+oFgn$!_Hpuv+(Zr^*vTPn!u|V}D8f9ngyB#kX1)myyiFCJ# zjl8J`T3p)F{ma)(Q+gL1^H@c$vR7yGvR9WY5DJ-VcITs;CJyR%9S*7pj&}XjUhxvC z2VC-o<;$IX30N8p?i{7Z!mbpSm)8tOp5Guo_YUF^exJyuFvUa7%v+N1Q)nd2LJW35zHYS-A(9Heb}YS9qr; zG<}_LrGOkxPZ=bZdn+bpjT|2z>@%Z^gBckDw06x#zX3E!9NlNvx+=5X?$r!()qP)Dip4gG2m2@Qd#7XKGC!Ig%T(U`;b z_E_zhkPIH6Vr+I3<&+HKvs6@Fy?Y2V)YF&Y%4-DYP_#C>zfkq50$=2yJRgF-@fxTee0MkfjnFC*Y; z_U1TZmT(ml=m~e!-gr@OE5e^w&D{!#%$j^WnLb`ON?_kmp38;U&R_R}?tz^fxS@>e zX+iQw{P$WjV#d~O9-3ujtaXQ_*0!v^fRSV1t+_%}Pxa9D1J)Ds- zwrDGYt-kvS&RFlt>&~P}zdrkoA!4l64u3(j+N!>GAmUf2g07hq%5bzc)iZwd`ru2$ zPuW=`{S{_-`RDyt7h%(LFO57bTovp6x?t}ph`tMPArYA8I`Vco&b<4H6ms%uyo4W> zwf3#WVyhSHL~+w2LTmbBcyu(bzXq*YC}_TCBYicbUyvKvdYjaqyGN6veotUqc7+&@ zPp+O;8fC^G z#qzK+(J-2*3us_q|4M$9VQEG}-w!lR`&fa{SSyKzdsviYPx!OwEvJsEe`#+oXY@n_ zqn`CXPx49Ac59>CQlt-V8zmxhdSF6={NYuYWWqpcwCm)Nmb829k^`2Onu?!)eR$26 zF?;!~zE7whBSv-i7Nb?3%MSd+%M^BQnv5*OtrI*X#@0^nd*A+0>7Mu4GAagRGT!&( zP@&52tov5tMeQ*QQlz!Ra{W|*Cw*_&gv>W!m_liu=Pd(py9i-8A zaCZ%CBEqSUI9$sjy2UI#!$9serVJK6--LLw-|~(%JfCSVTNr(Kepj;(W41fccRv*B zYoUJcz%a2*0X4?F2b&VDxwKMOr%EGjGsSmL%H44=3Bw_Ij3%^p<&Cyf#<4^eBxjLE zZDEdkP+gt)HK(^2N$gX+<8d;PeMd~iG2Cc6CTW!2J2J95k3il-tz1kh4G5hVQ5TEe z#&B_QQxQly2g#!=7pZ8$rE!jKr@f8Bf$P(kSI>Y}35LRe@_!1y@WS-oREvYm5= zTXu)qYG;mHkQA@I;+Uny0SO5TrE?TQf2bSYa)h+X{_eO%ftSTr(@5oem4d*|kqAK{ zHTCO<;-78vg`tPBwq!ck4ja@gu)>Pheu7)aXuPwzHZ#42nh-z z5r%4ben;pa0=_QlL|HN?L4P#@WXnZ&NN}2>+nqnKD%NEWBdFCS1nvT7#u!hb2ZozCC%h_=xn!tp+_$^7!51$PH7op_iV~{& zW|CGD9DI_tzVgCdvmQEJ8?}N&Ag5M;QG$Nn8_usm+c(Q!5s)=dmCLO2Yow8e5cc%^ z+aFtd+BT}jc^s+y*gh$zf;A7L+fTI>>KcO5N!>pWMKV$)i?(fRgHY`DE5>a{TQ`wp zGY><7j{3BJEV*5CmbOvlkAcgbV%e{p&rQI?!bT@1vfBr?am50nClnf~diJtDCpuGe zH=k<^Fw_ujBfzfDDxRZk*B}C~r=VxO+qCT&c=^8~lRii?Fs8F7CR83w?!-hSKn~`1 z&U$*;`xh5BWP`T4FtP!!q*9~rG7f4bXsx7`D#C(yB{H}5_o^R|)lm)r^tpAfn;ys* zg79&7Z#mn(Mq%F>95|r4!sI>=lUKN@dKl!)W(?FmX-u_XAOQ;tTiOm;d9|{#lF4E; z#P{=!?2qW_`6a{|y)&&veaQqdzXMV^VZWtiL?eGtHB~i4b8107bHlC`WxxAA@BDmN zJ=$9j|0!gBBW(UP{*g00fm$G$wq+TSO%%%q%3WU?eX5wI&B8|QbfNWlZBD;*Ce;i- zUl~{GTiETw+8rvH$bnW6f@^Wd5}y-lZQN8k&G`^p`W`2BT+XoOxrYTExKaWn9%aD=mSmVvVExoRk3h zl0pap`)>q~+*!-*?t(5*VXC(P9dnX~qv}Q%>|iY-xJFPWkh%D^M#)R?30z5kk8?em z?7G{exDCH34T;Lk+;`ieqh^Fo8-Dwx%O&2a;5D0Ag zOW{>F&1${7De8^Bq8RXx?c;)t8T@KTo(3L5Q}>i#i(@&Sn!^Dy;NF~E06&z(Q8?gL z_3)c!{th6Ar#fyF0Zd`bq92~p6s9YU!kW%V<2n|Lx@Mv=YL*2l)-u@0`P7>mO0)ep zB>5877dIGaA{W^vEr_&kPLUR=6ZC14p7IblW^Z6{a6bdt=jlVt%JvjIaOW?;V*ES> zeH}!%<&nKILH#fqw=|Xg7*xCEv)>FYGI%GNxsJHiH>?{bcKGLIv(b^g{Kk7|z6I#n z10b3gx=hi&g@-SmI>BIox%lEUB@P-nTjgh`R+eU~`Xr@zL9Oy!Q}mJ!kDA(@QH|X4 zWnv~TUyCE!NWWhcd32J7@R78bOre$4jeAMSJ$dz$Oooc5ZN0eqW9u#%>}1Q&FHBws zdUlwlhvJsyq@7G0z`^;^{+^Z6^YWy4@tdK)f*uZ`GNzcu4h64!%F3rVM1E&*^7^JTel)bZR52hB{5*X!tM=1!gk_L+7AyY=EK9o zL9=+uVH^UG#(Xhtg9|PB%?VKA<R|cG>M}Bfuq$ zbMdjG*H!Pfwda|+*45f#ehElWci0!)3h10kkzdSOq+m|pvxiQ*#^rZ&*LF18g=5^C z>_HC$8F3Iqz+k@M2E=wH#DV9Z<#~D*KzX?^q8#ED%U1o6lY1mBMe~%M=_QVGm;HrA z2uMv$)y$Tupi#NnIha^-NdH+84Vkq!x{v5`t?o zlK>_d92{)iq=c<6K>+&7b5=Yp%Wr6Cm~c{;+WNX$Xit30SZ9jcZ|rdcgc7`tRrW$VNAtZzsJz}ui z3cdM@X!|zl(71YyL#6BDbQ(Dx;S2CcQBl#8s;ZndtvQTQDLIyY?wa#DJs~l1o?8>) zECXs{1`kyWeV%YWk+uc|3jI}>wmNX$nDI-%eynNA+`BR3+2IO8^gTE%=0Xx+7}l;B zTEl&uUlQ~FZNCM1OgL;k~b(6WD%pmklU{I%fHtMv~QD!7L9S z{b&`WlrZ3}rdfvQ<@=S4P8#CK+)yg$#0*em7d~?ywtN;vP21(~u&NJJgjp9j^M5=x z?!up*%4?fhqe3tV(dj`!nwxE)r0Sp}6)g;QzRv@M>$hEV5eN9EoJHnutrjrSzK$^a#D#I4@N`EZEjfo3gB4slP3x4lelGLU+3nV^**Yv z1UnijR!L@~zoYF2X^87hQ&&|HBoZxu4HunSVnAH}CkRbDh!oI;@1mz~LYx!&eu)Km z*?1A3nVH$=Czm48B_;5P$#=)S?%>WX%&lDoNR&(Nju1DfAvb;GLy8xy)V6-*RJgC- z56E+x81)(&jn(|@fd%bE;Y(%$*#WTrbr14+rDkQ#8K_88It3%w)V`pLlO`;YJ4}j4 zZaG&{D02R|*iBpAqYmc}2S7gb-2U>WY>vmK*We(+sL`hEXD*+E#yeVlPOHU(jWBk2Lt1Ld{`Tz|LLTj)0fKbXE5Z-|!w85RnK@+Nae{hQa-Ku{&hR9?mQNt#dj z8}%-I4E*KVFQ5$7FY$nVhT<_x<1U8snYVT}2Ib4$9DWKU_h$tN*c_2W3BH%~aA3kh$ zFE(RgAFE?BXsTizu}k z0j17;=ZfMjwwff*18NuO>x2@lT7V^+URxTte z&AV@C2PbD}m`fJ7)u0>W@-z@|pOK?a{WukpVKSKg}yyj@bDACB+YPfGjUmzfFNU(8&a8(IYJ7IsEeFQUy}9ugKhB6@USkyP(n z3^tzJ9r!1IV}V(<(JAw5kh;Xz^O4rTcKSR0LmBSf(a`{6`wmDKK8_h@1UAPbLLNyQ zjTaL-UN&KsMa9}yzClk9nQ|WK1x?V6E^k-*YmzbW$r9Stwh`hl|A!)Q{8)bUKvN1C|V!AXhEW9iNjXu?m$t7|~HYRO%BQE@*Ef+r_}XBTGU3(49}|!G8oSjyDhpMlos( zh@v%pPStt+I*_WeXXdl-#2f-#JMc)`1rZb{q1x=d=Ifa8e!_f~L;%;OP$E4mf47d3 z41*rgXf(vIwVY^c(XXgXW!-H}eEkI0gIyUl<`XgP#?Ecm*Z8{+WxS&s^@LLrnC~vz z1?BGmgst;jF=lO{kN+8{fLG2swRGz&qPBdqz=rhW;c!e}Ey^XaIL9JNH+!?6g&EX9 z9RUvv3`|c?7e2609y^)lzhh=bZg(>Ho8U)h*F<{@~v+WK7;~4Eb31Um5a+&LSAy4d^RLz`9MeCmp_D&ijpK1D|4oZq%KS z`j}yOw@Ym|e<%rk?$}vf!4Gx5ua(D@1Tfa~7p*~F0M!{S7@Y!=)0G6oM_czCRQ8## znH+vPH?e44KBb$bVXnnkt6?que2BAI6Z7@<8cLcj5B@Z8GBwQu`JAbZ#-69^}qFY4!=Md z_b=O+dUKxZN`k-tEym9e4V@p&ja@T6_(-Z-?zo-(g>+Z>`a>i|Ez(T@oCsh{9d|y6 zTX+nJ@1WrvFYED%;^ys9Co#&=!t|YqvYpMrt-qGQUzUCD1+zt^c?xD7IAe-UEFj(M z>&~b*X$$(madY^3W)C_GA1M@6tBm*I*;S{^fn<{0D(z8?SHJ{~3!gHX;AjO-CXY+f zZkh#Ao&UOBG(grnHv1c`O;%E0X^!R>6jZ_W^hPeD=2?2^XI%^cAZSqSW8GPIJ#o(e zpOAaMQ)(};y0njnf%K&ZvG|SB|NSZd!e;KM%7d)?zgtT5hJS&1ENM5j(4cQ~rW~`t QO?n>3eZH>!>eP4t2|{NyHvj+t literal 0 HcmV?d00001 diff --git a/docs/img/wizard-04-willexecutors.png b/docs/img/wizard-04-willexecutors.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3e9a62dbc9bf0f795220c957dc90e01ed04859 GIT binary patch literal 12485 zcmeHtX;_ozx-PA?tZId|j#a9N)Vhm}2&pp35YS~QHB1UZ3IQSo84M6)3Xp_YQK?cz zWr&PX5D*X|5{3XtDhS9J1|dKoVGzO;rc8u{WWRLnv#+&I&$`b3wXSRL(?9u=d|&cT z_w&5>bKmcs3r==>b{*WMrlz*%{P*9wsHyD)Z$Iq)(}&=4Mi>5pn%XzNod5RhrPv(7 zcwAlDVD6mU4d)-V|J&9*H^R=Gx$}|wnQ3oHFPV7#gVuZ&CAO7w~)J^S)B2UG-@%CdDHL~It z_}@SD_y7FGbub-&I;*xrP3_M&{wrPi;|G7t(mz4zAJF&%8h=0oWZwVC+JD5uzcwDO zphO>euC`i^psZhh#d)A_(2iG$D#l}=nOhEmu41%>o4z&%OmR9ynQ&B9(Z`9Qf72av32`3y|aQDm7++Uri_2X&mwp>22B>` zA6+3Ja2LTZqB$d}OR3NOC59NX2~k>-LXp;?!9 zv;4LD%`_HQ#pf)kgdYc*0Z_hvrT_7&^D60AX zrHsJ5_yQ%l2%{j`OTLGsrx)RWsQ4k9F1hchQjWuRvpzE>7B!wQF)q?Vgy~##V{g9jrh{n$$2*oZDF)Zu_Yt{vBcleU|wWzk>lp#FMi{G*C0G}^Q zJTBoi7;{$dOqbQChYk<-PF*m_QdIYt*-#4w$u%*{)LSNqoOd+)BnNm2=)}yiXh!te zZVj)nhN$Ony%JnVili>G67Zetk7HWY7$IK#l`+xl?HO5LC~w|Or+8)S3{NwyOO(2M z>od|5rZxgI26Zi-D1 zUJlZ@>_By+>`c&fyCUVAxZoYn2QPPe< zVTkVwlSxj52hkHU&%&^kZo8)3#_7A+XYUL8sMgLmwK80eC-wg zvU&_oGue68sWE!&O9a!{ibR-jhxzpUw zbL(|Dn#A$Rz8bOp1Ut#0+1!px9!VN;Vjb~P*fHb*GQrC}SdPfzCJqS_R^hhhBR2HdWYHFp~@ zzL6v??oQEC1o2pCYcLTnkJe;XHjE*jfSyiN{rAhqASQeo!kQbCw1(adCG_px9!94h z;?s%j1T4}vPPVyc1&W`VR~R8sk>fGZ)4*E!>fpC7MYjENm? z%-=WoZip-5aFjE*Q9N+HtF(VzX3yQ=suaXgqksXAeXYF8ax^ne6RL1%1Mwf^IHCpn zX@AHVHE!u*fh(L4FIJ2hW_1U2cEF`8eFW9vaqNc3L2qEH3|5a_?4xsvvnP&Ot+v^H zELy>i_1SfyR)-s9yP4+7n+jocbhM@w^~p0T6_&Up@~CbDcbrehbn)>QL3C1gf4tgs zEU%)hjHztRhLZ706V*l)*+-t(WUo8;PT@OC$Tkh_3D9=3oO#2b2Dj80fjy0Wt%s~bH(wN~*9N-VW?{q>B3AzV;nCZB${B=B*pAZ8 zJvvs;=dO1nt*_S8y&Iy!EMk>wIqH1&Ae$FHuwr;xE-I=GsIBncRpylWPQ>`k$!4nT zD55-0zcA|c$X+QI%_^hN!nz(7xWDjnb#)brueI&b^&Fof0OWl=46+JrcJ*TVzJ0Eg z$6g*D7e)PDBbvX!B1BjQVa=BBR8QD^k=9?RmFE^4-MXayorcXuDTMT?whP@P+Y!=T zhh2XAm*$GBh<0!Z=*qL4=F*Zr)wU4dZ9i)FX|`}eK@;xxGMRal%z{m4@=YRzdFoizw;E}t7iJAw8qlS%+CHO7uOI6oBz4~T4#R&piA9m#(A~w0X8n$cZxpV|n z9kn}TC3)W0jkxqOSU5XgA9EfeU?AC!*){LUUW^EFlD3(S1wN>cQ61>c8Cy8N*NH*o zHka}6@>&9>IZb9Zy%yxSagg-3} zy%jvUm&JHFhi*GGSRiNElJxZrx>5O!FJ8>2;IdJ3^y)=nvF4#(%+Qw5y~5Mz35tAo z{Z(Nn;!4#X?}iviR;yrO#T?gPQdn3BDdZ`X_y3}wor?v}Gvs?8JXvwtJfX0tgZyj?tv6)p?tiM2q_1tdf-x8Mp1218+Ls_i(VWG?J0#J zy%7kMr;7^$!J7hD%Fg;0PBy{;W-K-P(Ov8Qza1g(-ofZ;I&7E!da*TWXA6Vr4&WBr5K)v&_x|+2+1C@ z=imkLRDKKSl9s{Y(@#nz)}xEFesp7ejs4TlFb)>!{VA1UcUc zckgq8LZQ5JG>PQnF~%%)25s?e);B)blJCm}A!t{sd1x4|+FDoD&30oo4p{pyg3wJx zMTD*Wb!TFkI!rp%2`S{G@NsX?Cc3~;=KjN)Dml-I{^R;PeLaNxCF89PDy-^wKfa7z zPE?5tJ5>SeGUDSnlpzV7aArV|YZB-KFY!z207=vy0uwgb-%=&?J_Z3#%SXD_g*k?X z4#-{VnD_48OD3IggwS8k4W3oMRG5}UY~{4ZfJF9;nc;k0Iv%*9&bK+WmW?8t5{3$# ztzBJQB6^;=y26=^83{<~UlY6DxH@fu1=5XMDp782rlqGBrs?6Q-*A?5WOJ#kOYWC) zu(LNeLAcQ)XPer{%e_z6o2s0NijqL0G8qMWl*)+dLasD&LV1Ky^US7OrJIt9=g+@~ zlp~o>!{fz2?a(DIjP&GMxQPYT_?d-NXRC@i5lz!z4y23z8GTo{t0Dbz*Ix>hG8ATk zrb@`Qh$-l8T#b(o{Xnd=`Gr1vZIZ8RQx7M5=+H;)QJbmA?zPdawhW!HU zaJ^M_(!=8our-meTk~;j$9czEvqIzGrgk%x@_vPPy+|-#^^FSb9m;hc1_m}SM~tKI zK^@De&plz!!%@4WwT&;9T1Y6uoO4Rd((u#ywNT!6_!XTZD#Ig_p}%ZRZZ=Ktv^lPf zUnO;IBZXQ|C#$L2bg;TO(L)$63bi%MFW4W`-GEJnqgK@-dCOJ=1r!c1*I(UOM) zT9wiG4;3Dq3cL>P{hUqLV{acHZf|e+&>PnpX_WQR?v>p@9d)(-07#`1otLu@$k`&h zmjLdUlRmi&F8`8xdo{S+yVjT6yc>NL&78XfnhhNp+_ABMuHeviD8Xo%0BDM7U6pVT zmQ`<~+Nki5GVA6B0Zfq_ZwAN#3R69+mC0M=fcH9eKPK-Tt~9A3@^%S>tt(fyCPo)A zjpiz%P&W>b$!r_ANRz&u-TmJ?Yh#o^z^I08Eb++EZ zclbN$5Sz{>YJ3kFx0F8Jr_Tz#jTH&CeU|JE3Uns-llO03J_mbzomxsGTuQi*j#!GC9rD5 zL9eQs!9cSOA%%dLEElttUld01$E$eW4HcD@*9Nm{D^%?^jSVs5)cLBbSFdX7M$c8+ z={~fH817x*!f=Ny@N=O9DQanuCjT zhHJ4D#RWTjv_IoG^fYdY+OTZkP&fYtAzm7i5XQALF|mb)a@YH)^U@I6^P(3oL`{); z26#n@;-iYjrTnIY6vk}*NxS==l@X4Pj@|4w9W#88xX3YEh#o<+VEdsSo6{=smSDVA zA{VcO>6%2mdHHm()|nZ2#*O(jQN5aev%=fLj1K>evhmr`uSbf_2!2aL)%KGg7djk| zcb)N;4=f__LN7ooZ4*&(BevbVyRx(Ut=FQwy|=_>TznrbbvaXbc|c~ygmm+`HcAq) z0lzN8EisU$+4N<;nOCG3tD>mnu};k~Ti z8_74QyV~)U78%!S#A2px6C`ho=&bmb_x4aLeg$s!Sz5rDCHDQ#z6eK}Ke!kLu*$8& zCtmFxyklI?3A@&=0?qLtD8R)b^}|k*&+VxkTo|D1d!F zEMP`R>5E5tDJXN}C?PaJ_lfe01vC+h&@tIPkCjE~HY>_Zl=;*&Fx(|QneK?URsk_t_%(i z8lY$k&-+rj&wcu$a&CZXjn1)NG;3tWcXQfw2yci9FR#sH)xz!J8go2~%%2;F6?7(( z6yxcnqBOl6t7V!ND(=eKVs&-2uBO{>Tu%nc#kH0|3ZEuwo{-u9YK*eyqA5@$bCM-% z6N|-Qt>YK<$GS%(YpC5U};Xy79P4_YSR<@wgJY zK6L!2uZ(9S995Nb_a0`AJ=u@>79PC%(+&_K)J8-%_pWUgizzee4vcuadSqZF(+JEX zqAnJ!GrAKjkMh4jR zj;LJpuDHNy&WCNn&oDitEF|q}_w@wA@s7?6LsWXVX_R2JFes;}_>x#qb+wx#M%Dt- z?k-*=s1h|v85w!_scW`I!66}ypiT>Pwy363jSEHDJl@Hvi6ed~2kD@_b@jB2wD&d? zbWqS+o77H1e!FMRIX}PYv`)hlP<_B}z?AeL;CiVLya?g$IXZfq8XJagHZ?V!Ee71B zzw%tter$tGQd5&5SwTL;}AZq1dKlo&XOr#~@6jibUY zpfR_HxK@I(vM&vKm~)x4M)Nf*)h%5Ii9VeOHb3*6D>W|y|{lZ6)BWLG%U(9Df~O=wW&~S4_?$BcwGPZIx22EmrgswI5gMdQU*PP;zd}$)3)!Pa1j}X+2pVj2=P#F z#=_5(gs%$I+WliV<>+MH2R($KvmnU<`61IKD`I}9-~G?UELFTKYfHNLuJW8|wt>E! zQl1T1Ad?&;J(>a=WTMDT!ftlN88;qEDK8Inw7N1X@<_3kIh;S=Zl3DYt?T9EE}812 zSc{77EMu0!xtV)+?KM0I5}3M)4VFicB!nxE?q$lv`6Ru(i2ibHkJrY=fR4o_pIFKK ztxvqHWeU@LoG`g|LsuY= z>pu2eXJc;%`Jt+Adf6|<`c+`cGN|cst@Oz4y+R9CkQ+Qp(3GrjaKpVB#J_;ttZ?H5 zv@U~%6yDPQKM5;iZhpysyGFKk1`TdB{b|Cx$#8uQ124f+wwV6pO>hd~y}*2`0SW|90K6U%{?H2otgdVM(fIwGzpS;eLCZZ{Ttpk22JEr2@1NGlkzQ?vb zRZN=$K30us53oWEfN3@4)c7}PgTh-)n0&00eSV;fdNNbu5F034`i=`B87`gSg6f$} z@VyuuJnuyA>Zxzxlu@Z7;0%mXgN6KX1K?3#25#7^{(exo<$=<4cTd(vQl^w(t(9v= z^hHC(bKKCb$pTMY^mI`-;MwEF2$t#n;FKanu-~bj0`u9<@*wqXzHwwQ(K>mz;03aA z$L&MLb9VysR5?&^gb?MveX3xz-;Wsv*y&n9R@Uz{gWr53>>Gp~aCh9{^EaxFEz{X~ zGFPs5Ll~e^CMMNMDHfvPf|TLLnS$Vfm67#}jvgNKxA+dn4Ge;M`Knv)!)6K7Rq20EXNyWij{nAuvcc|k=5f}ynK#m9_Yvm@Rm z-UGZXMR1p_rgb9DPxfTTCM##_*WsgfL_S9g6}9|~Q_SjMrgaC%MaywOV!VH7D;+4< z$kQ_q+wwMNH}-D(P3LwWw*Sq4I?{Z5TWSXW)2!8LX3J9-_}|=`ht4G-rkwxn$TUSR z14m{+)|Fd30SqiJ{PF>omC8k#c`_-b^u_bX0BJzt%5SfYDPP#3ZiuY3*fyMKwY)fJ zAvL6B;kEjnv5Iyo!2wO`(Y1IWr<#m;CM@+#2s>rV~r59XVX&7(SRB zpn((6+UmvHSv(COjjAt!Df^Gw`F3k-_2Q6fm8lY_a9b*m?NXhzu($|HBzrjAMK4u# zS_A+P(3S8ceEDW-8xZOBL7_~qsWB`RwZ7WN&%1UN9{ld@Bv?Pja-eFo=>j>;K3L?N zRFqaPXu$UIU<(8F| zAsG>a7YmM6pZ;DuHF)~*kYTP%M_Sq;0_|)eiz|EbFpryH-KYzYWL&x(_>G#3G z!EN_-)>Dii1ENA9E2}P~rPKywx)H7Yxx}I1P)dF^de1*KmV&Q6Fx4AqJsEnU3V29N zOm_-owEjy+why%|RFgC1pT(jDVX}1}pm7bZ3u7g&-rn9G}r~f(9P}QNU=tT?c0<}96@D)L&J#pvelb?3DQ{u{qOzUKy1cO3qYT)A%>5WS^6VaMlu(P_LrVrrF&^X`7Py>bb$MAcbw@_^_dzI0Fsw+I8Ak+eK0^ z%?QZh+X)}ks6ZAJwb*lqXWt_m-2YkeKQ|WYR3z{l{UJbmd#$z6(9yw~q|j@pY$L-M zwcT1KL1zY&llK>=`FK%dfh%8R`2aCk%eGu8*FRW#&sOkjQ8hnp)<|U>8H*LvgH~PO zAOQ+8|CgFt?``k3y%RUW#wBs`@oJ*nOpAAoP5--6mU-zPO4$dhfF*`}X$zQEt%pu7 zkX7QMJoyS6cuT;&TuVz0`v+HtQeL+0+4o(DQ@ff=M&!PwHnJn>&^E@z;c&a`cQWq)jS{>UF-z9X_&>kqHg5f{ezt2`NPJB5(t`RzS6}{6fgrL@H4SbmYzATW#R<_zK^IEa_0aeh-b` zzx3A#+L%EtFI}}M(t?q4!R|geWEtoa+fzdf2bttqjQ^71)+gUkQF^Jgxv>mY#xSa+ zzu!d+Dp<=t!!7Lz(~XU7M@X>FKKLs@+Dq^MnYG}Bp}a&O9Bc)`G{Go09AqE;j{d#f sK8J)79Rl|!jQD#mgX{mxoKo4a!u_-25KUoYSIcfJz|GXMYp literal 0 HcmV?d00001 diff --git a/docs/img/wizard-05-summary.png b/docs/img/wizard-05-summary.png new file mode 100644 index 0000000000000000000000000000000000000000..7dd5bb8ea4474221d5100f2f505a1e03a5135580 GIT binary patch literal 11875 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 + Bitcoin After Life + Bitcoin After Life + Bitcoin After Life + BAL Protocol — decentralized Bitcoin inheritance + + +# Bitcoin After Life + +**Bitcoin After Life (BAL)** is an open-source plugin for [Electrum](https://electrum.org) that makes **decentralized Bitcoin inheritance** possible: no notary, no lawyer, no custodian. + +You set your heirs and a delivery date. The plugin builds a time-locked transaction, Electrum signs it with your key, and a network of independent **Will-Executor** servers holds it and broadcasts it to the Bitcoin network on that date. + +!!! info "This manual covers" + Plugin **v{{ bal.plugin_version }}** on **Electrum {{ bal.electrum_latest }}**. Both the plugin and the protocol are under active development — check the [releases page](https://bitcoin-after.life/gitea/bitcoinafterlife/bal-electrum-plugin/releases) for the version you are running. + +## Core ideas in one minute + +- **Your keys never leave your device.** The plugin never signs on your behalf: it asks, you decide — password or hardware wallet. +- **The transaction is pre-signed and time-locked.** Bitcoin nodes reject it until the delivery date arrives, so nobody can execute it early. +- **Will-Executors cannot steal or alter anything.** They only store the signed transaction and broadcast it at the right time. +- **Redundancy is the guarantee.** The plugin creates one transaction per selected Will-Executor. Only one of them has to still be alive on the delivery date. +- **The incentive is on-chain.** Each transaction carries a fee for its Will-Executor, paid only when that server successfully broadcasts and the transaction confirms. + +## Where to start + +

+ +- **New here?** → [Installation](getting-started/installation.md), then [create your first will](getting-started/quick-start.md). +- **Want the details?** → [Heirs and shares](user-guide/heirs.md), [Delivery time](user-guide/delivery-time.md), [The WILL tab](user-guide/will-tab.md). +- **Curious about the servers?** → [What Will-Executors are](will-executors/what-they-are.md). +- **Want to run one?** → [Running a Will-Executor](will-executors/running-a-server.md). + +
+ +!!! warning "Test before you trust it with real funds" + BAL builds **real** Bitcoin inheritance transactions with time-locks. Try it on **testnet**, or with a small-amount wallet, before setting up an inheritance that matters. You can always review the generated transactions before broadcasting. + +## Project links + +| Resource | Link | +|---|---| +| Website | [bitcoin-after.life](https://bitcoin-after.life) | +| Plugin source & releases | [bal-electrum-plugin](https://bitcoin-after.life/gitea/bitcoinafterlife/bal-electrum-plugin) | +| Will-Executor server source | [bal-server](https://bitcoin-after.life/gitea/bitcoinafterlife/bal-server) | +| Public Will-Executor directory | [WeList](https://welist.bitcoin-after.life/) | +| All repositories | [Gitea](https://bitcoin-after.life/gitea/bitcoinafterlife) | +| Contact | [info@bitcoin-after.life](mailto:info@bitcoin-after.life) | diff --git a/docs/protocol/how-it-works.md b/docs/protocol/how-it-works.md new file mode 100644 index 0000000..ae02700 --- /dev/null +++ b/docs/protocol/how-it-works.md @@ -0,0 +1,54 @@ +# How the protocol works + +A summary of the mechanism, for readers who want to understand what happens underneath the interface. + +## The building block: absolute time-locks + +Bitcoin lets a transaction declare an **absolute `nLockTime`**: a point in time before which the transaction is not valid. Nodes reject such a transaction from the mempool until that moment arrives — this is a consensus rule, not a policy choice. + +BAL builds on exactly this. Your inheritance is an ordinary Bitcoin transaction, signed by you today, that the network will simply refuse to accept until the date you chose. + +Absolute time-locks are not subject to the ceiling that limits *relative* time-locks (BIP 68, capped at 65,535 units). In practice you can set a date decades away. + +## Why someone has to broadcast it + +Because the mempool rejects it, a time-locked transaction **cannot simply be left with the network** to be picked up later. Someone has to hold it and submit it when the time comes. That is the entire reason Will-Executors exist. + +## The lifecycle + +1. **Prepare.** The plugin builds a transaction spending the wallet's UTXOs, with outputs to your heirs and one extra output paying the Will-Executor's fee. One transaction per selected Will-Executor. +2. **Sign.** Electrum signs with your key. The plugin never signs on your behalf. +3. **Distribute.** Each signed transaction goes to its Will-Executor, which stores it. +4. **Wait.** You keep using your wallet. Balance changes trigger a refresh; [Check Alive](../user-guide/check-alive.md) offers to postpone the date while you are around. +5. **Execute.** On the delivery date, each Will-Executor holding a copy broadcasts. The first one to get its transaction confirmed collects the fee; the heirs receive the funds. + +## Why one transaction per Will-Executor + +Each transaction pays a *specific* server. That has three consequences worth understanding: + +- **Competition.** Servers race to broadcast, so the reward reaches whoever is actually operating rather than whoever is merely listed somewhere. +- **Independence.** Will-Executors never need to talk to each other. No coordination layer means no central point of failure or attack. +- **No retroactive participation.** A signed transaction cannot be modified, and it already names its payee — so a server joining today can only receive wills created from today on. + +## What invalidates a will + +The transaction spends specific UTXOs. Spending any of them elsewhere makes it permanently invalid: nodes will reject it as a double-spend attempt. + +This cuts both ways. It is why the plugin has to rebuild the will whenever your balance changes — and it is also **your escape hatch**: you can revoke a pending inheritance at any time, without anyone's permission, simply by moving a coin. + +## Fees + +Two distinct fees, both in bitcoin: + +| Fee | Paid to | When | +|---|---|---| +| **Miner fee** | Bitcoin miners | On confirmation, like any transaction. Set generously so the inheritance confirms even under congestion, possibly years from now. | +| **Will-Executor fee** | The server that broadcast successfully | Deducted from the inheritance at execution. | + +## Known design trade-off + +BAL optimises for **simplicity on the heir's side**: one date, one transaction, nothing for the heir to do or even know about in advance. + +The cost of that choice falls on the wallet owner: there is **no cancellation window**. On the delivery date the transaction becomes valid and the Will-Executors broadcast it. If you are alive and want to stop it, you must act *before* that date — by postponing it, or by spending a UTXO to invalidate it. + +This is why the recommended practice is a **rolling deadline renewed every 2–3 years**: it keeps you structurally far from the delivery date, so the question never becomes urgent. See [Keeping the will up to date](../user-guide/updating.md). diff --git a/docs/security-privacy.md b/docs/security-privacy.md new file mode 100644 index 0000000..049fb49 --- /dev/null +++ b/docs/security-privacy.md @@ -0,0 +1,45 @@ +# Security & Privacy + +## Where trust actually sits + +BAL does not ask you to trust a Will-Executor. It asks you not to depend on any single one: + +- Servers hold **no keys** and cannot spend, alter, or accelerate anything. +- You select **as many as possible**; only one has to survive to the delivery date. +- Whether a given operator is a person, a company, or a consortium is not observable from outside — and by design it does not need to be. Protection comes from **redundancy and competition**, not from certifying operators. + +## What a Will-Executor sees + +The servers you select receive pre-signed transactions that reflect the state of your wallet. That is real information about a living person, refreshed over time as your balance changes. + +This is precisely why the choice of *which* servers receive it stays with you, and why privacy is a competitive dimension between Will-Executors — not just price. + +Stored transactions are not publicly accessible. You can verify at any time that yours is still held, via the [Server column](user-guide/will-tab.md#the-server-column). + +## UTXO consolidation + +Sending the entire contents of a wallet in one transaction damages the privacy of your UTXOs: it links everything together, publicly and permanently. + +A useful habit, especially when there is a single heir: leave a small remainder to another address. For example 99.7% to the heir and 0.3% elsewhere — an address of your own, or one picked at random from a block explorer. It makes the transaction considerably harder to interpret. + +## The heirs list export + +The [exported heirs list](user-guide/wallet-backup.md#export-the-heirs-list) states who inherits and how much. Anyone who reads it learns both. Store it accordingly. + +The same applies, more strongly, to an [offline backup transaction](user-guide/backup-transaction.md) handed directly to an heir: it reveals the exact date and amount, years in advance. A notary or trusted third party is often the more prudent route. + +## The same seed on multiple devices + +Strongly discouraged in general, and specifically damaging here: spending a single satoshi from another device changes the wallet's UTXO structure and **invalidates the inheritance transaction**. The Will-Executors will broadcast something the nodes reject. + +## Your wallet file is your will + +The inheritance data lives in the Electrum **wallet file**, not in the seed. Restoring from seed recovers the funds and loses the will. Back up the file, keep the password — see [Backing up wallet and will](user-guide/wallet-backup.md). + +## Long time horizons + +Any very long time-lock carries a theoretical risk tied to how the Bitcoin network evolves over decades. This is a further argument for **renewing periodically** rather than signing a thirty-year will once and forgetting it. + +## Before real funds + +Test on **testnet** or with a small-amount wallet first. Review the generated transactions before broadcasting. The plugin builds real transactions with real consequences, and it never signs without asking you. diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css new file mode 100644 index 0000000..c476c19 --- /dev/null +++ b/docs/stylesheets/extra.css @@ -0,0 +1,228 @@ +/* ========================================================================== + Bitcoin After Life — manual theme + Palette taken from the bitcoin-after.life landing page ("Slate" system). + Change a value here and it propagates through the whole manual. + ========================================================================== */ + +:root { + --bal-accent: #2d6cdf; + --bal-accent-soft: #e6eefc; + --bal-accent-line: #cfe0fb; + --bal-accent-dark: #2559b8; + --bal-ink: #1a2027; + --bal-muted: #5b6672; + --bal-bg: #eef1f4; + --bal-panel: #ffffff; + --bal-line: #dfe4ea; + --bal-line-strong: #cbd2da; + --bal-ok: #1f9d57; + --bal-ok-soft: #e3f4ea; + --bal-warn: #b5701b; + --bal-warn-soft: #fbf0df; + --bal-btc: #f7931a; + --bal-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace; +} + +/* -------- Light scheme ---------------------------------------------------- */ +[data-md-color-scheme="default"] { + --md-primary-fg-color: var(--bal-accent); + --md-primary-fg-color--light: #4f85e6; + --md-primary-fg-color--dark: var(--bal-accent-dark); + --md-primary-bg-color: #ffffff; + --md-primary-bg-color--light: rgba(255, 255, 255, .7); + + --md-accent-fg-color: var(--bal-accent-dark); + --md-accent-fg-color--transparent: var(--bal-accent-soft); + --md-accent-bg-color: #ffffff; + + --md-default-bg-color: var(--bal-bg); + --md-default-fg-color: var(--bal-ink); + --md-default-fg-color--light: var(--bal-muted); + --md-default-fg-color--lighter: var(--bal-line-strong); + --md-default-fg-color--lightest: var(--bal-line); + + --md-typeset-color: var(--bal-ink); + --md-typeset-a-color: var(--bal-accent); + + --md-code-bg-color: #e4e9ef; + --md-code-fg-color: var(--bal-ink); + + --md-footer-bg-color: var(--bal-ink); + --md-footer-bg-color--dark: #12171c; +} + +/* Content sits on white panels, like the cards on the website. */ +[data-md-color-scheme="default"] .md-main__inner .md-content__inner { + background: var(--bal-panel); + border: 1px solid var(--bal-line); + border-radius: 10px; + padding: 8px 28px 40px; + box-shadow: 0 1px 2px rgba(20, 30, 50, .05); +} + +/* -------- Dark scheme ----------------------------------------------------- */ +/* The website has no dark mode; this is a faithful dark counterpart built + around the same accent blue. */ +[data-md-color-scheme="slate"] { + --md-hue: 215; + + --md-primary-fg-color: #5b8ce8; + --md-primary-fg-color--light: #7ea6ee; + --md-primary-fg-color--dark: var(--bal-accent); + --md-primary-bg-color: #0f1419; + + --md-accent-fg-color: #7ea6ee; + --md-accent-fg-color--transparent: rgba(45, 108, 223, .12); + + --md-default-bg-color: #12171c; + --md-typeset-a-color: #7ea6ee; + + --md-code-bg-color: #1a2027; + --md-footer-bg-color: #0f1419; +} + +[data-md-color-scheme="slate"] .md-main__inner .md-content__inner { + background: #171d24; + border: 1px solid #262e37; + border-radius: 10px; + padding: 8px 28px 40px; +} + +/* -------- Typography ------------------------------------------------------ */ +.md-typeset h1, +.md-typeset h2, +.md-typeset h3 { + font-weight: 600; + letter-spacing: -.015em; +} +.md-typeset h1 { color: var(--md-default-fg-color); } +.md-typeset h2 { border-bottom: 1px solid var(--md-default-fg-color--lightest); padding-bottom: .3em; } + +.md-typeset code, +.md-typeset pre > code { font-family: var(--bal-mono); } + +/* Code blocks use the site's dark "ink" background in both schemes. */ +[data-md-color-scheme="default"] .md-typeset pre > code { + background: var(--bal-ink); + color: #e8edf3; +} + +/* -------- Tables ---------------------------------------------------------- */ +.md-typeset table:not([class]) { + border: 1px solid var(--md-default-fg-color--lightest); + border-radius: 10px; + overflow: hidden; + box-shadow: none; + font-size: .78rem; +} +.md-typeset table:not([class]) th { + background: var(--md-default-bg-color); + color: var(--md-default-fg-color--light); + font-size: .68rem; + font-weight: 600; + letter-spacing: .08em; + text-transform: uppercase; +} + +/* -------- Admonitions mapped to the site's semantic colours --------------- */ +.md-typeset .admonition, +.md-typeset details { border-radius: 10px; font-size: .76rem; } + +:root { + --md-admonition-icon--note: var(--md-admonition-icon--abstract); +} +.md-typeset .admonition.info, +.md-typeset .admonition.note, +.md-typeset details.info, +.md-typeset details.note { border-color: var(--bal-accent); } +.md-typeset .info > .admonition-title, +.md-typeset .note > .admonition-title, +.md-typeset .info > summary, +.md-typeset .note > summary { background: var(--bal-accent-soft); } + +.md-typeset .admonition.tip, +.md-typeset details.tip { border-color: var(--bal-ok); } +.md-typeset .tip > .admonition-title, +.md-typeset .tip > summary { background: var(--bal-ok-soft); } + +.md-typeset .admonition.warning, +.md-typeset details.warning { border-color: var(--bal-warn); } +.md-typeset .warning > .admonition-title, +.md-typeset .warning > summary { background: var(--bal-warn-soft); } + +[data-md-color-scheme="slate"] .md-typeset .info > .admonition-title, +[data-md-color-scheme="slate"] .md-typeset .note > .admonition-title, +[data-md-color-scheme="slate"] .md-typeset .info > summary, +[data-md-color-scheme="slate"] .md-typeset .note > summary { background: rgba(45, 108, 223, .16); } +[data-md-color-scheme="slate"] .md-typeset .tip > .admonition-title, +[data-md-color-scheme="slate"] .md-typeset .tip > summary { background: rgba(31, 157, 87, .16); } +[data-md-color-scheme="slate"] .md-typeset .warning > .admonition-title, +[data-md-color-scheme="slate"] .md-typeset .warning > summary { background: rgba(181, 112, 27, .18); } + +/* FAQ accordions read better with a little separation. */ +.md-typeset details { margin-bottom: .5rem; } + +/* -------- Screenshots ----------------------------------------------------- */ +img.screenshot { + border: 1px solid var(--md-default-fg-color--lightest); + border-radius: 8px; + box-shadow: 0 6px 20px rgba(20, 30, 50, .08); + max-width: 100%; +} +img.screenshot + em, +p > img.screenshot + em { + display: block; + margin-top: .4rem; + font-size: .72rem; + font-style: normal; + color: var(--md-default-fg-color--light); +} + +/* -------- Misc ------------------------------------------------------------ */ +.md-typeset .grid.cards > :is(ul, ol) > li, +.md-typeset .grid > .card { border-radius: 10px; } + +.md-typeset a.btc, +.md-typeset .btc { color: var(--bal-btc); font-weight: 700; } + +:focus-visible { outline: 2px solid var(--bal-accent); outline-offset: 2px; } + + +/* -------- Brand ----------------------------------------------------------- */ +/* Header sits on the accent blue, so it uses the white mark directly + (docs/assets/logo.svg is a copy of logo-mark-white.svg). */ +.md-header__button.md-logo img, +.md-header__button.md-logo svg { + height: 1.6rem; + width: auto; +} + +/* Homepage lockup: the mark plus the name set in Inter — the same construction + the website uses in its top bar, and immune to the Optima dependency of the + SVG wordmark. */ +.bal-hero { + display: flex; + flex-direction: column; + align-items: center; + gap: .7rem; + margin: 1.4rem 0 2.2rem; + text-align: center; +} +.bal-hero img { width: 116px; height: auto; } +.bal-hero .name { + font-size: 1.35rem; + font-weight: 600; + letter-spacing: -.015em; + line-height: 1.1; + color: var(--md-default-fg-color); +} +.bal-hero .tagline { + font-size: .68rem; + letter-spacing: .14em; + text-transform: uppercase; + color: var(--md-default-fg-color--light); +} +/* Swap black / white mark with the colour scheme. */ +.bal-hero .logo-dark { display: none; } +[data-md-color-scheme="slate"] .bal-hero .logo-light { display: none; } +[data-md-color-scheme="slate"] .bal-hero .logo-dark { display: inline; } diff --git a/docs/user-guide/backup-transaction.md b/docs/user-guide/backup-transaction.md new file mode 100644 index 0000000..a04fecc --- /dev/null +++ b/docs/user-guide/backup-transaction.md @@ -0,0 +1,26 @@ +# Offline backup transaction + +Beyond the Will-Executor network, the plugin can save the signed inheritance transaction to a **file you keep yourself**. It is the fallback for the (unlikely) scenario where every Will-Executor holding your will has ceased to operate. + +![Backup Transaction option in plugin settings](../img/settings-backup-transaction.png){ .screenshot } +*Enable it in the plugin parameters.* + +## How it works + +With the option enabled, the signed transaction is also written to a file you can store on a USB stick, a NAS, or wherever you prefer. + +![Saving the backup transaction](../img/backup-transaction-save.png){ .screenshot } +*Save the transaction to your medium of choice.* + +You can then deliver it through a notary, a trusted person, or directly to the heir. On or after the delivery date, whoever holds it can broadcast it through Electrum and the funds move. + +## The trade-offs, honestly + +Relying on the offline backup alone has real drawbacks: + +1. **It goes stale.** Any change to the wallet — a satoshi spent, a new heir, a different date — invalidates the saved file. You have to regenerate and redistribute it every time. +2. **It leaks information.** An heir who holds the file knows the exact date and amount of the inheritance, years in advance. That may not be prudent. +3. **Every step is manual**, with the corresponding risk of error. + +!!! tip "Use it as a second layer, not the main plan" + The recommended setup is: select **as many Will-Executors as possible** (only one has to survive to the delivery date), and keep the offline backup as an additional safety net. diff --git a/docs/user-guide/check-alive.md b/docs/user-guide/check-alive.md new file mode 100644 index 0000000..a65b1eb --- /dev/null +++ b/docs/user-guide/check-alive.md @@ -0,0 +1,31 @@ +# Check Alive + +**Check Alive** is the plugin's "are you still around?" mechanism. It is available in **advanced mode**. + +![Advanced mode toggle](../img/settings-advanced-mode.png){ .screenshot } +*Advanced mode exposes Check Alive and the other fine-grained parameters.* + +## What it does + +Check Alive defines a period of inactivity. When you open Electrum and more than that period has passed since the last postponement, the plugin asks whether you want to **push your delivery date further out** — because you are evidently still alive. + +![Check Alive parameter](../img/settings-check-alive.png){ .screenshot } +*The threshold can be expressed as a relative period or an absolute date.* + +## Example + +You set a delivery date **2 years** out, with Check Alive at **6 months**. + +| What you do | What happens | +|---|---| +| You open Electrum after 3 months | Nothing — you are inside the Check Alive window | +| You open Electrum after 7 months | The plugin points out that your delivery date is now only 1 year and 5 months away, and offers to postpone it | +| You stop opening Electrum altogether | Nothing postpones the will. On the delivery date, the Will-Executors broadcast it | + +As long as you keep using Electrum within the Check Alive window and accept the prompts, your will is never executed. + +!!! tip "Disabling it for a quick test" + Setting Check Alive to a **date in the past** effectively switches it off. This is what you want when testing the plugin with a delivery time only a few hours away, so the prompt doesn't get in the way. + +!!! warning "Postponing is not free" + Accepting a postponement may require invalidating the previously committed transaction on-chain, which costs a miner fee. See [Postponing vs anticipating](updating.md#postponing-vs-anticipating). diff --git a/docs/user-guide/compatibility.md b/docs/user-guide/compatibility.md new file mode 100644 index 0000000..539d0aa --- /dev/null +++ b/docs/user-guide/compatibility.md @@ -0,0 +1,34 @@ +# Compatibility + +## Wallet types + +| Wallet type | Status | +|---|---| +| Standard Electrum wallet (seed-based, single-signature) | **Supported** | +| Hardware wallets supported by Electrum | **Supported** — see [Hardware wallets](hardware-wallets.md) | +| Multisig wallets | **Not yet supported** — planned for a future release | +| Electrum TrustedCoin (2FA) wallets | **Unknown / unsupported** — not yet determined | + +!!! danger "Do not rely on BAL with multisig or 2FA wallets" + If you use a multisig or TrustedCoin (2FA) wallet, do not use BAL for inheritance until compatibility is confirmed. + +## Electrum versions + +The plugin follows Electrum closely; each release states the Electrum version it was tested against. + +| Plugin release | Tested with | +|---|---| +| v{{ bal.plugin_version }} | Electrum {{ bal.electrum_tested }} (manual verified on {{ bal.electrum_latest }}) | +| v0.2.3 | Electrum 4.7.0 | +| v0.2.0 | Electrum 4.6.2 — introduced the will setup wizard and the remote Will-Executor list | +| v0.1.0 | Electrum 4.5.8 — first release | + +Always check the [releases page](https://bitcoin-after.life/gitea/bitcoinafterlife/bal-electrum-plugin/releases) for the current pairing before upgrading Electrum. + +## Networks + +The protocol and the servers support **mainnet**, **testnet**, **testnet4**, **signet** and **regtest**. The [WeList](../will-executors/welist.md) lets you filter Will-Executors by network — useful when you want to run a full test before committing real funds. + +## Unconfirmed incoming transactions + +You can set up an inheritance on a wallet with an **incoming transaction still in the mempool**. It does not need to be confirmed — being visible in the mempool is enough. The plugin handles this case automatically. diff --git a/docs/user-guide/delivery-time.md b/docs/user-guide/delivery-time.md new file mode 100644 index 0000000..5dedcf6 --- /dev/null +++ b/docs/user-guide/delivery-time.md @@ -0,0 +1,40 @@ +# Delivery time + +The **delivery time** (technically the transaction's `nLockTime`) is the date on which the Will-Executors broadcast your inheritance to the Bitcoin network. + +## How to express it + +| Form | Example | Meaning | +|---|---|---| +| **Date** | 1 December 2027 | A precise calendar date, pickable from the system calendar | +| **Raw / relative** | `1y` | One year from today | +| | `1d` | Tomorrow | + +## Timing tolerance + +The plugin converts your date into an estimated block height, so execution is not accurate to the minute: + +- With **relative** values, expect a tolerance of a few hours. +- Bitcoin nodes accept a time-locked transaction based on the **median time past** of the last 11 blocks, so in practice the inheritance is executed on average about **one hour after** the time you set. + +For an inheritance measured in years, this is irrelevant. It only matters if you are running a short test. + +!!! info "Why nobody can execute it early" + A transaction with a future `nLockTime` is **rejected by the Bitcoin mempool** until that time is reached. This is a consensus rule, not a courtesy: even a malicious Will-Executor cannot make the inheritance happen sooner. + +## No expiry, no upper limit in practice + +Absolute time-locks are not subject to the ~15 month ceiling that affects *relative* time-locks (BIP 68). You can set a delivery date decades ahead. + +!!! tip "Even so, renew every 2–3 years" + A rolling deadline — "always five years from today", refreshed periodically — is the recommended way to use BAL: + + - the network grows, so renewing lets you include **newer Will-Executors** and drop ones that have shut down; + - it keeps you far from the delivery date at all times; + - it picks up future protocol improvements. + + See [Keeping the will up to date](updating.md). + +## Changing the date later + +Bringing the date **forward** and pushing it **back** are not symmetric operations — the difference is explained in [Keeping the will up to date](updating.md#postponing-vs-anticipating). diff --git a/docs/user-guide/hardware-wallets.md b/docs/user-guide/hardware-wallets.md new file mode 100644 index 0000000..5ecf347 --- /dev/null +++ b/docs/user-guide/hardware-wallets.md @@ -0,0 +1,17 @@ +# Hardware wallets + +BAL works with **any hardware wallet supported by Electrum** — Ledger, Trezor, Coldcard, BitBox02, Jade, KeepKey and others. + +![Confirming on the hardware wallet](../img/hardware-wallet-signing.png){ .screenshot } +*The plugin builds the transaction; your device signs it.* + +The division of labour is the same as for a normal Electrum transaction: + +- the **plugin** builds the inheritance transaction, +- **Electrum** submits it for signature, +- **your device** signs — with your physical confirmation. + +The plugin never has access to your keys and never signs on your behalf. + +!!! tip "Cold signing setup" + For maximum security, use a dedicated computer for signing. Note that with BAL you will need to sign more than once over time: every refresh of the will requires a new signature — see [Keeping the will up to date](updating.md). diff --git a/docs/user-guide/heirs.md b/docs/user-guide/heirs.md new file mode 100644 index 0000000..867e61b --- /dev/null +++ b/docs/user-guide/heirs.md @@ -0,0 +1,44 @@ +# Heirs and shares + +The **HEIRS** tab is where you define who receives your bitcoin. + +![HEIRS tab](../img/heirs-tab.png){ .screenshot } +*Two heirs configured, with their shares.* + +## Adding an heir + +![New heir dialog](../img/heirs-new-heir.png){ .screenshot } +*Name, destination address, and share.* + +| Field | Meaning | +|---|---| +| **Name** | A label for the heir, with any details you find useful. Local only — it is never published on-chain. | +| **Address** | The Bitcoin address that will receive the inheritance. | +| **Amount** | The share, expressed either as a **percentage** of the wallet or as a **fixed amount**. | + +You can add many heirs — ten or more. + +!!! warning "Check the address twice" + The inheritance is sent to exactly the address you type, potentially years from now, with nobody available to correct a mistake. Prefer copy-paste over typing, and ask your heir for a fresh address from a wallet they actually control. + +## The wallet is always emptied to 100% + +The plugin makes sure that **all** the value in the wallet reaches the heirs — never a leftover balance stuck behind. + +| You set | The plugin sends | +|---|---| +| Wallet of 3 BTC: 1 BTC to Jonny, 10% to Andrea | 1 BTC to Jonny, **all the rest** (2 BTC) to Andrea | +| 5% to Jonny, 80% to Andrea | Recalculated proportionally: **5.9%** to Jonny, **94.1%** to Andrea | +| Wallet of 10 BTC: exactly 4 BTC to Jonny, exactly 2 BTC to Andrea | The remaining 4 BTC are redistributed — to keep the amounts exact, add a **third heir** (for example an address of your own) for those 4 BTC | + +The rule to remember: **if your shares don't add up to 100%, the plugin scales them until they do.** If you want a specific portion to go somewhere else, name that destination explicitly as an additional heir. + +!!! tip "Sending part of the wallet to yourself" + Adding one of your own addresses as an heir is a legitimate pattern. It is how you keep amounts exact, and it also improves the privacy of the transaction, since the destinations become harder to interpret. + +## One delivery date per wallet + +In the current version the delivery date is **unique per wallet**. If you need different dates for different heirs — for example two children reaching 18 in different years — prepare **one wallet per date**. Electrum makes creating and managing multiple wallets straightforward. + +!!! info "Planned for BAL 2.0" + Staggered inheritance — distributing gradually over time, for example 10% per year — is in development for version 2 of the protocol. diff --git a/docs/user-guide/updating.md b/docs/user-guide/updating.md new file mode 100644 index 0000000..578f10e --- /dev/null +++ b/docs/user-guide/updating.md @@ -0,0 +1,46 @@ +# Keeping the will up to date + +An inheritance transaction spends specific UTXOs. If those UTXOs change, the transaction the Will-Executors are holding becomes invalid — so the will has to be rebuilt. + +The plugin handles this for you: **every time you close Electrum it checks your balance and UTXO set**, and if something changed it asks you to refresh the will. You confirm the signature; it never signs on your behalf. + +This is what makes it practical to use an inheritance-ready wallet for everyday transactions. + +## What triggers a refresh + +- You receive funds. +- You spend funds. +- You add, remove, or edit an heir. +- You change the delivery date. + +## Postponing vs anticipating + +The two directions are not symmetric, and the difference has a real cost: + +=== "Anticipating (earlier date)" + + Bringing the delivery date **forward** is cheap. The plugin signs a new inheritance with an earlier locktime and sends it to the Will-Executors. Because it becomes valid sooner, it supersedes the previously distributed transaction — **no on-chain fee**. + + This is also how balance and heir changes are handled: the will is anticipated by one day and redistributed, without invalidating the old one on-chain. + +=== "Postponing (later date)" + + Pushing the delivery date **back** requires invalidating the committed coins **on-chain first**. Otherwise a Will-Executor still holding the old, earlier-locktime transaction could broadcast it and execute the inheritance too early. + + That invalidation is a real Bitcoin transaction: you sign it and it costs a **miner fee**. + +!!! tip + If you expect to adjust the date often, plan for it: a rolling deadline that you re-anticipate is cheaper than repeatedly postponing. + +## Watch-only copies on other devices + +If you monitor the same wallet from another device using its public key (Zpub/Xpub), funds arriving there are **not** added to the inheritance automatically. Open the wallet in Electrum with the plugin so it can pick up the new UTXOs and re-send the updated will to the Will-Executors. + +!!! danger "The same seed on multiple devices invalidates the inheritance" + Using the same seed on more than one device is strongly discouraged in general. With BAL it has a specific consequence: spending even a single satoshi from the other device changes the wallet's UTXO structure, and the nodes will **discard the inheritance transaction** when the Will-Executors try to broadcast it. + +## How often to renew + +Renewing is not strictly required, but it is recommended roughly **every 2–3 years**. A practical approach is a rolling deadline — "always five years from today" — refreshed at regular intervals. + +Renewing serves two purposes: it lets you include Will-Executors that joined the network in the meantime (and drop the ones that shut down), and it picks up future protocol changes. diff --git a/docs/user-guide/wallet-backup.md b/docs/user-guide/wallet-backup.md new file mode 100644 index 0000000..b078573 --- /dev/null +++ b/docs/user-guide/wallet-backup.md @@ -0,0 +1,36 @@ +# Backing up wallet and will + +## Where your will actually lives + +Your heirs, dates, and inheritance transactions are stored **inside the Electrum wallet file** — not in your seed. + +!!! danger "Restoring from seed does not restore your will" + If you recreate the wallet from its seed phrase you get your **bitcoin** back, but the BAL inheritance configuration is **gone**. Only the wallet file carries it. + +## How to back it up + +Use Electrum's own command: **File → Save backup**. + +If your computer is stolen or fails, install Electrum plus the BAL plugin on a new machine and open the saved wallet file — your will is there, intact. + +!!! warning "Keep the wallet password" + Without it you cannot open the wallet file, and therefore cannot reach the inheritance data stored inside it. + +## Export the heirs list + +You can export the list of heirs to keep a readable, printable copy of your arrangement. + +![Exporting the heirs list](../img/heirs-export.png){ .screenshot } +*A printable record of who inherits what.* + +!!! tip "Store it thoughtfully" + That export tells anyone who reads it who your heirs are and how much they receive. Treat it with the same care as any other sensitive document — and consider whether the heirs themselves should know in advance. + +## A sensible backup routine + +| What | Where | When | +|---|---|---| +| Wallet file (contains the will) | Two separate physical locations | After every meaningful change to the will | +| Wallet password | Password manager or a sealed physical note | Once, and whenever you change it | +| Seed phrase | Offline, separate from the above | Once | +| [Offline backup transaction](backup-transaction.md) (optional) | USB / notary / trusted person | Every time the will is refreshed | diff --git a/docs/user-guide/wallet-recovery.md b/docs/user-guide/wallet-recovery.md new file mode 100644 index 0000000..dbe03ea --- /dev/null +++ b/docs/user-guide/wallet-recovery.md @@ -0,0 +1,21 @@ +# Using BAL as a wallet recovery net + +Inheritance is not the only use for a time-locked transaction. The same mechanism gives you a **decentralized safety net against losing your seed**. + +## The idea + +Set up an inheritance whose beneficiary is a **second wallet you control** — for example a mobile wallet on your phone. + +If you lose access to the original wallet and therefore stop opening Electrum, the Will-Executors broadcast the transaction on the delivery date and the funds arrive in your backup wallet. If you keep access, you simply keep postponing the date and nothing ever happens. + +## What you need + +- A **second wallet already set up**, whose receiving address you know and whose keys you can actually access. +- The BAL plugin configured on the wallet you want to protect, with that address as the beneficiary. +- A delivery date you are comfortable with, and the discipline to keep it refreshed — see [Keeping the will up to date](updating.md). + +!!! warning "The backup wallet must be genuinely independent" + A recovery destination whose keys live on the same device, or are derived from the same seed, protects you from nothing. Use a different device and a different seed, stored separately. + +!!! tip "It combines with inheritance" + Nothing stops you from listing both a recovery address of your own and your heirs. Remember that the plugin always distributes 100% of the wallet — see [Heirs and shares](heirs.md#the-wallet-is-always-emptied-to-100). diff --git a/docs/user-guide/will-tab.md b/docs/user-guide/will-tab.md new file mode 100644 index 0000000..6c1ae10 --- /dev/null +++ b/docs/user-guide/will-tab.md @@ -0,0 +1,57 @@ +# The WILL tab + +The **WILL** tab is the technical view of your inheritance: one row per inheritance transaction, per Will-Executor. + +![WILL tab](../img/will-tab.png){ .screenshot } +*Each row is a signed inheritance transaction held by one Will-Executor.* + +## Columns + +| Column | Meaning | +|---|---| +| **Locktime** | The delivery date of the inheritance | +| **Txid** | Identifier of the Bitcoin transaction | +| **Will-Executor** | Which server holds this copy | +| **Server** | Whether that server actually has it (see below) | +| **Status** | Progress of the transaction itself | + +## The Server column + +The Server column tells you, independently of the row colour, whether each inheritance transaction is really stored on its Will-Executor. + +![Server column](../img/will-server-column.png){ .screenshot } +*The Server column reports storage state per Will-Executor.* + +| Label | Meaning | +|---|---| +| **Confirmed on server** | The Will-Executor confirmed it has stored the transaction | +| **Sent (not checked)** | Pushed to the Will-Executor, not re-checked since | +| **Send failed / Not on server** | The push failed, or the server no longer has it | +| **Signed (not sent)** | Signed locally, not sent to any Will-Executor | +| **Not sent** | Not signed or sent yet | + +!!! tip "Check your wills periodically" + Right-click a transaction and use the check action to re-query the servers. A row that drifts to *Not on server* is a signal that this Will-Executor is no longer reliable — consider [renewing your will](updating.md) with a different selection. + +## Actions + +![Right-click menu on a will transaction](../img/will-context-menu.png){ .screenshot } +*Right-click a row to act on it.* + +| Action | What it does | +|---|---| +| **Prepare** | Builds the inheritance transaction and adds it to the list | +| **Sign** | Signs it — Electrum asks for your password or hardware wallet confirmation | +| **Broadcast / push** | Sends the signed transaction to the selected Will-Executors | +| **Check** | Asks each server whether it still holds its copy, and updates the Server column | +| **Display / Details** | Opens the Will-Details window | + +!!! note "The plugin finishes the job on close" + When you close Electrum, the plugin completes any of prepare / sign / broadcast that is still pending — asking you to confirm the signature. It never signs on your behalf. + +## Will details + +![Will-Details window](../img/will-details.png){ .screenshot } +*Everything about one inheritance transaction in one window.* + +The details window shows the locktime (delivery date), the creation time, the miner fee, the current status, the list of heirs, the Will-Executor address, and the Will-Executor's fee. diff --git a/docs/will-executors/choosing.md b/docs/will-executors/choosing.md new file mode 100644 index 0000000..9f6aec4 --- /dev/null +++ b/docs/will-executors/choosing.md @@ -0,0 +1,47 @@ +# Choosing Will-Executors in the plugin + +The plugin downloads the [WeList](welist.md) directory by default and tries to use as many Will-Executors as possible. You can also add servers manually, or draw from alternative lists — the WeList makes discovery easier, it does not control access to the network. + +The service list window opens from the Electrum menu: **Tools → Will-executor**. + +![Will-Executor service list](../img/willexecutors-window.png){ .screenshot } +*The list of known Will-Executors, with fees and online status.* + +## Columns + +| Column | Meaning | +|---|---| +| **URL** | Address of the Will-Executor | +| **Base fee** | The commission that server asks, paid only on execution | +| **Info** | Description or website link | +| **Default address** | Bitcoin address where the fee will be sent | +| **Status** | Green dot = server responding | + +## Commands + +| Command | What it does | +|---|---| +| **Ping** | Checks which servers are online | +| **Import** | Imports a Will-Executor list other than the default | +| **Export** | Exports your list — useful when moving to another Electrum installation | +| **Add** | Adds a Will-Executor manually | + +## Per-server actions + +![Right-click menu on a Will-Executor](../img/willexecutors-context-menu.png){ .screenshot } +*Right-click a row for per-server actions.* + +- **Select** — includes this Will-Executor in your inheritance (green check mark). +- **Edit** — edits the corresponding field. +- **Ping** — checks whether that server is online. +- **Delete** — removes it from your list. + +## How to choose well + +- **Quantity first.** One transaction is created per selected server, and only one has to survive to the delivery date. Select generously. +- **Ignore extremes on price.** Too expensive eats into the inheritance; suspiciously cheap may not survive for years. +- **Prefer diversity.** Different operators, different hosting, different jurisdictions — the point of redundancy is that failures are uncorrelated. +- **Re-check periodically.** Use the [Server column](../user-guide/will-tab.md#the-server-column) to confirm your wills are still stored, and renew the will if servers have disappeared. + +!!! info "Adding a server by hand" + You are not limited to the WeList. Servers announced on BitcoinTalk or shared through alternative directories can be added manually with **Add**. diff --git a/docs/will-executors/running-a-server.md b/docs/will-executors/running-a-server.md new file mode 100644 index 0000000..fcb3354 --- /dev/null +++ b/docs/will-executors/running-a-server.md @@ -0,0 +1,127 @@ +# Running a Will-Executor + +This page covers setting up your own Will-Executor node. If you are wondering *why* you would, start with [What Will-Executors are](what-they-are.md). + +!!! warning "Read this first" + Running a Will-Executor is a **long-horizon commitment**, not a quick return. You will hold pre-signed transactions belonging to living people, and you are compensated only when you successfully broadcast an inheritance that confirms on-chain — potentially years from now. Costs are certain; revenue is not. + + Nothing on this page is an offer, a solicitation, or a promise of any economic result. It describes a technical role. + +## What the role actually requires + +- **A server that stays up.** A dedicated machine, a VPS, or a home node — at least one Will-Executor on the network runs on Umbrel OS. Modern releases run comfortably on a small VPS. +- **Reliable connectivity.** Tor-only operation is possible: at least one active Will-Executor is reachable exclusively that way. +- **A Bitcoin full node** with ZMQ enabled (see below). +- **Real maintenance.** Updates, backups, monitoring. A server that fails to broadcast when it matters earns nothing — and, more importantly, fails the user who relied on the network. +- **Discretion.** You will be handling data that reflects the wallets of living people. Privacy and reliability, not just price, are what Will-Executors compete on. + +!!! tip "A Will-Executor doesn't have to be one person" + From the protocol's point of view a Will-Executor is a service plus a Bitcoin address. Several operators can pool resources, present themselves as a single Will-Executor, and use a shared **multisig** address for the fee, splitting proceeds however they agree. A meetup, an association, or a group of friends can run one together. + + Two things to keep in mind: for a user's redundancy, a consortium still counts as **one** Will-Executor; and the internal split is an agreement outside the protocol, which BAL neither arbitrates nor guarantees. + +## The two components + +| Component | Role | +|---|---| +| **`bal-server`** | Receives and stores the pre-signed inheritance transactions sent by plugins | +| **`bal-pusher`** | Watches for new Bitcoin blocks via ZMQ and broadcasts stored transactions once their locktime passes the median time past (MTP) | + +Both live in the [bal-server repository](https://bitcoin-after.life/gitea/bitcoinafterlife/bal-server) (Rust, [releases](https://bitcoin-after.life/gitea/bitcoinafterlife/bal-server/releases)). + +## Prerequisites + +1. **Bitcoin Core compiled with ZMQ support**, with this line in `bitcoin.conf`: + + ```text + zmqpubhashblock=tcp://127.0.0.1:28332 + ``` + +2. **Rust and Cargo** — see the [official installation instructions](https://www.rust-lang.org/tools/install). + +## Installing `bal-server` + +```bash +git clone https://bitcoin-after.life/gitea/bitcoinafterlife/bal-server.git +cd bal-server + +# Ed25519 keypair identifying this Will-Executor +openssl genpkey -algorithm ED25519 -out private_key.pem +openssl pkey -in private_key.pem -pubout -out public_key.pem + +cargo build --release +sudo cp target/release/bal-server /usr/local/bin +bal-server +``` + +!!! danger "Back up `private_key.pem`" + It is the identity of your Will-Executor. Store it securely and restrict its permissions (`chmod 600`). + +### Configuration + +`bal-server` is configured through environment variables: + +| Variable | Description | Default | +|---|---|---| +| `BAL_SERVER_CONFIG_FILE` | Configuration file path — created if missing | `$HOME/.config/bal-server/default-config.toml` | +| `BAL_SERVER_DB_FILE` | SQLite3 database file — created if missing | `bal.db` | +| `BAL_SERVER_BIND_ADDRESS` | Public listening address | `127.0.0.1` | +| `BAL_SERVER_BIND_PORT` | Listening port | `9137` | +| `BAL_SERVER_PUB_KEY_PATH` | Will-Executor Ed25519 public key | `public_key.pem` | +| `BAL_SERVER_BITCOIN_ADDRESS` | Address that receives fees on **mainnet** | — | +| `BAL_SERVER_BITCOIN_FIXED_FEE` | Fixed fee on mainnet | `50000` | +| `BAL_SERVER_TESTNET_ADDRESS` / `..._FIXED_FEE` | Same, for testnet | — / `50000` | +| `BAL_SERVER_SIGNET_ADDRESS` / `..._FIXED_FEE` | Same, for signet | — / `50000` | +| `BAL_SERVER_REGTEST_ADDRESS` / `..._FIXED_FEE` | Same, for regtest | — / `50000` | + +A sample environment file (`bal-server.env`) and a systemd unit (`bal-server.service`) ship with the repository. + +!!! warning "Bind address and exposure" + The default `127.0.0.1` is local-only. To be reachable by users you must expose the service deliberately — typically behind a reverse proxy with TLS, or as a Tor hidden service. Do not expose it carelessly. + +## Installing `bal-pusher` + +`bal-pusher` reads the same database and does the broadcasting. + +```bash +bal-pusher [bitcoin|testnet|regtest] +``` + +### Configuration + +| Variable | Description | Default | +|---|---|---| +| `BAL_PUSHER_CONFIG_FILE` | Configuration file path — created if missing | `$HOME/.config/bal-pusher/default-config.toml` | +| `BAL_PUSHER_DB_FILE` | SQLite3 database file | `bal.db` | +| `BAL_PUSHER_ZMQ_LISTENER` | ZMQ endpoint for block updates | `tcp://127.0.0.1:28332` | +| `BAL_PUSHER_BITCOIN_HOST` | Bitcoin RPC host | `http://127.0.0.1` | +| `BAL_PUSHER_BITCOIN_PORT` | Bitcoin RPC port | `8332` | +| `BAL_PUSHER_BITCOIN_COOKIE_FILE` | Bitcoin RPC cookie file | `$HOME/.bitcoin/.cookie` | +| `BAL_PUSHER_BITCOIN_RPC_USER` | Bitcoin RPC username | — | +| `BAL_PUSHER_BITCOIN_RPC_PASSWORD` | Bitcoin RPC password | — | +| `BAL_PUSHER_SEND_STATS` | Report timing statistics to the WeList | `false` | +| `WELIST_SERVER_URL` | WeList server URL | `https://welist.bitcoin-after.life` | +| `BAL_SERVER_URL` | URL of your Will-Executor | — | +| `SSL_KEY_PATH` | Ed25519 private key (PEM) | `private_key.pem` | + +!!! note "`bal-pusher` must point at the same database as `bal-server`" + `BAL_PUSHER_DB_FILE` and `BAL_SERVER_DB_FILE` have to resolve to the same SQLite file, otherwise the pusher will have nothing to broadcast. + +## RPC interface + +The request/response interface used by the plugin is documented in [`RPC.md`](https://bitcoin-after.life/gitea/bitcoinafterlife/bal-server/src/branch/main/RPC.md) in the repository. + +## Going live + +1. **Test on testnet or regtest first.** The WeList lets users filter by network, so a testnet server is a legitimate way to validate the whole chain of events. +2. **Verify reachability** from outside your own network, at the exact URL you intend to publish. +3. **Set up monitoring and restart policies** (the provided systemd unit is a starting point). +4. **Plan your backups** — the SQLite database holds the wills you have accepted; the Ed25519 key is your identity. +5. **List on the [WeList](welist.md)** if you want automatic discovery by plugin users — {{ bal.welist_fee_sats }} sats per year. Listing is optional; users can also add your server manually. + +!!! tip "CPFP for congested conditions" + Inheritance transactions are built with a prudent miner fee, but a Will-Executor can use **CPFP (Child Pays For Parent)** to speed up confirmation if the network is congested at delivery time. Being the first to get a transaction confirmed is what earns the fee. + +## Getting in touch + +For help setting up a Will-Executor, or to collaborate on the project: **[info@bitcoin-after.life](mailto:info@bitcoin-after.life)** diff --git a/docs/will-executors/welist.md b/docs/will-executors/welist.md new file mode 100644 index 0000000..ea0a92a --- /dev/null +++ b/docs/will-executors/welist.md @@ -0,0 +1,35 @@ +# The WeList directory + +The **WeList** is the public directory of Will-Executors, published at [welist.bitcoin-after.life](https://welist.bitcoin-after.life/). The plugin downloads it by default, so listed servers appear automatically when you set up a will. + +![The WeList leaderboard](../img/welist-website.png){ .screenshot } +*The public Will-Executor leaderboard.* + +## What it shows + +For each server: URL, description, fee, software version, block height, wins, and score. You can filter by network (**Bitcoin**, **Testnet**, **Testnet4**, **Regtest**) and choose whether to include **Tor** servers. The list is also available as **JSON** for programmatic use. + +!!! note "Data freshness" + Fee, description and version refresh roughly once a day, and may be outdated. The plugin remains the authoritative source at the moment you build your will. + +## Ranking + +Servers are ordered by: excess donated over the yearly fee, then total amount paid, then lower base fee, then WeTime points. + +## Listing your own server + +| | | +|---|---| +| **Yearly fee** | {{ bal.welist_fee_sats }} sats | +| **Listing period** | {{ bal.welist_period_days }} days, starting when the payment reaches 3 confirmations (~30 min) | +| **Renewal window** | From 6 months before expiry, for one additional year | +| **Plugin integration** | Automatic once listed | + +The procedure: enter your server URL on the WeList site, accept the [terms](https://welist.bitcoin-after.life/terms.html), and pay the invoice. Your server appears once the deposit confirms. + +!!! warning "Before you pay" + Make sure your server is **online and reachable** at the exact URL you submit. There are no refunds after payment, and later URL changes require proof of ownership. + +## Listing is optional + +Being on the WeList is **not** required to operate a Will-Executor. Users can add servers manually, and the plugin can draw from alternative lists. The WeList exists to simplify discovery, not to gate participation in the network. diff --git a/docs/will-executors/what-they-are.md b/docs/will-executors/what-they-are.md new file mode 100644 index 0000000..e9500f4 --- /dev/null +++ b/docs/will-executors/what-they-are.md @@ -0,0 +1,44 @@ +# What Will-Executors are + +A Will-Executor is a server with one narrow job: **it stores pre-signed inheritance transactions and broadcasts them to the Bitcoin network on the date the user chose.** Nothing else. + +## What a Will-Executor cannot do + +- **It cannot spend your funds.** It holds no keys. +- **It cannot alter the transaction.** The transaction is already fully signed by you; any modification would invalidate the signature. +- **It cannot execute early.** The transaction carries an absolute `nLockTime`, and Bitcoin nodes reject it until that date is reached. +- **It does not coordinate with other Will-Executors.** Every node is independent. There is no central point to attack or compromise. + +What it *does* require is longevity: being still there, still working, years from now. + +## Why competition makes it work + +When you create your will, the plugin generates **a separate transaction for every Will-Executor you selected**. Each of those transactions carries an extra output paying that specific server its fee. + +On the delivery date, every Will-Executor holding a copy can broadcast. Only one transaction can confirm — and the fee goes to whoever broadcast the one that made it into a block. It is a competitive mechanism, conceptually close to mining: **the reward goes to whoever is actually operating**, not to whoever is merely listed in a directory. + +For you, the consequence is simple and reassuring: **only one of your selected Will-Executors has to still be alive on the delivery date** for the inheritance to be executed. + +!!! tip "Select as many as you can" + Redundancy is the whole guarantee. Each additional Will-Executor is another independent chance that someone is still there when it matters. + +## Who sets the fees + +Each Will-Executor freely sets its own commission — there is no price imposed by the protocol. The market sets the price. + +When creating your will you can exclude servers you consider too expensive. It is also worth being wary of **suspiciously cheap** ones: a price that cannot cover the cost of running a server for years is a hint that the service may not last. + +!!! warning "Don't lower the fee manually" + Fees are shown both on the [WeList](welist.md) and inside the plugin. Setting a fee below what a server asks will typically get your transaction rejected by that server. + +## New servers cannot join old wills + +Inheritance transactions are pre-signed and already contain the address of the Will-Executor that will be paid. A signed transaction cannot be modified — so a server that joins the network today receives the wills created **from today onwards**, never the ones already out there. + +This is why renewing your will periodically is useful: it brings newer Will-Executors into your selection. See [Keeping the will up to date](../user-guide/updating.md). + +## What they can see + +The Will-Executors you select receive pre-signed transactions that reflect the state of your wallet. That is why the choice of which servers receive them stays entirely in your hands, and why privacy — alongside reliability — is the real ground of competition between Will-Executors. + +Transactions stored on the servers are **not publicly accessible**. From the plugin you can verify at any time that yours is still there: see the [Server column](../user-guide/will-tab.md#the-server-column). diff --git a/internal/README.md b/internal/README.md new file mode 100644 index 0000000..dc68149 --- /dev/null +++ b/internal/README.md @@ -0,0 +1,14 @@ +# Internal notes — NOT published + +Everything in this folder is versioned in Gitea but **excluded from the built site** +(`mkdocs build` only reads `docs/`). Use it for material that is not ready — or not +intended — for public publication. + +| File | Purpose | +|---|---| +| `design-choices-DRAFT.md` | Competitor comparison and the BIP 128 critique. **Not validated by the devs.** | +| `source-notes.md` | Where each part of the manual came from, and what still needs verification. | +| `screenshot-checklist.md` | How to produce and replace the screenshots. | + +To publish something from here: move the file into `docs/`, add it to the `nav` in +`mkdocs.yml`, and remove the draft warnings. diff --git a/internal/brand-assets.md b/internal/brand-assets.md new file mode 100644 index 0000000..aa6fff9 --- /dev/null +++ b/internal/brand-assets.md @@ -0,0 +1,54 @@ +# Brand assets + +The official logo files are installed. This page explains what each one is and when to use it. + +## Files in `docs/assets/` + +| File | What it is | Used by | +|---|---|---| +| `logo.svg` | Copy of `logo-mark-white.svg` | Site header (Material reads `theme.logo`) | +| `logo-mark-white.svg` | Symbol only, white | Header (on the accent blue), dark scheme | +| `logo-mark-black.svg` | Symbol only, black | Homepage lockup in light scheme | +| `logo-lockup-black.svg` | Symbol **+ "Bitcoin After Life"** wordmark, black | Print, covers, external use | +| `logo-lockup-white.svg` | Same lockup, white | Dark backgrounds, external use | +| `favicon.png` | Symbol in `#2d6cdf`, 256×256 | Browser tab (`theme.favicon`) | + +All were derived from the official `Logo nero.svg`: recoloured, and — for the mark-only +versions — cropped to `viewBox="0 0 205.29 212.5"` to remove the wordmark band. + +## The Optima dependency — important + +The wordmark in the **lockup** files is live `` in **Optima-Bold**, not outlines. +On any machine without Optima installed, the browser substitutes another face and the +wordmark no longer matches the brand. + +Two mitigations are already in place: + +1. A fallback stack — `'Optima-Bold', Optima, Candara, 'Segoe UI', 'Trebuchet MS', sans-serif`. +2. The three original absolutely-positioned text runs (`Bitcoin` / ` ` / `After Life`) were + merged into a **single centred ``**. In the original they overlapped badly whenever + Optima was missing. + +**The proper fix**, when someone has Optima and a vector editor: open the lockup, convert +the text to outlines (Illustrator: *Type → Create Outlines*; Inkscape: *Path → Object to Path*), +re-export, and replace the two lockup files. After that the wordmark is font-independent. + +Until then, prefer the **mark-only** files wherever the rendering environment is unknown. + +## Why the homepage does not use the lockup SVG + +The homepage builds its own lockup: the mark, then "Bitcoin After Life" as HTML text in +**Inter**. This mirrors what the website's top bar does, and sidesteps the Optima problem +entirely. See `.bal-hero` in `docs/stylesheets/extra.css`. + +## Typeface note + +`OPTIMA.TTF` ships in the `bal-website` repo, but Optima is a licensed commercial typeface. +Do **not** self-host it as a webfont in this repository unless the project holds a webfont +licence. The manual uses Inter, matching the landing page's `--display` / `--body` stack. + +## Replacing a logo later + +Keep the filenames. Drop the new file over the old one and rebuild — `mkdocs.yml`, +`index.md` and the CSS all reference these names, so nothing else changes. If you replace +`logo-mark-white.svg`, copy it over `logo.svg` too (that is the header logo). diff --git a/internal/design-choices-DRAFT.md b/internal/design-choices-DRAFT.md new file mode 100644 index 0000000..cdaf79b --- /dev/null +++ b/internal/design-choices-DRAFT.md @@ -0,0 +1,133 @@ +# DRAFT — Design choices and comparison with other approaches + +> **STATUS: NOT PUBLISHED. NOT VALIDATED BY THE DEVELOPERS.** +> +> This page contains technical positioning material that must be reviewed before it +> becomes an official project statement. It is kept here, out of the published site, +> so it is ready when that review happens. +> +> Source: internal drafts (July 2026), corrected version of 24/07/2026. +> Tone rule: factual, no disparagement — these are design trade-offs, not mistakes. + +## Three different approaches + +| | Liana (Wizardsardine) | Timelock Recovery (Electrum plugin) | BAL | +|---|---|---|---| +| Mechanism | **Script-based** wallet (Miniscript): the timelock lives in the script locking the UTXOs | **Pre-signed transactions**: an Alert + Recovery pair | **Pre-signed transactions** with absolute `nLockTime` | +| Timelock type | Relative (CSV / BIP 68), per UTXO | Relative (nSequence / BIP 68) on the *second* transaction | Absolute (`nLockTime`) | +| What the BIP 68 cap limits | Maximum inactivity before the recovery key becomes usable | Only the **cancellation window** (2–388 days), not the inheritance horizon | — (does not use relative timelocks) | +| Distribution | None: on-chain | User/heir keeps the plan; monitoring services exist | Decentralized Will-Executor network | + +## Liana: where the ~15 month limit comes from + +Liana uses **relative** timelocks (CSV/BIP 68) inside the script: the countdown starts +when each individual UTXO is received. The field is 2 bytes, so it cannot exceed 65,535 — +a **Bitcoin consensus limit**, not a wallet limitation. In blocks: 65,535 blocks ≈ **455 +theoretical days (~15 months)**. In the time variant (512-second units) the cap is +equivalent to **~388 days**. + +Documented consequence, acknowledged by its own developers: the user must periodically +"rotate" coins (send them to a new address of their own) to reset the timer — paying fees +each time — otherwise the recovery path opens. The project itself notes this fits poorly +with cold wallets that are never touched, and that a non-technical heir may struggle, +since not all UTXOs unlock at the same block height. + +**The DCA example (valid for Liana, NOT for Timelock Recovery):** someone buying monthly +for a year accumulates twelve UTXOs with twelve distinct countdowns. If they die after the +last purchase, the heirs do not find a single inheritance but **unlocks staggered over more +than a year**, with several recovery transactions to execute at different moments — unless +the user had manually consolidated the UTXOs (which is the same periodic rotation already +required). + +## Timelock Recovery: NOT like Liana — closer to BAL + +Timelock Recovery is **not** a script wallet and does **not** cap the inheritance horizon +at ~1 year. It uses a pair of pre-signed transactions: + +1. **Alert Transaction** — consolidates funds to a new address of the user's own wallet + (plus small anchor outputs for CPFP). The heir broadcasts it when needed, and its + appearance on-chain acts as an *alert* to the user. +2. **Recovery Transaction** — spends the Alert's output to the heirs' wallets, with a + **relative nSequence** imposing a waiting period. + +The **388** figure belongs here: it is the maximum **cancellation window** (whole days, +2 to 388), not the duration of the inheritance. Beyond 388 days you overflow BIP 68's +bits. The logic is the opposite of Liana's: that window gives a still-living user time to +cancel everything (by spending the funds) if the plan is triggered by mistake or under +duress. + +**Positioning note:** the author of Timelock Recovery has filed **BIP 128** (draft, +assigned 5 February 2026) to standardise the JSON format of such plans, with a reference +implementation in the plugin officially included in Electrum's repository. This is a +competitor on a standardisation trajectory — to be treated with respect and precision. + +## BIP 128's critique of BAL's approach — have the answer ready + +The Motivation section of BIP 128 explicitly criticises the scheme BAL uses: the single +pre-signed transaction with a future `nLockTime`. The argument: in the "all is well" +scenario (user alive, seed not lost), as the date approaches the user **must** access the +wallet and spend a UTXO to revoke the transaction, otherwise it becomes valid and moves +the funds **with no cancellation period**. There is no window for second thoughts: on the +date, the transaction is valid and the Will-Executors broadcast it. + +This is the most serious technical objection BAL will face from a competent audience. It +should be met head-on, not avoided. Elements of a reply (**to be validated by the devs**): + +- The **2–3 year renewal policy** with a rolling deadline is precisely the safeguard: someone + who renews never gets close to the date. +- The user always retains control: spending a single UTXO invalidates the inheritance. + Revocation is always in their hands and requires nobody's permission. +- The plugin allows setting a reminder in the system calendar. +- Declared trade-off: BAL chooses **simplicity for the heir** (one date, one transaction, + nothing to execute) at the price of requiring **renewal discipline from the owner**. + Timelock Recovery chooses the opposite: no looming deadline for the owner, but the heir + must execute two transactions in sequence and wait out the cancellation period. +- Possible future improvement (issue for [DEV]): an alert / cancellation-window mechanism + in BAL as well. + +## BAL's real advantage, stated precisely + +Not "the others are limited to one year" — that is imprecise and easy to attack. The +correct positioning rests on three points: + +1. **Nothing required of the heirs.** With Timelock Recovery someone must broadcast the + Alert, wait days or months, then broadcast the Recovery — knowing what they are doing + and having kept the plan. With BAL the Will-Executor network broadcasts on its own: the + heir may not even know in advance. +2. **No consensus-forced rotation** (vs Liana), and no problem of UTXOs unlocking at + different times: a single date for the whole wallet. +3. **Distributed redundancy.** The plan does not depend on a file someone must keep and + find: one Will-Executor out of N still operating is enough. (The USB file remains as an + extra backup.) + +## Technical points not to get wrong in public + +- The 65,535 limit is a **Bitcoin consensus** limit (BIP 68) and applies only to **relative** + timelocks. Absolute `nLockTime` has no such cap: in practice it can set dates decades away + (with 32-bit Unix timestamps the practical limit is the year 2106). +- Do **not** say "Timelock Recovery only allows one year of inheritance" — it is **false**, + and anyone familiar with the project would dismantle it instantly. The 388 is the maximum + cancellation window. +- Do **not** say "Liana is limited to 388 days" without qualification: in the block variant + it is 65,535 blocks (~455 theoretical days, ~15 months); 388 days is the time variant. +- Remember that transactions with a future `nLockTime` are **not accepted by the mempool** + until the date is reached — this is why someone (the Will-Executors) must broadcast them + at the right moment. +- Balance note: any very long timelock carries a theoretical risk tied to the future + evolution of the Bitcoin network — a further argument for periodic renewal. + +## Editorial rules carried over from the source drafts + +- Never use, in any public version: "investment", "return", "yield", "pension", + "passive income", or any projection of future sat or fee prices. +- Always keep the risk disclaimer when publishing Will-Executor recruitment material. +- Correct formula for Electrum: "listed in Electrum's third-party plugin directory" — + **never** "approved by Electrum". + +## Open actions + +1. Have the devs validate the technical FAQ answers (what a Will-Executor can actually see, + CPFP) and above all the reply to the BIP 128 critique — the most exposed point of BAL's design. +2. Evaluate as a [DEV] issue a possible alert / cancellation mechanism in BAL. +3. Turn the Will-Executor recruitment article into a blog post (the remaining `[to complete]` + fields need dev input: current fee range, minimum system requirements). diff --git a/internal/screenshot-checklist.md b/internal/screenshot-checklist.md new file mode 100644 index 0000000..f868a4d --- /dev/null +++ b/internal/screenshot-checklist.md @@ -0,0 +1,50 @@ +# Screenshots — how to produce and replace them + +## The short version + +Every image in the manual is listed in **`screenshots.yml`** at the project root. +To replace one, save your screenshot as `docs/img/` using **exactly** the +filename from the manifest. No Markdown edit is needed — the pages already point there. + +```bash +python3 tools/make_placeholders.py --list # what's still missing +python3 tools/make_placeholders.py # fill gaps with placeholders +``` + +Placeholders never overwrite a real image. + +## Capture rules — keep these identical everywhere + +- **Electrum window only**, not the whole desktop. + Windows: ++win+shift+s++ · macOS: ++cmd+shift+4++ then ++space++ · Linux: your screenshot tool's window mode. +- **~1280×800**, system zoom at 100%. +- **One theme** for the entire manual — never mix light and dark shots. +- **PNG** format. + +## Data hygiene — this is the important part + +Screenshots of an inheritance plugin leak real information if you are careless. + +- Use a **dedicated test wallet**, ideally on testnet. +- **Fake heir names** (Jonny, Andrea — as in the original manual). +- **Round, obviously fake amounts.** +- **No real Bitcoin address** that belongs to you or anyone you know. +- Check the window title bar, the status bar, and any visible file paths — they often + contain a username or a real wallet filename. + +## Annotations + +If you add arrows or highlight boxes, keep one consistent style across the whole manual: +same colour, same stroke width, same arrowhead. Inconsistent annotation looks worse than none. + +## Adding a new image + +1. Add an entry to `screenshots.yml` (`file`, `page`, `shows`). +2. Reference it in the page: + + ```markdown + ![Alt text](../img/your-file.png){ .screenshot } + *Caption line.* + ``` + +3. Run `python3 tools/make_placeholders.py` so the build stays green until the real shot exists. diff --git a/internal/source-notes.md b/internal/source-notes.md new file mode 100644 index 0000000..9bf4315 --- /dev/null +++ b/internal/source-notes.md @@ -0,0 +1,47 @@ +# Source notes — where this manual came from, and what to verify + +Compiled July 2026. Keep this updated whenever the manual is revised. + +## Sources used + +| Source | Used for | +|---|---| +| [bitcoin-after.life](https://bitcoin-after.life) (homepage + FAQ) | Current behaviour: wizard, Server column, postpone/anticipate logic, compatibility, wallet-backup use case. **Primary source — most current.** | +| [WeList](https://welist.bitcoin-after.life/) | Listing fee, ranking, networks, renewal window | +| [bal-server](https://bitcoin-after.life/gitea/bitcoinafterlife/bal-server) README + RPC.md | The entire "Running a Will-Executor" page | +| [bal-electrum-plugin](https://bitcoin-after.life/gitea/bitcoinafterlife/bal-electrum-plugin) releases | Version/Electrum compatibility table | +| BAL MANUAL revB (PDF, Jan 2025) | Operational detail retained where still valid: 100% sizing rules, heir fields, wallet-file vs seed, UTXO privacy, export list | +| Internal drafts (July 2026) | Will-Executor FAQ, competition/incentive model, consortium & multisig, renewal cadence | + +## Where the old PDF is now WRONG — do not reuse + +| PDF revB says | Reality | +|---|---| +| Install by copying files into the `plugins/` folder | Tools → Plugins → **install from file** (zip), Electrum 4.7.2 | +| "BAL 1.0" | Plugin v0.2.6 | +| Manual step-by-step parameter setup | Guided **wizard** since v0.2.0 | +| Check Alive is a base parameter | **Advanced mode** only | +| 9-state colour table for transaction status | **Server column** with 5 textual labels | +| Postponing always requires an on-chain invalidation | Balance/heir changes → will **anticipated by one day and redistributed**, no on-chain fee. On-chain invalidation only for a genuine postponement | +| Will-Executor lists come from BitcoinTalk | **WeList** directory, downloaded by default | +| "prepare / sign / broadcast" run automatically on close | Still true, but the plugin **asks** — it never signs on your behalf | + +## To verify with the developers before the next revision + +1. **Exact execution tolerance.** The manual states "~1 hour after the set time, due to the + 11-block median". Confirm this still holds. +2. **Relative (Raw) date syntax.** The PDF documents `d` and `y` suffixes. Confirm which + suffixes the current wizard accepts, and whether Raw input still exists alongside the calendar. +3. **What a Will-Executor can actually see** — the FAQ answer is deliberately cautious. + A precise formulation would be better. +4. **Default miner fee.** The PDF said 100 sat/vbyte. The current wording says only "a prudent + default" — confirm the actual value so it can be stated. +5. **Fee range currently charged** by Will-Executors on the network (for the recruitment article). +6. **Minimum system requirements** for a Will-Executor node, stated concretely. +7. **BIP 128 critique** — see `design-choices-DRAFT.md`. The single most exposed point. + +## Deliberately left out of the published manual + +- Competitor comparison and BIP 128 response → `design-choices-DRAFT.md` (needs dev validation). +- Will-Executor recruitment article → belongs on the blog, not in a manual, and still has + `[to complete]` fields. diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..e27b5e5 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,117 @@ +site_name: Bitcoin After Life — Manual +site_description: Manual for the Bitcoin After Life (BAL) Electrum plugin and the Will-Executor network +site_url: https://bitcoin-after.life/docs/ +use_directory_urls: false +repo_url: https://bitcoin-after.life/gitea/bitcoinafterlife/bal-docs +repo_name: Gitea +edit_uri: _edit/main/docs/ + +theme: + name: material + # Brand assets — see internal/brand-assets.md for where the official files live. + logo: assets/logo.svg + favicon: assets/favicon.png + palette: + - media: "(prefers-color-scheme: light)" + scheme: default + primary: custom + accent: custom + toggle: { icon: material/weather-night, name: Switch to dark mode } + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: custom + accent: custom + toggle: { icon: material/weather-sunny, name: Switch to light mode } + font: + text: Inter + code: Roboto Mono + features: + - navigation.sections + - navigation.top + - navigation.footer + - navigation.indexes + - search.suggest + - content.action.edit + - content.code.copy + +extra_css: + - stylesheets/extra.css + +nav: + - Home: index.md + - Getting started: + - Installation: getting-started/installation.md + - Create your first will: getting-started/quick-start.md + - User guide: + - Heirs and shares: user-guide/heirs.md + - Delivery time: user-guide/delivery-time.md + - Check Alive: user-guide/check-alive.md + - The WILL tab: user-guide/will-tab.md + - Keeping the will up to date: user-guide/updating.md + - Offline backup transaction: user-guide/backup-transaction.md + - Wallet recovery use case: user-guide/wallet-recovery.md + - Backing up wallet and will: user-guide/wallet-backup.md + - Hardware wallets: user-guide/hardware-wallets.md + - Compatibility: user-guide/compatibility.md + - Will-Executors: + - What they are: will-executors/what-they-are.md + - Choosing them in the plugin: will-executors/choosing.md + - The WeList directory: will-executors/welist.md + - Running a Will-Executor: will-executors/running-a-server.md + - Protocol: + - How it works: protocol/how-it-works.md + - Security & Privacy: security-privacy.md + - FAQ: faq.md + +plugins: + - search + - macros: + on_error_fail: true # a typo in a variable breaks the build, not the page + +markdown_extensions: + - admonition + - attr_list + - md_in_html + - tables + - footnotes + - pymdownx.details + - pymdownx.superfences + - pymdownx.tabbed: { alternate_style: true } + - toc: { permalink: true } + +# --- Italian translation (not enabled yet) ------------------------------------ +# To add Italian: pip install mkdocs-static-i18n then uncomment: +# plugins: +# - search +# - i18n: +# docs_structure: suffix # index.md (EN) + index.it.md (IT) +# languages: +# - locale: en +# default: true +# name: English +# - locale: it +# name: Italiano +# Create it.md siblings only for the pages you have translated; untranslated +# pages automatically fall back to English. +# ------------------------------------------------------------------------------ + +# ============================================================================= +# SINGLE SOURCE OF TRUTH FOR VERSIONS +# Change a value here and it updates everywhere in the manual. +# Used in pages as {{ bal.plugin_version }} etc. +# ============================================================================= +extra: + bal: + plugin_version: "0.2.6" # latest plugin release + electrum_tested: "4.7.1" # Electrum version that release was tested against + electrum_latest: "4.7.2" # latest stable Electrum the manual assumes + welist_fee_sats: "50,000" # WeList yearly listing fee + welist_period_days: "365" + last_reviewed: "2026-07" # bump when you do a full pass over the manual + social: + - icon: material/web + link: https://bitcoin-after.life + - icon: material/source-repository + link: https://bitcoin-after.life/gitea/bitcoinafterlife + +copyright: Bitcoin After Life Protocol — open source, Bitcoin-only, no FIAT used. diff --git a/screenshots.yml b/screenshots.yml new file mode 100644 index 0000000..e872799 --- /dev/null +++ b/screenshots.yml @@ -0,0 +1,94 @@ +# Screenshot manifest — single source of truth for the images used in the manual. +# +# HOW TO UPDATE AN IMAGE +# 1. Take the screenshot. +# 2. Save it as docs/img/ using EXACTLY the filename below. +# 3. Done. No Markdown edit needed — pages already point at these filenames. +# +# Anything still missing is auto-filled with a visible placeholder by: +# python3 tools/make_placeholders.py +# +# Recommended capture settings (keep identical across all shots): +# - Electrum window only (not the whole desktop), ~1280x800, 100% system zoom +# - Same Electrum theme for every shot (do not mix light/dark) +# - Dummy data only: fake heir names, round amounts, no real address or balance + +screenshots: + - file: install-electrum-plugins-menu.png + page: getting-started/installation.md + shows: "Electrum menu Tools -> Plugins, before installing BAL" + - file: install-from-file.png + page: getting-started/installation.md + shows: "The 'install from file' dialog with the BAL zip selected" + - file: install-plugin-enabled.png + page: getting-started/installation.md + shows: "Plugin list with Bitcoin After Life enabled (checkbox ticked)" + - file: overview-tabs.png + page: getting-started/installation.md + shows: "Electrum main window with the new HEIRS and WILL tabs visible" + + - file: wizard-01-start.png + page: getting-started/quick-start.md + shows: "First screen of the guided will wizard" + - file: wizard-02-heirs.png + page: getting-started/quick-start.md + shows: "Wizard step: entering heir address and share" + - file: wizard-03-delivery-time.png + page: getting-started/quick-start.md + shows: "Wizard step: choosing the delivery date (calendar)" + - file: wizard-04-willexecutors.png + page: getting-started/quick-start.md + shows: "Wizard step: selecting Will-Executors, with fees visible" + - file: wizard-05-summary.png + page: getting-started/quick-start.md + shows: "Wizard final summary before signing" + + - file: heirs-tab.png + page: user-guide/heirs.md + shows: "HEIRS tab with two heirs configured" + - file: heirs-new-heir.png + page: user-guide/heirs.md + shows: "New Heir dialog: name, address, amount/percentage" + - file: heirs-export.png + page: user-guide/wallet-backup.md + shows: "Exporting the heirs list to a printable file" + + - file: settings-advanced-mode.png + page: user-guide/check-alive.md + shows: "Plugin settings with Advanced mode toggle" + - file: settings-check-alive.png + page: user-guide/check-alive.md + shows: "Check Alive parameter in advanced settings" + - file: settings-backup-transaction.png + page: user-guide/backup-transaction.md + shows: "Backup Transaction option in the plugin parameters" + + - file: will-tab.png + page: user-guide/will-tab.md + shows: "WILL tab listing inheritance transactions" + - file: will-server-column.png + page: user-guide/will-tab.md + shows: "Close-up of the Server column with different labels" + - file: will-context-menu.png + page: user-guide/will-tab.md + shows: "Right-click context menu on a will transaction" + - file: will-details.png + page: user-guide/will-tab.md + shows: "Will-Details window with locktime, fee, heirs, executor" + - file: backup-transaction-save.png + page: user-guide/backup-transaction.md + shows: "Saving the offline backup transaction to a file" + + - file: willexecutors-window.png + page: will-executors/choosing.md + shows: "Will-Executor service list window inside Electrum" + - file: willexecutors-context-menu.png + page: will-executors/choosing.md + shows: "Right-click menu on a Will-Executor row (select/edit/ping/delete)" + - file: welist-website.png + page: will-executors/welist.md + shows: "The public WeList leaderboard at welist.bitcoin-after.life" + + - file: hardware-wallet-signing.png + page: user-guide/hardware-wallets.md + shows: "Hardware wallet confirmation prompt while signing the will"