Bitcoin Inheritance Planner

By Nakamoto.be

Plan your Bitcoin legacy with optimal multi-signature arrangements and time-locked contracts

Your Bitcoin Holdings

Provide details about your Bitcoin assets and storage methods

5/10
Beginner Expert

Beneficiaries

Add the people who should inherit your Bitcoin

5/10
Low Trust High Trust

Security Preferences

Configure security settings for your Bitcoin inheritance plan

No Plan Generated Yet

Please complete all previous sections to generate your inheritance plan.

Technical Documentation

Detailed guides for implementing Bitcoin inheritance solutions

Multi-Signature Wallet Implementation

Multi-signature wallets require multiple keys to authorize a transaction, providing enhanced security and redundancy.

Setting Up a Multi-Signature Wallet in Electrum

Electrum is one of the most popular and user-friendly tools for creating multi-signature Bitcoin wallets. Here's how to set up a 2-of-3 multi-signature wallet:


# Step 1: Create a new multi-signature wallet
# Launch Electrum and select:
File > New/Restore > Multi-signature wallet

# Step 2: Configure the wallet
# Set number of cosigners (e.g., 3)
# Set number of signatures required (e.g., 2)
# Select "Create a new seed" for each cosigner key you control

# Step 3: For each cosigner you control:
# 1. Write down the seed phrase
# 2. Verify the seed phrase
# 3. Set a password for the wallet

# Step 4: For external cosigners:
# Request their master public key (xpub)
# Enter their xpub when prompted

# Step 5: Finalize the wallet
# Verify all public keys are correct
# Save the wallet file
                                        

Example: Creating a 2-of-3 Multi-Signature Wallet

Here's a concrete example of setting up a 2-of-3 multi-signature wallet where you control two keys and a trusted third party controls one:


# On your computer:
# 1. Create the first key:
electrum create --wallet="multisig_wallet" --multi

# When prompted:
# - Choose "2-of-3" configuration
# - Select "Create a new seed" for the first key
# - Write down and verify the seed
# - Set a password

# 2. Export the master public key (xpub) for the first key:
electrum getmpk -w "multisig_wallet"

# 3. Create a second wallet for your second key:
electrum create --wallet="key2_wallet"

# 4. Export the master public key for the second key:
electrum getmpk -w "key2_wallet"

# 5. Get the third key's master public key from your trusted third party

# 6. Create the multi-signature wallet with all three public keys:
electrum create --wallet="final_multisig" --multi
# Enter the three public keys when prompted
# Set the required signatures to 2
                                        

Spending from a Multi-Signature Wallet

To spend from a multi-signature wallet, you need to collect the required number of signatures:


# 1. Create a transaction:
electrum payto 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa 0.1 --wallet="final_multisig"

# 2. This creates a partially signed transaction
# 3. Sign with your first key:
electrum signtransaction "hex_of_partial_transaction" --wallet="multisig_wallet"

# 4. Sign with your second key or send to the third party for signing:
electrum signtransaction "hex_of_partial_transaction" --wallet="key2_wallet"

# 5. Broadcast the fully signed transaction:
electrum broadcast "hex_of_fully_signed_transaction"
                                        

Multi-Signature with Hardware Wallets

For enhanced security, you can use hardware wallets as part of your multi-signature setup:


# Using Electrum with Trezor, Ledger, or Coldcard:
# 1. Connect your hardware wallet
# 2. In Electrum, create a new multi-signature wallet
# 3. When adding cosigners, select "Hardware wallet" for the keys stored on devices
# 4. Follow the prompts on your hardware wallet to confirm

# For Coldcard-specific setup:
# 1. On your Coldcard, go to Settings > Multisig > Create Airgapped
# 2. Configure the M-of-N scheme (e.g., 2-of-3)
# 3. Export the wallet file to SD card
# 4. Import this file into Electrum
# 5. Repeat for other Coldcards or add other key types
                                        

Time-Lock Implementation

Time-locks allow you to restrict when Bitcoin can be spent, which is useful for inheritance planning.

Using CheckLockTimeVerify (CLTV)

CLTV is a Bitcoin script opcode that prevents spending outputs until a specified block height or time:


# Example Bitcoin Script with CLTV (absolute timelock)
# This locks funds until block height 800000 (approximately year 2025)

<800000> CHECKLOCKTIMEVERIFY DROP
<public key> CHECKSIG

