Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

docs -  netlify Cirrus CI - Specific Task Build Status Cirrus CI - Specific Task Build Status GitHub Release Date PyPI version Docker Image Version (latest by date) GitHub all releases

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

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.

Documentation and Video Walkthrough

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 User Interface around Bitcoin Core with a focus on multisignature setup with airgapped signing devices (aka hardware wallets).

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

  • SeedSigner
  • Specter DIY (optionally airgapped, using QR codes)
  • Blockstream Jade
  • ColdCard (optionally airgapped, using an SD card)
  • BitBox02
  • Passport
  • Electrum (optionally airgapped, if running Electrum on an airgapped computer/phone)
  • Keystone (airgapped, using QR codes)
  • Trezor
  • Ledger
  • KeepKey
  • Keycard Shell

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.

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). But there are a bunch of other option which you can read up in the installation guide.

Installing Specter from Pip

  • Specter requires Python version 3.9 to 3.10.
  • 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
    • Arch: sudo pacman -Syu && sudo pacman -S libusb
    • Fedora/CentOS: sudo yum -y install libusb libudev-devel python3-devel
  • 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/.

The above installation-method is quite easy but you have to trust pypi. If you want to verify the software completely yourself while still installing via pip3, you can do something like this (adjust yourself for other versions):

wget https://github.com/cryptoadvance/specter-desktop/releases/download/v1.7.0/cryptoadvance.specter-1.7.0.tar.gz
wget https://github.com/cryptoadvance/specter-desktop/releases/download/v1.7.0/SHA256SUMS
sha256sum --ignore-missing --check SHA256SUMS
wget https://github.com/cryptoadvance/specter-desktop/releases/download/v1.7.0/SHA256SUMS.asc
gpg --verify SHA256SUMS.asc
# Now, let's extract the requirements-file and install all requirements with require-hashes
tar -xvzf cryptoadvance.specter-1.7.0.tar.gz cryptoadvance.specter-1.7.0/requirements.txt
# create your ususal virtualenv
virtualenv --python=python3 .env
# activate
pip3 install -r cryptoadvance.specter-1.7.0/requirements.txt --require-hashes --upgrade
# The package cryptoadvance.specter itself cannot be included into requirements.txt
# But we have checked the checksum before so it's safe to install without checking it's hash
pip3 install cryptoadvance.specter-1.7.0.tar.gz

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!

Setting up Specter Desktop

Select how to connect to Bitcoin network

image

Electrum server or... image

...via Bitcoin Core node. image

Add a new device

Select signing device image

Upload public keys image

Create a new wallet

Select the type of wallet image

Pick the device you want to use image

Configure the wallet image

Wallet interface

Transactions & UTXOs image

Receive & Change Addresses image

Send image

Settings -> Important for multi-signature wallets. Export printable PDF backup. image

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-2.1.11rc1.tar.gz (12.6 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-2.1.11rc1-py3-none-any.whl (5.1 MB view details)

Uploaded Python 3

File details

Details for the file cryptoadvance_specter-2.1.11rc1.tar.gz.

File metadata

File hashes

Hashes for cryptoadvance_specter-2.1.11rc1.tar.gz
Algorithm Hash digest
SHA256 dc88261a99d3b67003f5e07db17348a649a969f9a3b319b4b44888af23c6dd86
MD5 ba46c5155357779c31e9f99490e04e9c
BLAKE2b-256 45c27dd6dec1976983d8171f0e7f48afd2d0a2522fb6bf08c607500f05a7d8ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for cryptoadvance_specter-2.1.11rc1.tar.gz:

Publisher: release.yml on cryptoadvance/specter-desktop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cryptoadvance_specter-2.1.11rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for cryptoadvance_specter-2.1.11rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 ee16d51b719dd86cf3cf9450b344eadc3b5f93292fa841fbc102741f5212832f
MD5 16356abb56674365e10ae42fa80cd2bc
BLAKE2b-256 e4555fd82de791e145dbd6c83444eb69f76979ef0c51bea54e21aa9360977e51

See more details on using hashes here.

Provenance

The following attestation bundles were made for cryptoadvance_specter-2.1.11rc1-py3-none-any.whl:

Publisher: release.yml on cryptoadvance/specter-desktop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

2.1.11

2 files

This release

2.1.11rc1 This release

2 files

2.1.10

2 files

2.1.9

2 files

2.1.8

2 files

2.1.7

2 files

2.1.6

2 files

2.1.5

2 files

2.1.4

2 files

2.1.3

2 files

2.1.1

2 files

2.1.0

2 files

2.0.5

2 files

2.0.4

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.14.5

2 files

1.14.4

2 files

1.14.3

2 files

1.14.2

2 files

1.14.1

2 files

1.14.0

2 files

1.13.1

2 files

1.13.0

2 files

1.12.0

2 files

1.11.0

2 files

1.10.5

2 files

1.10.4

2 files

1.10.3

2 files

1.10.2

2 files

1.10.0

2 files

1.9.4

2 files

1.9.2

2 files

1.9.1

2 files

1.9.0

2 files

1.8.1

2 files

1.8.0

2 files

1.7.2

2 files

1.7.1

2 files

1.7.0

2 files

1.6.0

2 files

1.5.1

2 files

1.5.0

2 files

1.4.6

2 files

1.4.5

2 files

1.4.3

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.1

2 files

1.3.0

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.10.4

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.2

2 files

0.9.1

2 files

0.8.1

2 files

0.8.0

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.3

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page