← Back to insights

Download and update Sparrow and Specter from the terminal

October 13, 2026 · Two wallet apps, one habit: check the file before you open it. Part 1 is the first download. Part 2 is every update after it.

Sparrow and Specter are desktop apps for your bitcoin wallet. They show your balance, make your transactions and talk to your signing device. A fake copy of the app can send your coins to someone else. So before you open a new download, you check two things: who made the file, and that nobody changed it.

This takes about two minutes in the terminal. You do the full check once. Each update after that uses a shorter version.

How the check works

The developer does not sign the app file itself. The developer makes a list with the hash of every release file, and signs that list. You check the chain from the top down:

  1. 1The developer's keyYou check its fingerprint by eye, one time. This is the only step you do with your eyes.
  2. 2SignatureThe .asc file. gpg tells you if it is good.
  3. 3Hash listSparrow calls it the manifest. Specter calls it SHA256SUMS.
  4. 4Your app fileThe .dmg. Its hash must be on the signed list.

If one link in the chain fails, stop. Do not open the app.

Three words you need:

Before you start


Part 1: the first download

Sparrow

Step 1. Download three files

mkdir -p ~/sparrow && cd ~/sparrow
V=2.5.5
BASE=https://github.com/sparrowwallet/sparrow/releases/download/$V
curl -fLO $BASE/Sparrow-$V-aarch64.dmg
curl -fLO $BASE/sparrow-$V-manifest.txt
curl -fLO $BASE/sparrow-$V-manifest.txt.asc
ls -lh

Line by line:

The app is about 92 MB. The other two files are small, less than 2 KB each. If the app file is only a few KB, the download failed. Do the step again.

Step 2. Get the key of the developer

curl -fL https://keybase.io/craigraw/pgp_keys.asc -o craigraw.asc
head -1 craigraw.asc
gpg --import craigraw.asc
gpg --fingerprint D4D0D3202FC06849A257B38DE94618334C674B40

You should see

pub   rsa4096 2019-10-03 [SC] [expires: 2027-09-18]
      D4D0 D320 2FC0 6849 A257  B38D E946 1833 4C67 4B40
uid           [ unknown] Craig Raw <craig@sparrowwallet.com>
sub   rsa4096 2019-10-03 [E] [expires: 2027-09-18]

If gpg says No public key, the key you imported is not this key. Stop, delete craigraw.asc and do step 2 again.

Step 3. Check the fingerprint by eye

A computer cannot do this step for you. Compare the fingerprint above with two other sources:

Compare all 40 characters, not only the start and the end. Do not trust this article alone. Any web page can be changed, and that includes ours.

Step 4. Check the signature

gpg --verify sparrow-$V-manifest.txt.asc sparrow-$V-manifest.txt

This checks that Craig's key signed the manifest, and that nobody changed the manifest after he signed it.

You should see

gpg: Signature made Thu 17 Sep 2026 09:21:01 AM UTC
gpg:                using RSA key D4D0D3202FC06849A257B38DE94618334C674B40
gpg: Good signature from "Craig Raw <craig@sparrowwallet.com>" [unknown]
gpg: Signature notation: manu=2,2.5+1.12,0,3
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: D4D0 D320 2FC0 6849 A257  B38D E946 1833 4C67 4B40

The date and time can look different on your computer. What to look for:

Step 5. Check the app file

shasum -a 256 --check --ignore-missing sparrow-$V-manifest.txt

You should see

Sparrow-2.5.5-aarch64.dmg: OK

Step 6. Install

open Sparrow-$V-aarch64.dmg

A Finder window opens. Drag Sparrow into Applications. Then eject the disk image in the Finder sidebar.

Specter

The steps are the same. Only the names change.

Step 1. Download three files

V=v2.1.11
mkdir -p ~/specter/$V && cd ~/specter/$V
BASE=https://github.com/cryptoadvance/specter-desktop/releases/download/$V
curl -fLO $BASE/Specter-$V.dmg
curl -fLO $BASE/SHA256SUMS
curl -fLO $BASE/SHA256SUMS.asc
ls -lh

Two differences from Sparrow:

The app is about 200 MB. One .dmg works on Apple Silicon and on Intel. The other two files are less than 1 KB each.

Step 2. Get the key of the developer

curl -fL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x9dc33ca830589de3b3225c26eef5756b2ea42349" -o specter-signer.asc
head -1 specter-signer.asc
gpg --import specter-signer.asc
gpg --fingerprint 9DC33CA830589DE3B3225C26EEF5756B2EA42349

You should see

pub   rsa4096 2026-03-20 [SC] [expires: 2031-03-19]
      9DC3 3CA8 3058 9DE3 B322  5C26 EEF5 756B 2EA4 2349
uid           [ unknown] Specter Signer 2026<noreply@specter.solutions>

Step 3. Check the fingerprint by eye

Compare all 40 characters with the fingerprint on specter.solutions/downloads, in the "Verify signature" part.

Extra check, if you want it. Kim Neunert, a Specter developer, signed the project key with his personal key. You can check that signature:

curl -fL "https://keybase.io/k9ert/pgp_keys.asc?fingerprint=ecc0b4abd74e716f5ade095228b358a8843b0109" -o k9ert.asc
gpg --import k9ert.asc
gpg --check-sigs 9DC33CA830589DE3B3225C26EEF5756B2EA42349

You should see, at the end

sig!3        EEF5756B2EA42349 2026-03-20  [self-signature]
sig!         28B358A8843B0109 2026-03-20  Kim Neunert <k9ert@gmx.de>

The ! means the signature is good. Kim's full fingerprint is ECC0 B4AB D74E 716F 5ADE 0952 28B3 58A8 843B 0109. The Specter download page shows it, and so do his GitHub and Keybase accounts.