# In Electrum, you can create a transaction with a timelock:
electrum payto --locktime=800000 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa 0.1
                                        

Using CheckSequenceVerify (CSV)

CSV is used for relative timelocks, which prevent spending until a certain number of blocks have passed since the output was confirmed:


# Example Bitcoin Script with CSV (relative timelock)
# This locks funds for 52560 blocks (approximately 1 year) after the output is confirmed

<52560> CHECKSEQUENCEVERIFY DROP
<public key> CHECKSIG

# In Bitcoin Core, you can create a transaction with a relative timelock:
bitcoin-cli createrawtransaction '[{"txid":"previous_tx_id","vout":0}]' '{"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa":0.1}' 52560
                                        

Dead Man's Switch Implementation

A dead man's switch requires periodic action to prevent funds from being automatically transferred:


# Example implementation using a service like Casa Keymaster:
# 1. Set up a 3-of-5 multi-signature wallet
# 2. Configure the inheritance plan in Casa
# 3. Set the waiting period (e.g., 3 months)
# 4. Designate recovery key holders

# Self-hosted solution using a script (pseudocode):
#!/bin/bash
# This script should be run periodically (e.g., via cron)

LAST_CHECK_FILE="/path/to/last_check.txt"
CURRENT_TIME=$(date +%s)
# 6 months in seconds
TIMEOUT=$((60*60*24*30*6))

if [ -f "$LAST_CHECK_FILE" ]; then
  LAST_CHECK=$(cat $LAST_CHECK_FILE)
  ELAPSED=$((CURRENT_TIME - LAST_CHECK))
  
  if [ $ELAPSED -gt $TIMEOUT ]; then
    # Execute the inheritance plan
    # This could send an email to beneficiaries with instructions
    # or trigger a pre-signed transaction
    echo "Executing inheritance plan..."
    # Add your code here
  fi
else
  # First run, just record the time
  echo $CURRENT_TIME > $LAST_CHECK_FILE
fi

# Update the last check time
echo $CURRENT_TIME > $LAST_CHECK_FILE
                                        

Combining Time-Locks with Multi-Signature

For a comprehensive inheritance plan, you can combine time-locks with multi-signature requirements:


# Example Bitcoin Script combining CLTV with multi-signature
# This requires 2-of-3 signatures after block height 800000

IF
  <800000> CHECKLOCKTIMEVERIFY DROP
  <public key 1> CHECKSIGVERIFY
  <public key 2> CHECKSIG
ELSE
  2 <public key 1> <public key 2> <public key 3> 3 CHECKMULTISIG
ENDIF

# This script allows:
# 1. Normal spending with 2-of-3 signatures before the timelock
# 2. After the timelock, only specific keys can spend (e.g., beneficiary keys)
                                        

Key Backup Strategies

Proper key backup is critical for Bitcoin inheritance planning. Here are detailed implementations for various backup strategies.

Shamir's Secret Sharing

Shamir's Secret Sharing splits a secret into multiple shares, requiring a threshold number to reconstruct it:


# Using SLIP39 (Shamir's Secret Sharing for mnemonic codes)
# Example with the Trezor hardware wallet:

# 1. Initialize a new wallet with Shamir Backup
# 2. Choose the number of shares (e.g., 5)
# 3. Set the threshold (e.g., 3)
# 4. Distribute the shares to trusted individuals or secure locations

# Using the shamir-share command-line tool:
# Install: pip install shamir-share

# Create 5 shares with a threshold of 3:
shamir-share split -n 5 -t 3 "your_seed_phrase_here"

# Recover the secret with at least 3 shares:
shamir-share combine share1 share2 share3
                                        

Geographically Distributed Backups

Store multiple copies of your keys in different physical locations:


# Example backup plan:

# 1. Create multiple copies of your seed phrase
# 2. Store in secure, geographically distributed locations:
#    - Home safe
#    - Bank safety deposit box
#    - With a trusted family member in another city
#    - In a secure location in another country

# For enhanced security, split the seed phrase:
# Location 1: Words 1-8
# Location 2: Words 9-16
# Location 3: Words 17-24
# Location 4: Words 1-8 (duplicate)
# Location 5: Words 9-16 (duplicate)
# Location 6: Words 17-24 (duplicate)

# Document the locations securely and ensure beneficiaries know how to access them
                                        

Metal Backups

Metal backups provide protection against fire, water, and other physical damage:


# Metal backup options:

