Craig Raw is a Bitcoin OG with a strong focus on privacy. When he started experimenting with hardware wallets and multi-signature a while back, the existing solutions were quite cumbersome. Together with his goal to become more involved in Bitcoin on a day-to-day basis, this was motivation enough for him to start Sparrow Wallet. Over time, the project grew into his full-time occupation, but he intends to keep it free and fully open-source.
The key idea behind Sparrow Wallet: become self-sovereign over your own finances. That includes security, privacy, and trust minimization. And this is exactly what we’re striving for with the BitBox02 as well.
Sparrow Wallet has a unique approach to what you see as a user. It shows as many details as possible with the goal to give you confidence in what you’re doing. Craig mentions the “cold-storage schwitz”, the slight panic just before pressing the “send” button of a large Bitcoin transaction. He says that for him, the full transparency of Sparrow Wallet can help with that. The wallet allows observing how Bitcoin transactions work under the hood and dig deep into certain aspects if you’re inclined to. And while it might sound unlikely, Sparrow Wallet is still pretty straightforward to use.
Set up your Sparrow Wallet
First, visit sparrowwallet.com and download the wallet software. It’s available for all major platforms: https://sparrowwallet.com/download
Prepare your BitBox02
For your BitBox02 to work with Sparrow Wallet, you first need to pair it with the BitBoxApp on the same computer that you’ll be using Sparrow Wallet. This ensures that all communication between the wallet and the device over USB will be encrypted.
Choose your server
Each wallet needs to communicate with the Bitcoin network. This usually happens through a backend server, either run by the wallet provider or run by the user in the form of a full node. Although we do run servers like this for the BitBoxApp, we also encourage our users to run their own:
- The server that connects your wallet to the Bitcoin network learns the total amount of bitcoins and all past transactions in your wallet. Connecting to your own node significantly increases your privacy.
- For the decentralization and resilience of the Bitcoin network, it’s important to have economic full nodes distributed as widely as possible. Read more about this in our separate article We need Bitcoin full nodes. Economic ones.
This is why even before configuring your wallet, you’re asked what server you’d like to connect to. Sparrow Wallet offers different methods for talking to the Bitcoin network.
For Craig, “privacy is a journey”, and this is why you can choose a method suitable for you and then improve your privacy later.
- Public Server: start with a public Electrum server with a good history of data privacy. That’s the easiest option. If you’re already using the Shift Crypto servers, you can also use our servers here (see note below).
- Bitcoin Core: if you run your own instance of Bitcoin Core on your computer, you can simply connect to that. It can be a bit tricky as it always needs to be synced with the Bitcoin network, and adding a new wallet forces Bitcoin Core to rescan the whole blockchain.
- Private Electrum: with your own Bitcoin full node, for example, RaspiBlitz or Umbrel, you’ll also get a full Electrum server. Electrum acts as a middleware between Bitcoin Core and can serve wallets with all relevant information instantly and without rescanning.
If you don’t have your own Bitcoin node yet, you can also configure Sparrow Wallet to use the Shift Crypto servers. This can make sense if you already use these with the BitBoxApp and don’t want to add yet another server that can learn your financial history:
Create a new wallet
Sparrow Wallet greets you with a big empty window. To use your BitBox02, select “File / New wallet” and give it a helpful name.
You’ll now see all configuration options for your new wallet. You can choose if you want to create a “single signature” or a “multi-signature” wallet and what script type it should use. You can see that the “Keystore” section is highlighted because Sparrow Wallet does not know yet where the private keys will be stored.
We’ll set up a “Native Segwit” single signature wallet, with all your private keys generated directly on the BitBox02. Your private keys will not leave the BitBox02 and Sparrow Wallet will never learn them.
If you’ve connected the BitBox02 already: now it’s time to unlock the device. Make sure the BitBoxApp is closed, then click on “Connected Hardware Wallet” and hit the big “Scan…” button. Your BitBox02 will show up.
Click on “Import Keystore” to select it (the drop-down allows you to select a specific account).
Check all details, click on “Apply”, and secure the wallet file with a password.
Using Sparrow Wallet
Now it’s time to have a look around and check out the various sections in the wallet:
- Transactions: overview of your wallet’s holdings and transactions
- Send: spend your sats to one or more recipients, with granular fee control
- Receive: get a receive address
- Addresses: list of all addresses controlled by your wallet (used and new)
- UTXOs: list of all “unspent transaction outputs” (the individual “coins”) in your wallet
The Transactions overview provides you with a summary of the funds secured with your wallet, and all the corresponding transactions.
By expanding the transaction details in the list, and clicking on the little magnifying glass icon, you can dig deep into the individual transaction:
Sparrow Wallet gives you great flexibility to send bitcoin to one or multiple recipients at the same time, with granular control over transaction fees.
Enter the recipient’s Bitcoin address in the “Pay to” field, or scan a QR code with your webcam. You can also add additional recipients with the “+ Add” button to create a transaction that pays to multiple recipients.
Label your payment and specify the amount, either in bitcoin or satoshis.
Transaction fees can be entered manually, or simply set by using the slider (change between “target blocks” or “mempool size” mode).
Even with a simple transaction, the wallet shows you a lot of technical details, like the UTXO and change address used. Hover with your mouse over any detail to get additional information.
Did you notice the “Max (2 UTXO excluded)” button? This is coin selection in action, we’ll touch on that in the “UTXOs” screen.
In case you want to send bitcoin to a huge number of recipients, all in the same transaction to save fees, you can also use the “Send to many” feature, available in the “Tools” menu. Either enter all details manually or load them from a CSV text file.
Click on “Create Transaction” to finalize the transaction and optionally set some advanced options. Now click on “Finalize Transaction for Signing”, select “Sign”, verify all details that are now shown on the BitBox02 screen and sign the transaction on the BitBox02, then click on “Broadcast Transaction”.
Receiving bitcoin is as simple as it gets. Sparrow Wallet automatically gives you a new, unused receive address that can be copied or scanned as a QR code.
Sparrow Wallet provides more details about the address than other wallets, displaying the derivation path and the script used that defines how received funds can be spent in the future.
Important: always verify the receiving address on your BitBox02 by clicking on “Display Address”. Only the secure screen of your hardware wallet can tell you without a doubt, if the address you see on the computer screen is really yours, or if it has been replaced by an attacker’s address through malware.
Addresses & UTXOs
This “Addresses” screen shows you all addresses of your Bitcoin wallet, used and unused.
Even more interesting is the UTXOs screen, listing all “unspent transaction outputs” of your wallets. These are the “coins” that you received, and when sending bitcoin again, some coins will be selected by the wallet to be spent in that transaction. Because you usually don’t have coins with the exact amount needed, the wallet needs to select coins with a higher total bitcoin amount, and send the “change” back to a new “change address” of your own wallet.
By right-clicking on a list entry, you can select an individual UTXO to spend it. Or you can freeze it so that it is no longer automatically selected by the wallet to send bitcoin.
To choose multiple UTXO to spend, simply select several list entries (using Ctrl or Shift keys) and click on the “Send Selected” button.
The importance of interoperability
Sparrow Wallet is a great example of how a project can focus on unique design principles, while still using the proven security model of the BitBox02. Sparrow is a great wallet to use with your BitBox02 if you’re looking for a clean interface, advanced features, and want to learn more about how Bitcoin works under the hood. It’s also a great wallet for your multi-signature setup, with multiple BitBox02 or hardware wallets from different vendors.
This permissionless interoperability between open-source projects like Sparrow Wallet and the BitBox02 gives you additional flexibility in choosing the Bitcoin wallet that best suits your needs. And as a user, you can rest assured that your keys are safe, even when using third-party software.
One caveat: as an independent wallet, Sparrow Wallet currently does not support unique BitBox02 security features like the secure device attestation (genuine check) or support for the anti-klepto protocol.
We think that this interoperability is key. And this is why we actively seek BitBox02 support from suitable software wallets, like Electrum, Specter Desktop, Nunchuk, or Wasabi, each with its own set of features and design priorities.
Don’t own a BitBox yet?
Keeping your crypto secure doesn't have to be hard. The BitBox02 hardware wallet stores the private keys for your cryptocurrencies offline. So you can manage your coins safely.
The BitBox02 also comes in Bitcoin-only version, featuring a radically focused firmware: less code means less attack surface, which further improves your security when only storing Bitcoin.
Shift Crypto is a privately held company based in Zurich, Switzerland. Our international team of specialists across engineering, cryptosecurity and Bitcoin core development build the BitBox products and provide consulting services. The BitBox02, a second generation hardware wallet, equips individuals to easily store, protect, and transact cryptocurrencies. Its companion, the BitBoxApp, provides an all-in-one solution to securely manage your digital assets with ease.