Skip to main content

A GUI for Bitcoin Core optimised to work with airgapped hardware wallets

Project description

Table of Contents

Specter Desktop

"A specter is haunting the modern world, the specter of crypto anarchy."
The Crypto Anarchist Manifesto - Timothy C. May - Sun, 22 Nov 92 12:11:24 PST

Build Status Support the project

DISCLAIMER

This software might be ready to be used but at your own risk.

If something doesn't work open an issue here or ask a question in our Telegram group.

Why?

Bitcoin Core has a very powerful command line interface and a wonderful daemon. Using PSBT and HWI it can also work with hardware wallets, but at the moment it is too linux-way. The same applies to multisignature setups.

The goal of this project is to make a convenient and user-friendly GUI around Bitcoin Core with a focus on multisignature setup with hardware wallets and airgapped devices.

At the moment Specter-Desktop is working with all major hardware wallets including:

  • Trezor
  • Ledger
  • KeepKey
  • BitBox02
  • ColdCard (optionally airgapped, using an SD card)
  • Electrum (optionally airgapped, if running Electrum on an airgapped computer/ phone)
  • Specter DIY (optionally airgapped, using QR codes)
  • Cobo (airgapped, using QR codes)

We also support using the Bitcoin Core as a hot wallet, by importing or generating a random BIP39 mnemonic, but this feature is experimental and we do not recommend using it at this stage. We plan to add support for other hardware wallets as they come up. If you are interested in using Specter with a hardware wallet currently unsupported, let us know by opening an issue here or asking in our Telegram group.

Help wanted: Do you like Specter?

Please help us to push forward, fix bugs, refine FAQs and please help each other in the support channel. As a small team on a tiny budget we are working hard to make Specter better every day – for Bitcoin, for you and for us. We are quite overwhelmed with the response, the guides and shout-outs. Thank you! Stepan, Ben, Kim, all the fellow Specter-Builders & Moritz

Donations are welcome

How to run

Using the Specter Desktop app

The easiest way to run Specter Desktop is by installing the Specter Desktop app, which you can find on the GitHub release page. With this method, all you need to do is just download the right file for your operating system and install it like a normal desktop app (Debian buster is only partially supported)

Installing Specter from Pip

  • Specter requires Python version 3.6 to 3.8. We will support python 3.9 when HWI adds support for it.
  • Bitcoin Core node should be at least v0.19+, better if it's the latest one from bitcoincore.org.
  • HWI support requires libusb
    • Ubuntu/Debian: sudo apt install libusb-1.0-0-dev libudev-dev python3-dev
    • macOS: brew install libusb
    • Windows: follow instructions in windows.md
  • Install Specter
pip3 install cryptoadvance.specter
  • Run Specter
python3 -m cryptoadvance.specter server 
  • Upgrade Specter
pip3 install cryptoadvance.specter --upgrade

After that, Specter will be available at http://127.0.0.1:25441/.

You can also run it using Tor, provide SSL certificates to run over https. Https is especially important because browsers don't allow the website to access the camera without secure connection, and we need camera access to scan QR codes.

An example how to run Specter server with SSL certificates (--key, --cert) over Tor (make sure to walk through the Tor-document ):

python3 -m cryptoadvance.specter server --tor --cert=./cert.pem --key=./key.pem

Connect Specter to Bitcoin Core

If your Bitcoin Core is using a default data folder the app should detect it automatically. If not, consider setting rpcuser and rpcpassword in the bitcoin.conf file or set in directly in the specter-app settings.

If you are using Bitcoin Core with GUI, set server=1 in bitcoin.conf. This setting allows other programs to talk to the rpc server of Bitcoin Core. It's automatically enabled when you are using bitcoind, but disabled in bitcoin-qt.

If you use Specter from a remote machine and want to use it with hardware wallets connected via USB, please read this guide on setting up HWIBridge to facilitate such connection to hardware wallets.

Have a look at DEVELOPMENT.md for further information about hacking on Specter-desktop.

Tips and tricks (detailed instructions)

Errors, doubts.. Read our FAQ!

If you're stuck while installing/configuring Specter or you're looking for more informations about the project, read our FAQ!

A few screenshots

Adding a new device

Creating a new wallet

Wallet interface

Configuration

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

cryptoadvance.specter-1.3.1.tar.gz (2.7 MB view details)

Uploaded Source

Built Distribution

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

cryptoadvance.specter-1.3.1-py3-none-any.whl (2.8 MB view details)

Uploaded Python 3

File details

Details for the file cryptoadvance.specter-1.3.1.tar.gz.

File metadata

  • Download URL: cryptoadvance.specter-1.3.1.tar.gz
  • Upload date:
  • Size: 2.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for cryptoadvance.specter-1.3.1.tar.gz
Algorithm Hash digest
SHA256 b9dd1c7b601ac17d8e452aca8b7b06a51a3332dcdaef18a35ce9b9a23bc8aeed
MD5 308354a52d6930094e12ddae0ccaaf27
BLAKE2b-256 538cf89aaa9a96367f23b509fbb3bdc66f61a7e3eca0a14256dd5b7719a78778

See more details on using hashes here.

File details

Details for the file cryptoadvance.specter-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: cryptoadvance.specter-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for cryptoadvance.specter-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1afb9c56c7d93edb062183c253c9a0e91e2a343c062a3523ca88f4b01fefd971
MD5 692ba9af29899ea7bc7d1406135a290c
BLAKE2b-256 02afaa68cb4626912a3a9c53826cf7dbcda304d768f5a0bc66e7a3406b4e44c3

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