Failed to connect Sparrow wallet to bitcoin knots

Hi,Mr.Paul
Yes. All correct.

Kindly advice for next.
Thanks.

Ok next:

  1. Launch PowerShell as administrator (right-click and “Run as Administrator”)
  2. Install Python via Chocolatey (can skip if you have previously installed Python):
choco install python -y

  1. Configure a new tor hidden service for your bitcoin RPC:
Add-Content -Path "C:\ProgramData\tor\torrc" -Value @"
HiddenServiceDir C:\ProgramData\tor\bitcoin_rpc_v3
HiddenServiceVersion 3
HiddenServicePort 8332 127.0.0.1:8332
"@

  1. Restart tor and read the .onion hostname:
Restart-Service tor
Get-Content 'C:\ProgramData\tor\bitcoin_rpc_v3\hostname'

This will give you something that looks simething like abcde234...xyz.onion (Take note of this, it will be used in the Sparrow config)

  1. Close PowerShell, then re-launch it (not as Administrator)
  2. Download the official rpcauth generator script:
iwr https://raw.githubusercontent.com/bitcoin/bitcoin/master/share/rpcauth/rpcauth.py -OutFile rpcauth.py

  1. Generate a new auth for “sparrow”:
python .\rpcauth.py sparrow

The script generates two things:

  • A line like rpcauth=sparrow:somerandomcharacters (this will go into bitcoin.conf)
  • Your password: <plaintext> (that’s the password that Sparrow will use)
  1. Fully shut down Knots
  2. Add the following to C:\Users\USER\AppData\Roaming\Bitcoin\bitcoin.conf (replace whatever is currently in there):
torcontrol=127.0.0.1:9051
proxy=127.0.0.1:9050
listen=1
listenonion=1

server=1
rpcbind=127.0.0.1
rpcport=8332

# Replace the next line with a real rpcauth string you generated in Step 7:
rpcauth=sparrow:somerandomcharacters

  1. Re-launch Knots, and wait for it to be fully synced
  2. Re-configure Sparrow server settings:
  • Open Settings > Server
  • For URL, enter the abc…xyz.onion address from Step 4, and for port use 8332
  • Choose User/Pass, enter “sparrow” for the username, and the plain password from Step 7
  • Click Test Connection. If it fails, try enabling “Use Proxy” and test again.

Hi,Mr.Paul
Very appreciate for your continuous help & guidance.
It still failed :woozy_face::confounded:
Kindly find the attachment.

Thanks.

Ok, I suggest restarting the computer, starting Knots, then double-checking the password in your config. You probably got everything correct here, but to be clear, the password you enter is the plaintext one from the second line of the output in Step 7 (i.e. it isn’t coppied from the rpcauth line that you put into bitcoin.conf)

If that doesn’t work, then download the latest version of the Sparrow installer, verify it, then uninstall your current installation of Sparrow ( create a backup of your wallets first. I don’t think they get erased when uninstalling Sparrow, but better safe than sorry. They should be located somewhere like C:\Users\USER\AppData\Roaming\Sparrow\wallets ). Then reinstall and reconfigure, then reboot and test again.

If it still fails at this point, I am stumped with getting Sparrow to connect to Knots running natively. You could reach out to some other more technically savy Bitcoiners than myself who might have more ideas to get Sparrow connecting. This is likely to be a Windows-specific problem, and I have very, very limited experience with Windows.

You mentioned that you are open to the idea of running Knots on StartOS in a VM, which would be the last option that I can think of. If you want to go that route, let me know first how much RAM your computer has, and how much free disk space you currently have.

Dear Sir,
Thanks again for your response.
Before we go StartOS in a VM, kindly recheck my photo attachment, whether all my config are right/correct, as per your previous guidance.

This is “bitcoin.conf”

Yes, that looks correct.

Ok. My sparrow has already version 2.2.3

This is the test connection process with user & password as your guidance.

First testing connection without using proxy.

And failed (without proxy).

Then, test connection use proxy.

Failed (using proxy)

Anyway, as I am afraid that I am wrongly execute your guidance, I carefully copy-paste the result for the “onion”, “rpcauth”, and password, into a notepad text, and save it. Pls recheck, whether I have wrongly put them.

1st line text was to be input to “URL” in Sparrow
2nd line text was to be input to “bitcoin.conf” in knots
3rd line text was to be input to “Password” in Sparrow “User/Pass”

Am I all correct, as per your guidance, Sir?

Yes, you have everything correct. This has ruled out a problem specific to the direct connection over local port 8332, since Tor is routed over the web. But it leaves me scratching my head as to what the problem could be.

Hi, Mr.Paul
Sorry for bothering you much for this case.
Very appreciate for your continuous assistance.

As per your guidance and summary that :

  • bitcoin knots is Ok, fully sync, no problem
  • knots rpc running & reachable

I wonder if my sparrow wallet maybe corrupted or has something wrong, that maybe make it keep failing to connect to nodes (whether knots or core). Fyi : I have been making transaction using sparrow connect to bitcoin core since June’23 until May’25. After I tried to switch to knots, this ‘failed connection’ happen. I wonder if I have made any wrong or unintentional mistake.