# 1. Cobo Tablet or Cobo Tablet Plus
# Instructions:
# - Use the included punch to stamp your seed words onto metal plates
# - Secure the assembled tablet in a safe location

# 2. Coldcard Seedplate
# Instructions:
# - Stamp your seed words onto the metal plate
# - Store in a fireproof and waterproof container

# 3. Cryptosteel or Cryptosteel Capsule
# Instructions:
# - Arrange the included metal tiles to spell out your seed phrase
# - Secure the assembled device in a safe location

# 4. DIY solution with metal washers:
# - Purchase stainless steel washers
# - Use a metal stamp set to stamp one word per washer
# - Thread washers onto a steel wire or bolt
# - Secure in a fireproof container
                                        

Hybrid Backup Approach

Combine multiple backup strategies for maximum redundancy:


# Example hybrid backup plan:

# 1. Create a 3-of-5 Shamir's Secret Sharing scheme for your seed
#    - Store shares in different locations and with trusted individuals

# 2. Create metal backups of each share
#    - Use different metal backup solutions for diversity

# 3. Create a 2-of-3 multi-signature wallet as an additional layer
#    - Store keys on different hardware wallets
#    - Back up each hardware wallet's seed using the methods above

# 4. Document the entire setup
#    - Create clear instructions for beneficiaries
#    - Store instructions securely but separately from the keys
#    - Consider encrypting the documentation with a password known to beneficiaries
                                        

Bitcoin Inheritance Tools

Various tools can help implement and manage your Bitcoin inheritance plan.

Electrum

Electrum is a lightweight Bitcoin wallet that supports advanced features like multi-signature and time-locks:


# Electrum Command Line Examples

# Create a new standard wallet:
electrum create --wallet="standard_wallet"

# Create a multi-signature wallet:
electrum create --wallet="multisig_wallet" --multi

# Export master public key:
electrum getmpk -w "wallet_name"

# Create a transaction with timelock:
electrum payto --locktime=800000 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa 0.1 -w "wallet_name"

# Sign a transaction:
electrum signtransaction "hex_of_transaction" -w "wallet_name"

# Broadcast a transaction:
electrum broadcast "hex_of_signed_transaction"

# Create a watch-only wallet from xpub:
electrum restore "xpub..." --wallet="watch_only_wallet"
                                        

Bitcoin Core

Bitcoin Core is the reference implementation of Bitcoin and supports advanced scripting:


# Bitcoin Core Command Line Examples

# Create a raw transaction:
bitcoin-cli createrawtransaction '[{"txid":"previous_tx_id","vout":0}]' '{"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa":0.1}'

# Create a transaction with locktime:
bitcoin-cli createrawtransaction '[{"txid":"previous_tx_id","vout":0}]' '{"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa":0.1}' 800000

# Sign a transaction:
bitcoin-cli signrawtransactionwithwallet "hex_of_raw_transaction"

# Send a transaction:
bitcoin-cli sendrawtransaction "hex_of_signed_transaction"

# Create a multi-signature address:
bitcoin-cli createmultisig 2 '["public_key1", "public_key2", "public_key3"]'

# Import a watch-only address:
bitcoin-cli importaddress "address" "label" true
                                        

Specialized Inheritance Services

Several services are specifically designed for Bitcoin inheritance planning:


# Casa Keymaster
# Features:
# - 3-of-5 multi-signature setup
# - Dedicated inheritance protocol
# - Key management service
# - Mobile app for key management
# Website: https://keys.casa/

# Unchained Capital Vaults
# Features:
# - Collaborative custody multi-signature
# - Inheritance planning support
# - Key management assistance
# Website: https://unchained.com/

# Pamela Morgan's Cryptoasset Inheritance Planning Book
# A comprehensive guide to creating a Bitcoin inheritance plan
# Available on Amazon and other book retailers
                                        

Hardware Wallets with Inheritance Features

Some hardware wallets offer features specifically designed for inheritance planning:


# Trezor Model T
# Features:
# - Shamir Backup (SLIP39) support
# - Password manager
# - Multi-signature support
# Website: https://trezor.io/

# Ledger Nano X
# Features:
# - Multi-signature support via Ledger Live
# - Support for multiple apps
# - Bluetooth connectivity
# Website: https://www.ledger.com/
# Available on Amazon

# Coldcard Mk4
# Features:
# - Air-gapped operation
# - Multi-signature support
# - Duress PIN feature
# - Steel backup options
# Website: https://coldcard.com/