{"id":13596965,"url":"https://github.com/andreasgriffin/bitcoin-safe","last_synced_at":"2026-03-09T11:03:06.207Z","repository":{"id":162663873,"uuid":"637159880","full_name":"andreasgriffin/bitcoin-safe","owner":"andreasgriffin","description":"A desktop software for managing your cold storage wallets.","archived":false,"fork":false,"pushed_at":"2026-03-05T18:49:27.000Z","size":93141,"stargazers_count":106,"open_issues_count":18,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-05T19:32:27.412Z","etag":null,"topics":["bitcoin","bitcoin-wallet","multisig","multisig-wallets","self-custody"],"latest_commit_sha":null,"homepage":"https://bitcoin-safe.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreasgriffin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2023-05-06T17:34:30.000Z","updated_at":"2026-03-05T16:28:53.000Z","dependencies_parsed_at":"2025-12-18T23:08:57.103Z","dependency_job_id":null,"html_url":"https://github.com/andreasgriffin/bitcoin-safe","commit_stats":null,"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/andreasgriffin/bitcoin-safe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasgriffin%2Fbitcoin-safe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasgriffin%2Fbitcoin-safe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasgriffin%2Fbitcoin-safe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasgriffin%2Fbitcoin-safe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreasgriffin","download_url":"https://codeload.github.com/andreasgriffin/bitcoin-safe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasgriffin%2Fbitcoin-safe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30291844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","bitcoin-wallet","multisig","multisig-wallets","self-custody"],"created_at":"2024-08-01T17:00:16.002Z","updated_at":"2026-03-09T11:03:06.191Z","avatar_url":"https://github.com/andreasgriffin.png","language":"Python","funding_links":[],"categories":["Applications"],"sub_categories":[],"readme":"# Bitcoin Safe\n\n#### A bitcoin savings wallet for the entire family\n\n- **Easy Multisig-Wallet Setup**\n  - [Step-by-Step instructions](https://bitcoin-safe.org/en/knowledge/setup-multisig-wallet/) for a secure MultiSig setup with [PDF backup sheets](https://bitcoin-safe.org/en/features/pdf-export/)\n  - [Test transactions](https://bitcoin-safe.org/en/knowledge/setup-multisig-wallet/) ensure that all hardware signers are ready\n  - Full support for [Coldcard Q](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/coldcard-q/), [Coldcard Mk4](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/coldcard-mk4/), [BitBox02 / BitBox02 Nova](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/bitbox02/), [Foundation Passport](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/passport/), [Jade](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/jade/), [Jade Plus](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/jade-plus/), [Trezor Safe 3 \u0026 5](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/trezor/), [Keystone](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/keystone/), [Ledger Nano S / S Plus / X / Flex](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/ledger/), [Specter DIY / Shield / Shield Lite](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/specter/), [SeedSigner](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/seedsigner/), [Krux](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/krux/), using  *QR*, *USB*, and *SD-card* \n- **Secure**: [Hardware signers only](https://bitcoin-safe.org/en/knowledge/hardware-signer-only/)\n  - [All wallets require hardware signers/wallets](https://bitcoin-safe.org/en/knowledge/hardware-signer-only/) for safe seed storage \n  - Powered by **[BDK](https://github.com/bitcoindevkit/bdk)**\n- **Fast**\n  - Electrum/Esplora server\n  - [Compact Block Filters](https://bitcoin-safe.org/en/knowledge/compact-block-filters/) with [transaction notifications](https://bitcoin-safe.org/en/knowledge/instant-transactions-notifications/)\n- **Multi-Language**\n  - [🇺🇸](https://bitcoin-safe.org/en/),  [🇨🇳](https://bitcoin-safe.org/zh/), [🇪🇸](https://bitcoin-safe.org/es/), [🇯🇵](https://bitcoin-safe.org/ja/), [🇷🇺](https://bitcoin-safe.org/ru/), [🇵🇹](https://bitcoin-safe.org/pt/), [🇧🇷](https://bitcoin-safe.org/pt/), [🇮🇳](https://bitcoin-safe.org/hi/), [🇦🇪](https://bitcoin-safe.org/ar/), [🇮🇹](https://bitcoin-safe.org/it/), [🇫🇷](https://bitcoin-safe.org/fr/), [🇩🇪](https://bitcoin-safe.org/de/), [🇲🇲](https://bitcoin-safe.org/my/), [🇰🇷](https://bitcoin-safe.org/ko/), [🇹🇭](https://bitcoin-safe.org/th/), [🇮🇷](https://bitcoin-safe.org/fa/), [🇵🇱](https://bitcoin-safe.org/pl/), [🇪🇸](https://bitcoin-safe.org/ca/), [🇮🇩](https://bitcoin-safe.org/id/), [🇹🇷](https://bitcoin-safe.org/tr/), [🇺🇦](https://bitcoin-safe.org/uk/), [🇻🇳](https://bitcoin-safe.org/en/) (more upon request)\n- **Simpler** address labels by using categories (e.g. \"KYC\", \"Non-KYC\", \"Work\", \"Friends\", ...)\n  - Automatic coin selection within categories\n  - [Transaction flow diagrams](https://bitcoin-safe.org/en/features/money-flow-diagram/), visualizing inputs and outputs, click on inputs and output to trace the money flow\n- **Sending** for non-technical users\n  - 1-click fee selection via mempool-blocks\n  - Automatic merging of utxos when fees are low\n- **Plugin [Sync \u0026 Chat](https://bitcoin-safe.org/en/plugins/sync-chat/)**\n  - Encrypted cloud backup (via nostr) of labels\n  - [Label synchronization](https://bitcoin-safe.org/en/features/label-sync/) between different computers\n  - [Wallet chat and PSBTs sharing](https://bitcoin-safe.org/en/plugins/sync-chat/) between different computers\n\n\n\n### [Available on all platforms](https://bitcoin-safe.org/en/features/cross-platform/)\n| ![Windows](docs/tx-win.png) | ![Mac OS X](docs/tx-mac.png) | ![Linux](docs/tx-linux.png) |\n|-----------------------------|-----------------------------|----------------------------|\n| Windows                    | Mac OS X                   | Linux                     |\n\n\n## Comprehensive Feature List\n\n- **Import and Export Capabilities**\n  \n  - CSV export for all lists\n  - CSV import for batch transactions\n  - Label import and export using [BIP329](https://bip329.org/)\n  - Label import from Electrum wallet\n  - [Export of the money flow diagram](https://bitcoin-safe.org/en/features/money-flow-diagram/) to svg\n  - Drag and drop for Transactions, PSBTs, and CSV files\n\n- **Wallet Features**\n  \n  - Simplified address labeling using categories like KYC, Non-KYC, Work, Friends\n  - Bump fee on transactions (via Replace-by-Fee)\n  - Receive faster (via Child Pays For Parents)\n  - Encrypted wallet storage\n  - [Backup PDF with Descriptor](https://bitcoin-safe.org/en/features/pdf-export/) (Text and QR code)\n  - Message signing via USB and QR\n\n- **Support for all major [hardware signers](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/)**\n  \n  - [MicroSD (files)](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/)\n  - [USB](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/)\n  - [QR codes](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/) (enhanced QR code detection for Laptop cameras)\n  - [Animated QR codes](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/) including [Coldcard/BBQr](https://bbqr.org/) and [UR](https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-005-ur.md) format\n\n- **[Search and Filtering Options](https://bitcoin-safe.org/en/features/search/)**\n  \n  - [Fast filtering](https://bitcoin-safe.org/en/features/search/) across txids, utxos, labels, dates, amounts, categories\n  - [Search across all open wallets](https://bitcoin-safe.org/en/features/search/), txids, utxos, labels, dates, amounts, categories\n\n- **[Languages](https://bitcoin-safe.org/en/features/multi-language/)**\n  \n  - 🇺🇸 [English](https://bitcoin-safe.org/en/), 🇨🇳 [Chinese – 简体中文](https://bitcoin-safe.org/zh/), 🇪🇸 [Spanish – español de España](https://bitcoin-safe.org/es/), 🇯🇵 [Japanese – 日本語](https://bitcoin-safe.org/ja/), 🇷🇺 [Russian – русский](https://bitcoin-safe.org/ru/), 🇵🇹 [Portuguese – português europeo](https://bitcoin-safe.org/pt/), 🇧🇷 [Portuguese (Brazil) – português do Brasil](https://bitcoin-safe.org/pt/), 🇮🇳 [Hindi – हिन्दी](https://bitcoin-safe.org/hi/), 🇦🇪 [Arabic – العربية](https://bitcoin-safe.org/ar/), 🇮🇹 [Italian – italiano](https://bitcoin-safe.org/it/), 🇫🇷 [French – Français](https://bitcoin-safe.org/fr/), 🇩🇪 [German – Deutsch](https://bitcoin-safe.org/de/), 🇲🇲 [Burmese – မြန်မာ](https://bitcoin-safe.org/my/), 🇰🇷 [Korean – 한국어](https://bitcoin-safe.org/ko/), 🇹🇭 [Thai – ภาษาไทย](https://bitcoin-safe.org/th/), 🇮🇷 [Persian (Farsi) – فارسی](https://bitcoin-safe.org/fa/), 🇵🇱 [Polish – Polski](https://bitcoin-safe.org/pl/), 🇪🇸 [Catalan – Català](https://bitcoin-safe.org/ca/), 🇮🇩 [Indonesian – Bahasa Indonesia](https://bitcoin-safe.org/id/), 🇹🇷 [Turkish – Türkçe](https://bitcoin-safe.org/tr/), 🇺🇦 [Ukrainian – Українська](https://bitcoin-safe.org/uk/), 🇻🇳 [Vietnamese – Tiếng Việt](https://bitcoin-safe.org/en/) (more upon request)\n\n- **Transaction / PSBT Creation**\n  \n  - 1-click fee selection and mempool block preview\n  - Automatic merging of utxos when fees are low\n  - Highlighting of own addresses \n  - [Address poisoning detection and warning](https://bitcoin-safe.org/en/features/address-poisoning/)\n\n- **Security and Reliability**\n  \n  - [No seed generation or storage on mainnet](https://bitcoin-safe.org/en/knowledge/hardware-signer-only/)\n  - [Seed storage requires a separate hardware signer](https://bitcoin-safe.org/en/knowledge/hardware-signer-only/)  \n  - [Update notifications](https://bitcoin-safe.org/en/knowledge/instant-transactions-notifications/) and signature verification\n  - Powered by [Bitcoin Development Kit (BDK)](https://github.com/bitcoindevkit/bdk)\n\n- **Ease of Use for Multisig Wallets**\n  \n  - [Simplified setup](https://bitcoin-safe.org/en/knowledge/setup-multisig-wallet/) for multisig wallets, including step-by-step instructions and [PDF backup sheet](https://bitcoin-safe.org/en/features/pdf-export/)\n  - [Test signing](https://bitcoin-safe.org/en/knowledge/setup-multisig-wallet/) with all hardware signers\n  - [Collaborative wallet management](https://bitcoin-safe.org/en/features/collaboration/) including chat and PSBT sharing via nostr and label synchronization between trusted devices\n  - Optional custom nostr server \n\n- **Fast syncing**: \n  - Electrum/Esplora server\n  - [Compact Block Filters](https://bitcoin-safe.org/en/knowledge/compact-block-filters/) \n\n\n## Installation from Git repository\n\n\n### Ubuntu, Debian\n\n- Install dependencies: \n\n  ```sh\n  sudo apt-get install qt6-tools-dev-tools libzbar-dev libxcb-cursor0 '^libqt6.*$' \n  ```\n\n- Install `poetry` and run `bitcoin_safe`\n  \n  ```sh\n  git clone https://github.com/andreasgriffin/bitcoin-safe.git\n  cd bitcoin-safe\n  pip install poetry  \u0026\u0026 poetry install \u0026\u0026 poetry run python -m bitcoin_safe\n  ```\n\n### Mac\n\n- Clone `bitcoin_safe`\n  \n  ```sh\n  open \"/Applications/Python 3.12/Install Certificates.command\"\n  export SSL_CERT_FILE=$(python3 -m certifi) # to fix ssl errors\n  git clone https://github.com/andreasgriffin/bitcoin-safe.git\n  cd bitcoin-safe\n  ```\n \n\n\n- *Optional*: dependency `zbar`\n  ```sh \n  brew install zbar  \n  ``` \n  \n- Run `bitcoin_safe`\n  \n  ```sh \n  python3 -m pip install poetry \u0026\u0026 python3 -m poetry install \u0026\u0026 python3 -m poetry run python3 -m bitcoin_safe\n  ```\n\n## Development\n\n* Run the precommit manually for debugging\n\n```shell\npoetry run pre-commit run --all-files\n```\n\n#### Regtest docker environement with electrs and mempool\n\n* install docker\n\n```shell\n# see https://docs.docker.com/engine/install/ubuntu/\n```\n\n* setting up a regtest environment in docker + mempool instance\n\n```shell\ncurl https://getnigiri.vulpem.com | sudo bash # see https://nigiri.vulpem.com/#install\nsudo nigiri start\nxdg-open http://localhost:5000/\n```\n\n* This creates\n  * esplora localhost:3000\n    electrs localhost:50000 \n  * and a gui block explorer at http://localhost:5000\n* Setup mempool instance\n\n```shell\nsudo apt install docker-compose\ngit clone https://github.com/ngutech21/nigiri-mempool.git\n\npushd nigiri-mempool\nsudo docker-compose up -d\nsleep 10\n# this is needed because the database needs time to start up \nsudo docker-compose up -d\npopd\nxdg-open http://localhost:8080/\n\n# if the mempool is endlessly loading, then get the debug output with\nsudo docker-compose logs -f mempool-api\n```\n\n* this opens a mempool at http://localhost:8080/\n\n#### Control the Regtest environment\n\n* get coins to an address\n\n```shell\nnigiri rpc generatetoaddress 1 bcrt1qgsnt3d4sny4w4zd5zl9x6jufc5rankqmgphyms9vz0ds73q4xfms655y4c # mine blocks\n\n# or use the internal faucet\nnigiri faucet bcrt1qgsnt3d4sny4w4zd5zl9x6jufc5rankqmgphyms9vz0ds73q4xfms655y4c 0.01\n```\n\n\u003c!-- * ## Installation from PyPi\n\n### Ubuntu, Debian, Windows\n\n- Install `poetry` and run `bitcoin_safe`\n  \n  ```sh\n  pip install bitcoin-safe\n  python -m bitcoin_safe\n  ```\n\n### Mac\n\n- Run `bitcoin_safe`\n  \n  ```sh\n  python3 -m pip install bitcoin-safe\n  python3 -m bitcoin_safe\n  ``` --\u003e\n\n\n\n\n### Verifying the binaries\n\n- In Linux the appimage and deb file hashes should match perfectly with your own built version.\n- The Windows exe files are signed, and therefore the signature needs to be stripped. \n```sh\nosslsigncode remove-signature -in signed-binary.exe -out binary-stripped.exe\n```\n`binary-stripped.exe` hash will match the hash of your built version.\n\n\n\n\n### Qt designer\n\nQt componets can be explored with the qt designer:\n\n```sh\nvirtualenv .env-qt-designer\nsource .env-qt-designer/bin/activate\npip install pyqt6-tools \npyqt6-tools designer \n```\n\n\n\n## Code signing policy\n\n\nFree code signing provided by [SignPath.io](https://about.signpath.io/), certificate by [SignPath Foundation](https://signpath.org/)\n\n\n## Privacy policy\nThis program uses by default\n- the electrum/esplora server of [blockstream.com](https://blockstream.com/) to fetch blockchain data\n- fetches mempool fee information from [mempool.space](https://mempool.space/)\n\nYou can specify your own (personal) server for both in \"Network settings\".\n\nWhen enabeling the Sync\u0026Chat feature [default relays](https://github.com/andreasgriffin/bitcoin-nostr-chat/blob/main/bitcoin_nostr_chat/default_relays.py) are used to transmit encrypted data to your approved trusted devices. You can specify your own relay(s) in the Sync\u0026Chat settings.\n\nThis program will not transfer any other information to other networked systems unless specifically requested by the user or the person installing or operating it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreasgriffin%2Fbitcoin-safe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreasgriffin%2Fbitcoin-safe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreasgriffin%2Fbitcoin-safe/lists"}