Skip to main content

A bitcoin savings wallet for the entire family.

Project description

Bitcoin Safe

A bitcoin savings wallet for the entire family

  • Easy Multisig-Wallet Setup
  • Secure: Hardware signers only
    • All wallets require hardware signers/wallets for safe seed storage
    • Powered by BDK
  • Multi-Language:
    • 🇺🇸 English, 🇨🇳 Chinese - 简体中文, 🇪🇸 Spanish - español de España, 🇯🇵 Japanese - 日本語, 🇷🇺 Russian - русский, 🇵🇹 Portuguese - português europeu, 🇮🇳 Hindi - हिन्दी, Arabic - العربية, 🇮🇹 Italian - italiano, 🇫🇷 French - Français, 🇩🇪 German - Deutsch, (more upon request)
  • Simpler address labels by using categories (e.g. "KYC", "Non-KYC", "Work", "Friends", ...)
    • Automatic coin selection within categories
    • Transaction flow diagrams, visualizing inputs and outputs, click on inputs and output to trace the money flow
  • Sending for non-technical users
    • 1-click fee selection via mempool-blocks
    • Automatic merging of utxos when fees are low
  • Sync & Chat:
    • Encrypted cloud backup (via nostr) of labels
    • Label synchronization between different computers
    • Wallet chat and PSBTs sharing between different computers
  • Fast:
    • Electrum server syncing
    • planned upgrade to Compact Block Filters for the Bitcoin Safe 2.0 release

Fully featured - Easy and Powerful

Multisig setup wizard Create a PSBT, sign and broadcast
Transaction exploring via a diagram Type-to-search in all wallets
Automatic Label Synchronization Multiparty Multisig collaboration

Available on all platforms

Windows Mac OS X Linux
Windows Mac OS X Linux

Comprehensive Feature List

  • Import and Export Capabilities

    • CSV export for all lists
    • CSV import for batch transactions
    • Label import and export using BIP329
    • Label import from Electrum wallet
    • Export of the money flow diagram to svg
    • Drag and drop for Transactions, PSBTs, and CSV files
  • Wallet Features

    • Simplified address labeling using categories like KYC, Non-KYC, Work, Friends
    • Cancel unconfirmed transactions (via Replace-by-Fee)
    • Bump fee on transactions (via Replace-by-Fee)
    • Encrypted wallet storage
    • Backup PDF with Descriptor (Text and QR code)
  • Hardware Signer Connectivity

    • MicroSD (files)
    • USB
    • QR codes (enhanced QR code detection for Laptop cameras)
    • Animated QR codes including Coldcard/BBQr and UR format
  • Search and Filtering Options

    • Fast filtering across txids, utxos, labels, dates, amounts, categories
    • Search across all open wallets, txids, utxos, labels, dates, amounts, categories
  • Languages

    • 🇺🇸 English, 🇨🇳 Chinese - 简体中文, 🇪🇸 Spanish - español de España, 🇯🇵 Japanese - 日本語, 🇷🇺 Russian - русский, 🇵🇹 Portuguese - português europeu, 🇮🇳 Hindi - हिन्दी, Arabic - العربية, 🇮🇹 Italian - italiano, 🇫🇷 French - Français, 🇩🇪 German - Deutsch, (more upon request)
  • Transaction / PSBT Creation

    • 1-click fee selection and mempool block preview
    • Automatic merging of utxos when fees are low
    • Highlighting of own addresses
  • Security and Reliability

    • No seed generation or storage on mainnet
    • Seed storage requires a separate hardware signer
    • Update notifications and signature verification
    • Powered by Bitcoin Development Kit (BDK)
  • Ease of Use for Multisig Wallets

    • Simplified setup for multisig wallets, including step-by-step instructions and PDF backup sheet
    • Test signing with all hardware signers
    • Collaborative wallet management including chat and PSBT sharing via nostr and label synchronization between trusted devices
    • Optional custom nostr server
  • Upcoming Features

    • For the 2.0 Release
      • Compact Block Filters by default
        • Compact Block Filters are fast and private
        • Compact Block Filters (bdk) are being worked on, and will be included in bdk 1.1. For now RPC, Electrum and Esplora are available, but will be replaced completely with Compact Block Filters.

