In both our Advanced Bitcoin Privacy and Advanced Bitcoin Security guides we outline why it’s so important to make sure your wallet is connected to your own node. While dedicated Full Bitcoin Nodes like Umbrel are great, they cost money. A free way to get almost identical results is to connect Sparrow Wallet to Bitcoin Core.
Not connecting to your own Full Bitcoin Node means any transaction you send or receive, your balances, wallet info and more can all be tracked, recorded and tied to your IP Address and identity.
This extremely private information about your finances can then be shared with governments, sold to unknown third parties or worse, hacked and sold to criminals and scammers. The best way to counter these risks is to address the data leak at its source.
Why Connect Sparrow Wallet To Bitcoin Core?
Not your node, not your code
If it’s not your node, then someone else knows your balance and spending info and can also feed you false information creating all sorts of security and privacy concerns. For example they could record, track and report all your financial transactions to authorities or random third party advertising companies along with your IP Address and identity.
Most Bitcoin Wallets by default connect to a public server (usually Electrum) in order to access all the information on the Bitcoin Blockchain and to broadcast new transactions. While this works and is great to get people started quickly, it’s not very private or secure. This is because as stated, the people that own those public servers you’re connected to can see everything you do.
While this seriously affects both your Bitcoin Security and Bitcoin Privacy, the natural way that people learn about Bitcoin means that it’s not until later that they understand enough about What A Bitcoin Wallet Is, how it works and why it’s so critical to run your own node.
Running your own node usually costs a few hundred dollars in hardware – for example on a Raspberry Pi 4 and a SSD – and is a great way to avoid these security and privacy risks. If you want to get most of those benefits for free though you can run Bitcoin Core on your own PC for free and have your wallet connect directly to that.
Before You Begin
In order to connect Sparrow Wallet to Bitcoin Core, you’ll need to make sure you have a few things setup. First you’ll obviously have to make sure that you have Sparrow Wallet installed on your computer.
Make sure to follow our guide How To Install Sparrow Wallet On Ubuntu (or How To Install Sparrow Wallet On Windows) as it contains full instructions on how to verify that what you’re installing is the legitimate Sparrow Bitcoin Wallet and not some random piece of malware that will steal your coins.
Next you’ll need to install and setup the Bitcoin Core software. This is what downloads and keeps track of the entire Bitcoin Blockchain and is what Sparrow Wallet pulls data from when updating your wallet. This can be done either on the same local machine that’s running Sparrow Wallet (recommended) or it can be done on a separate remote server.
We strongly recommend you verify the Bitcoin Core files before installing them just like with Sparrow Wallet. Once you’ve installed and fully synced Bitcoin Core there’s some quick configuration you’ll also need to do.
Local Bitcoin Core Setup
For a local server you’ll need to open your bitcoin.conf file. This can be found under:
- Linux: ~/.bitcoin
- Windows: %AppData%/Bitcoin
- Mac: ~/Library/Application Support/Bitcoin
If you don’t see the file, you can create one yourself. Once you’ve opened it, make sure it has the following text up the top:
Also make sure that it doesn’t have this anywhere in it:
Remote Bitcoin Core Setup
For remote servers, first make sure that Bitcoin Core is installed and fully synced. After this, you’ll need to set the RPC (Remote Procedure Calls) username and password as well as the IP address that it’s bound to. Find the bitcoin.conf file and copy or add the following:
rpcuser=athena rpcpassword=supersecretpasswordgoeshere [main] rpcbind=127.0.0.1 rpcbind=192.168.1.69 rpcallowip=127.0.0.1 rpcallowip=192.168.1.0/16
This example will set the remote Bitcoin Core server to be at IP Address 192.168.1.69 with the given username and password. We’ll be using this information below to authorise Sparrow Wallet to connect to Bitcoin Core. The [main] text indicates that this Bitcoin Core server is using the Bitcoin mainnet.
How To Connect Sparrow Wallet To Bitcoin Core
Step 1: Open Server Preferences
Once you have Sparrow Wallet open, click File -> Preferences, then select the Server tab. If you’ve just installed Sparrow Wallet, then you can click on the Configure Server option in the welcome wizard.
Next, select the Bitcoin Core server type and it should look like the above image.
Step 2: Enter Your Bitcoin Core Details & Test
Local Server: If you’re connecting to Bitcoin Core that’s on the same computer as Sparrow Wallet, then you won’t need to touch anything. Simply hit the Test Connection button
Remote Server: If you’re connecting to a remote Bitcoin Core server then set the URL to match the IP Address of the Bitcoin Core server. You can leave the Port as 8332 but you will need to toggle the Authentication to User / Pass.
Enter the username and password you’ve set in the bitcoin.conf file for the remote Bitcoin Core server as per above instructions. Then hit the Test Connection button.
Step 3: Confirm Connection & Close
If the test was successful, you should see a confirmation message. You can now click the Close button and Sparrow Wallet will automatically connect to Bitcoin Core. Once you see the toggle in the bottom right hand corner turn green, you have successfully connected to Bitcoin Core! 🥳
The Athena Assessment
After you connect Sparrow Wallet to Bitcoin Core you can either load an existing wallet or create a new one. An important note regarding the use of Bitcoin Core is that it does not encrypt your balance or public keys.
As such, if the computer you have Sparrow Wallet and Bitcoin Core installed on is used by other people or ever gets hacked, they will be able to read this information without anything stopping them.
While it’s obviously cheaper and easier to run Bitcoin Core and connect your wallet to it that way as opposed to buying hardware and building your own dedicated Full Bitcoin Node that you can connect to via Electrum, this is one key trade off.
That being said, security is always a journey and it’s a fantastic step for your privacy and security to go from a public server to your own private Bitcoin Core server, so we still support using it. Just be aware of this slight security concern and know that there is good reason for eventually going the full route of a dedicated Electrum server and / or Full Bitcoin Node.