Step 4. Check the signature

gpg --verify SHA256SUMS.asc SHA256SUMS

You should see

gpg: Signature made Sun 09 Aug 2026 11:22:54 AM UTC
gpg:                using RSA key 9DC33CA830589DE3B3225C26EEF5756B2EA42349
gpg: Good signature from "Specter Signer 2026<noreply@specter.solutions>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 9DC3 3CA8 3058 9DE3 B322  5C26 EEF5 756B 2EA4 2349

Good signature and the same fingerprint as in step 3: continue. The WARNING is normal, as with Sparrow.

Step 5. Check the app file

shasum -a 256 --check --ignore-missing SHA256SUMS

You should see

Specter-v2.1.11.dmg: OK

Step 6. Install

open Specter-$V.dmg

Drag Specter into Applications, then eject the disk image.


Part 2: update

An update uses the same checks, with one big difference: you already have the key, and you already checked its fingerprint. The key is the part you trust one time. The signature and the hash, you check every time.

StepFirst timeUpdate
Download three filesYesYes, with the new version number
Import the keyYesNo, gpg still has it
Check the fingerprint by eyeYesNo, only if gpg asks for a new key
Check the signatureYesYes
Check the app fileYesYes
InstallDrag to ApplicationsQuit the app, drag, choose Replace

Step 1. Find the newest version

curl -s https://api.github.com/repos/sparrowwallet/sparrow/releases/latest | grep '"tag_name"'
curl -s https://api.github.com/repos/cryptoadvance/specter-desktop/releases/latest | grep '"tag_name"'

This asks GitHub for the latest release of each app, and shows only the version line. -s hides the progress bar. Test versions (pre-releases) are not included.

You should see, on October 13, 2026

  "tag_name": "2.5.5",
  "tag_name": "v2.1.11",

If you used this guide before, ls ~/sparrow and ls ~/specter show the versions you downloaded last time. If the version is the same, you have nothing to do.

Step 2. Update Sparrow

Put the new version in the V= line. The file names include the version, so the new files go into the same ~/sparrow folder.

cd ~/sparrow
V=2.5.5
BASE=https://github.com/sparrowwallet/sparrow/releases/download/$V
curl -fLO $BASE/Sparrow-$V-aarch64.dmg
curl -fLO $BASE/sparrow-$V-manifest.txt
curl -fLO $BASE/sparrow-$V-manifest.txt.asc
gpg --verify sparrow-$V-manifest.txt.asc sparrow-$V-manifest.txt
shasum -a 256 --check --ignore-missing sparrow-$V-manifest.txt

Read the output as in Part 1: Good signature from Craig Raw, the same fingerprint, and your file with OK. Only then replace the app:

osascript -e 'quit app "Sparrow"'
open Sparrow-$V-aarch64.dmg

The first line closes Sparrow. Drag Sparrow into Applications. macOS asks if you want to replace the old version: choose Replace.

Step 3. Update Specter

V=v2.1.11
mkdir -p ~/specter/$V && cd ~/specter/$V
BASE=https://github.com/cryptoadvance/specter-desktop/releases/download/$V
curl -fLO $BASE/Specter-$V.dmg
curl -fLO $BASE/SHA256SUMS
curl -fLO $BASE/SHA256SUMS.asc
gpg --verify SHA256SUMS.asc SHA256SUMS
shasum -a 256 --check --ignore-missing SHA256SUMS

Again a new folder for each version, because SHA256SUMS has the same name in every release. Good signature from Specter Signer 2026 and OK? Then replace the app:

osascript -e 'quit app "Specter"'
open Specter-$V.dmg

Drag Specter into Applications and choose Replace.

Your wallets stay

The update replaces the app only. Your wallets and settings are in a separate folder in your home folder. Before any update, make sure that your seed words are backed up.

When the new version works, you can delete the files of the old version. Each .dmg uses 100 to 200 MB.

Two messages you can see during an update

Can't check signature: No public key

gpg: Signature made Sun 09 Aug 2026 11:22:54 AM UTC
gpg:                using RSA key 9DC33CA830589DE3B3225C26EEF5756B2EA42349
gpg: Can't check signature: No public key

The project signed this release with a key that you do not have. Do not get a key from a random place. Go back to Part 1, steps 2 and 3: get the key from the official download page, and compare the fingerprint by eye.

This happened with Specter. Since v2.1.5 (March 20, 2026), Specter signs every release with the "Specter Signer 2026" key. Older releases used other keys. If your last Specter update was before that date, you will see this message one time.

The key has expired

Keys have an end date. Craig Raw's key is valid until September 18, 2027. The Specter key is valid until March 19, 2031. Developers usually extend the date and publish the key again. If gpg says the key has expired, download and import the key again, as in Part 1, step 2. gpg updates the date and keeps the rest.


Other computers

The steps are the same. Change the file name in the curl line and in the install step:

ComputerSparrow fileSpecter file
Mac, Apple SiliconSparrow-$V-aarch64.dmgSpecter-$V.dmg
Mac, IntelSparrow-$V-x86_64.dmgSpecter-$V.dmg
Linux (Debian, Ubuntu)sparrowwallet_$V-1_amd64.debspecter_desktop-$V-x86_64-linux-gnu.tar.gz

On Linux, use sha256sum --check --ignore-missing in place of shasum -a 256 --check --ignore-missing. Most Linux systems already have gpg. If yours does not: sudo apt install gnupg.

On Windows, these commands do not work as they are. Use the steps on the official download pages. The checks are the same: the key, the signature, the file.

Next step for Sparrow: connect it to a Bitcoin node over Tor. See Connect to the Bitsaga node.