Installation from Git repository

Ubuntu, Debian, Windows

Install dependencies:

sudo apt install  qt6-tools-dev-tools libqt6*
  • Install poetry and run bitcoin_safe

    git clone https://github.com/andreasgriffin/bitcoin-safe.git
    cd bitcoin-safe
    pip install poetry  && poetry install && poetry run python -m bitcoin_safe
    

Mac

  • Run bitcoin_safe

    git clone https://github.com/andreasgriffin/bitcoin-safe.git
    cd bitcoin-safe
    python3 -m pip install poetry && python3 -m poetry install && python3 -m poetry run python3 -m bitcoin_safe
    
  • Optional: dependency zbar

    xcode-select --install
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    brew install zbar 
    

Development

  • Run the precommit manually for debugging
poetry run pre-commit run --all-files

Regtest docker environement with electrs and mempool

  • install docker
# see https://docs.docker.com/engine/install/ubuntu/
  • setting up a regtest environment in docker + mempool instance
curl https://getnigiri.vulpem.com | sudo bash # see https://nigiri.vulpem.com/#install
sudo nigiri start
xdg-open http://localhost:5000/
  • This creates
  • Setup mempool instance
sudo apt install docker-compose
git clone https://github.com/ngutech21/nigiri-mempool.git

pushd nigiri-mempool
sudo docker-compose up -d
sleep 10
# this is needed because the database needs time to start up 
sudo docker-compose up -d
popd
xdg-open http://localhost:8080/

# if the mempool is endlessly loading, then get the debug output with
sudo docker-compose logs -f mempool-api

Control the Regtest environment

  • get coins to an address
nigiri rpc generatetoaddress 1 bcrt1qgsnt3d4sny4w4zd5zl9x6jufc5rankqmgphyms9vz0ds73q4xfms655y4c # mine blocks

# or use the internal faucet
nigiri faucet bcrt1qgsnt3d4sny4w4zd5zl9x6jufc5rankqmgphyms9vz0ds73q4xfms655y4c 0.01
  • Installation from PyPi

Ubuntu, Debian, Windows

  • Install poetry and run bitcoin_safe

    pip install bitcoin-safe
    python -m bitcoin_safe
    

Mac

  • Run bitcoin_safe

    python3 -m pip install bitcoin-safe
    python3 -m bitcoin_safe
    

Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation

Privacy policy

This program uses by default

You can specify your own (personal) server for both in "Network settings".

When enabeling the Sync&Chat feature default relays are used to transmit encrypted data to your approved trusted devices. You can specify your own relay(s) in the Sync&Chat settings.

This program will not transfer any other information to other networked systems unless specifically requested by the user or the person installing or operating it.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitcoin_safe-1.0.0.tar.gz (4.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bitcoin_safe-1.0.0-py3-none-any.whl (5.1 MB view details)

Uploaded Python 3

File details

Details for the file bitcoin_safe-1.0.0.tar.gz.

File metadata

  • Download URL: bitcoin_safe-1.0.0.tar.gz
  • Upload date:
  • Size: 4.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.10.9 Linux/6.8.0-51-generic

File hashes

Hashes for bitcoin_safe-1.0.0.tar.gz
Algorithm Hash digest
SHA256 481d84d8b92b7745d3e022061c76fc9bc6960e3e1a639b8a5b9dfacd4e0f718c
MD5 95d52d3c3198fb0b2ff857f71dec4ad0
BLAKE2b-256 b83f19e8f3b62e5a3705f142eb4dd4ec8bb35085d09556d5b25eaeafc0a3e298

See more details on using hashes here.

File details

Details for the file bitcoin_safe-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: bitcoin_safe-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.10.9 Linux/6.8.0-51-generic

File hashes

Hashes for bitcoin_safe-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e5e931c160ca40673e988c820a58f97b813858eeb20622ce76d71be94c05d050
MD5 7a5c456594d3502c0a80027e37daee8e
BLAKE2b-256 28848103d7fd796b2d5c265aa644500caab781404c5e218368be24b8486499b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page