Shall we try to check spesifically on the sparrow wallet related issue, before proceed to step 1 or 3, as per your advice.

Thanks.

Ok, a couple of things we can check.

Some issue with port 8332

To check this one, fully shut down Knots and then update your bitcoin.conf file so that it has just the following (remove everything else):

server=1
rpcbind=127.0.0.1
rpcport=53133

Then start Knots back up and wait for it to fully sync. Update Sparrow to have the default settings, but change the port from 8332 to the new port 53133:

Server
Type: Bitcoin Core
URL: 127.0.0.1 53133
Authentication: Default
Data Folder: C:\User\USER\AppData\Roaming\Bitcoin
Use Proxy: (disabled)

You can repeat the above process for a few different ports if you want just to be sure. Any port between ~40000-65535 is typically unused. If you want to avoid Windows’ ephemeral client range, pick from the range 20000-40000 that isn’t used by any well-known service.

Some issue with Sparrow

To check this, we can see if Fulcrum (a Windows-native implementation of Electrum Server) can connect to Knots without having the same problem that Sparrow does on your computer. If that works, then we can use it as a middleman for Sparrow to connect with.

These ideas are starting to get a bit more involved as we go, compared to earlier procedures. Read through this before starting and decide if you are comfortable with attempting the process.

Start by changing the port back to 8332. Fully shut down Knots, and then update your bitcoin.conf file so that it has just the following (remove everything else):

server=1
rpcbind=127.0.0.1
rpcport=8332

Remove the Tor hidden service from earlier:

Run PowerShell as Administrator

Stop-Service tor
notepad "C:\ProgramData\tor\torrc"

Delete these three lines, save, and close Notepad:

HiddenServiceDir C:\ProgramData\tor\bitcoin_rpc_v3
HiddenServiceVersion 3
HiddenServicePort 8332 127.0.0.1:8332

Delete the hidden service directory:

Remove-Item -Recurse -Force "C:\ProgramData\tor\bitcoin_rpc_v3"

Start the Tor service back up:

Start-Service tor

Start Knots back up, and make sure it is fully synced

Download Fulcrum:
Download and verify the latest release of Fulcrum from the Gitlab repository. For Windows, that should be the Fulcrum-1.12.0-win64.zip file. Unzip the file, and put its contents (it should contain 5 files) under C:\Fulcrum\. You should, for example, now have: C:\Fulcrum\Fulcrum.exe, C:\Fulcrum\fulcrum-example-config.conf, etc.

Run Fulcrum:
Close PowerShell, then run it again (not as administrator):

cd C:\Fulcrum
.\Fulcrum.exe `
  -D C:\Fulcrum\db `
  --bitcoind 127.0.0.1:8332 `
  --rpccookie "C:\Users\USER\AppData\Roaming\Bitcoin\.cookie" `
  --tcp 127.0.0.1:50001

You should now see a percentage going up as Fulcrum creates an index. Lines will look something like:

[2025-08-25 06:44:22.554] <Controller> Processed height: 76000, 8.3%, 491.9 blocks/sec, 999.0 txs/sec, 1969.5 addrs/sec
[2025-08-25 06:44:24.672] <Controller> Processed height: 77000, 8.4%, 472.1 blocks/sec, 835.7 txs/sec, 1614.7 addrs/sec
[2025-08-25 06:44:26.956] <Controller> Processed height: 78000, 8.6%, 437.6 blocks/sec, 912.9 txs/sec, 1774.2 addrs/sec
[2025-08-25 06:44:28.892] <Controller> Processed height: 79000, 8.7%, 516.5 blocks/sec, 1009.3 txs/sec, 1998.5 addrs/sec
[2025-08-25 06:44:30.783] <Controller> Processed height: 80000, 8.8%, 529.1 blocks/sec, 1160.8 txs/sec, 2287.3 addrs/sec

Wait for this to reach 100% (may take a long time – this should be a one-time indexing process).

If you run into any errors, stop here and let me know what you see.

Point Sparrow at Fulcrum:

Server
Type: Private Electrum

URL: 127.0.0.1

  • Port: 50001

Use SSL: (disabled)

Use Proxy: (disabled)

Test Connection

Hi,Mr.Paul
I sent my “sparrow.log” file.
Kindly find the attachment.
Pls take a look, if any idea or something wrong related to the issue.

Thanks.

Anyway…sorry for my late reply, as my reply being postponed due to time limit for user, so I must wait until the time, to be able to post this reply to you.

Pls be notif that I havent try your above guidance yet.

Ok, I bumped your trust level and liked a few of your posts. Hopefully that has improved the rate limiting for your account.

From the logs, the bottom (top?)… origin… of the stack trace there looks like it is genericaly stating that Sparrow can’t connect to the Bitcoin RPC. The only suggestions it gives there are unfortunately not applicable in your case, since we’ve confirmed that Knots is running and that the authentication details (we’ve tried multiple methods) are correct.

The log was the bottom part. Ok, I will try your previous steps then. Will come back to you later shortly. Thanks