Frequently Asked Questions (FAQ)

Where does Sparrow store its data?

Sparrow’s home folder varies by operating system:

Platform Location
macOS ~/.sparrow
Linux ~/.sparrow
Windows %APPDATA%/Sparrow

For Windows users:

  1. Open File Explorer
  2. Type %APPDATA% in the address bar
  3. Press Enter
  4. Locate the Sparrow folder in either the Roaming or Local subfolder

Customizing the home folder:

  • Use the -d command line flag to specify an alternative location
  • This allows for:
    • Storing wallets in separate locations
    • Using different application configurations for various wallet sets

Example usage:

sparrow -d /path/to/custom/folder

How can I run the testnet?

Testnet is a Bitcoin network replica where coins have no real value, ideal for wallet and transaction testing. Here’s how to use Sparrow with testnet:

  1. Simple method:
  • Navigate to Tools > Restart in Testnet.
  • This closes Sparrow and restarts it with a separate testnet configuration in the testnet folder within Sparrow’s home directory.
  1. Command line options:
    Sparrow offers various command line flags for customization:
   Usage: Sparrow [options]
     Options:
       --dir, -d       Path to Sparrow home folder
       --help, -h      Show usage
       --level, -l     Set log level [ERROR, WARN, INFO, DEBUG, TRACE]
       --network, -n   Network to use [mainnet, testnet, regtest, signet]
       --terminal, -t  Terminal mode
       --version, -v   Show version

Examples for different operating systems:

  • macOS: open /Applications/Sparrow.app --args -n testnet
  • Linux: Sparrow/bin/Sparrow -n testnet
  • Windows: Sparrow.exe -n testnet
  1. Environment variable method:
    Set SPARROW_NETWORK=testnet
  2. File-based configuration:
    Create a file named network-testnet in Sparrow’s home folder.

Network-specific configurations:

  • Testnet, regtest, and signet configurations and wallets are stored in subfolders of Sparrow’s home directory.

Server connection:

  • Ensure you connect to a testnet-configured Electrum server or node.
  • A public testnet server can be configured from the Server Preferences tab.

Obtaining testnet bitcoin:

Note: When using testnet, ensure all connected services (servers, nodes) are also configured for testnet to maintain proper functionality.

How do I choose where my wallet is saved?

Customizing Wallet Save Location

To specify where Sparrow saves your wallet and configuration data, use the -d command line flag.

Usage:

  1. Open a command prompt or terminal.
  2. Run Sparrow with the -d flag followed by your desired storage path.

Example for Windows:

Sparrow.exe -d D:\sparrow

For macOS/Linux:

./Sparrow -d /path/to/custom/location

Notes:

  • Ensure the specified directory exists and is writable.
  • This location will store both wallet files and Sparrow’s configuration.
  • Consider the security implications of your chosen storage location, especially if using removable media.

By utilizing this feature, you gain more control over your Bitcoin wallet storage, potentially improving both security and flexibility in managing your Sparrow.

Why have all my addresses changed?

If all your addresses have suddenly changed, it’s likely due to an incorrect passphrase entry. This occurs because:

  1. Sparrow follows the BIP39 specification, storing no passphrase-derived data in your wallet file.
  2. An incorrect passphrase generates a different seed, resulting in different derived addresses.

When this happens, you may notice:

  • All addresses appear different.
  • Existing labels are applied to these new (incorrect) addresses.
  • Your wallet shows a zero balance.

Important: Your funds are not lost. This is issue caused by the incorrect passphrase.

To resolve this:

  1. Close the wallet completely.
  2. Reopen the wallet.
  3. Enter your passphrase carefully, paying attention to spelling, capitalization, and any spaces or special characters.

If you can’t remember the exact passphrase, take your time and try different variations systematically. Consider common variations you might have used, such as different capitalization or spacing.

To prevent this issue in the future, always double-check your passphrase when entering it and consider keeping a secure, offline backup. Regularly verifying your ability to access your wallet with the correct passphrase is also a good practice.

If you completely lose your passphrase, it is likely that the funds will be lost forever.

I’ve restored my wallet but some funds are missing. What should I do?

If you’ve restored your wallet from seed but notice some recent transactions are missing, you likely need to adjust the wallet gap limit. Here’s what you need to know:

  1. The gap limit controls how far ahead a wallet looks in your sequential address list for new transactions.
  2. To increase the gap limit: Go to the Settings tab > Click Advanced > Increase the gap limit value > Click Close and then Apply
  3. Default gap limits: Normal wallets: 20, Postmix wallets: 40
  4. If you’ve experienced frequent connection errors during coinjoining, you may need to increase the gap limit significantly.
  5. Increasing the gap limit makes Sparrow search further ahead in the address list, potentially revealing missing transactions.
  6. Be cautious: Setting the gap limit too high can increase wallet loading time.

Remember, adjusting the gap limit is often necessary when restoring wallets, especially if you’ve had many unused addresses. Start with small increases and adjust as needed to balance between finding all transactions and maintaining reasonable loading times.

Why are UTXOs missing from my Postmix wallet?

If you notice UTXOs missing from your Postmix wallet, the issue is likely related to the wallet gap limit, similar to the previous question.

How can I increase the fee on an already broadcasted transaction?

There are two main methods to increase the fee on a broadcasted transaction:

  1. Replace by Fee (RBF)
  2. Child Pays for Parent (CPFP)

Replace by Fee (RBF):

To use RBF, the transaction must meet these criteria:

  • Be unconfirmed and in the mempool.
  • Have all inputs RBF-enabled (default for Sparrow transactions).
  • All inputs must be from your wallet.

If these conditions are met:

  • A hover icon (hand with a cross) appears next to the transaction on the Transactions screen.
  • Right-click and select Increase Fee.
  • This loads the transaction in the Send screen.
  • Adjust the fee as needed (Sparrow may add another UTXO if change is insufficient).

Child Pays for Parent (CPFP):

  • Spend the outputs of the original transaction
  • Set a higher fee rate for this new transaction

Both methods can help accelerate confirmation of a stuck transaction. Choose the appropriate method based on your transaction’s characteristics and your specific needs.

How does proxy support work?

Sparrow’s proxy support works as follows:

  1. Configured proxy applies to all external connections.
  2. Exceptions:
    • IP addresses in ranges:
    • 192.168.*.*
    • 172.16.*.*
    • 10.*.*.*
    • These allow direct connections to local network nodes despite proxy configuration.
  3. Fallback mechanism:
    • If connection via configured proxy fails.
    • And the server uses an .onion address.
    • Sparrow automatically starts its internal Tor proxy.
  4. Customizing fallback behavior:
    • Close Sparrow.
    • Locate the config file.
    • Modify the autoSwitchProxy property value.

This setup allows flexibility in connecting to both external and local resources while maintaining privacy through proxy use. The automatic Tor fallback ensures connectivity to .onion addresses even if the primary proxy fails.

What does a red Tor icon in the status bar indicate?

A red Tor icon in Sparrow’s status bar indicates an issue with the external Tor proxy connection. Here’s what you need to know:

  1. Error message: External Tor proxy error: Connection refused
  2. Common cause: The configured external proxy is no longer accessible or running
  3. Troubleshooting steps:
    • Check if the proxy is currently running.
    • Verify the proxy configuration in Sparrow.
  4. For standard Tor proxy (port 9050), you can test functionality using:
curl --socks5-hostname localhost:9050 https://check.torproject.org/api/ip
  1. If the test fails:
    • Restart your Tor service.
    • Check for any network configuration changes.
  2. If the issue persists:
    • Review Sparrow’s proxy settings.
    • Consider reconfiguring or using a different proxy.

Remember, this error specifically relates to external proxy configurations. If you haven’t manually set up an external proxy, check if any previously running proxy services have stopped unexpectedly.

What does a red wallet icon mean?

A red wallet icon on your wallet tab indicates an issue with loading the wallet history from your configured server. This can be due to a connection problem between Sparrow and the server, or more likely, an issue with the server itself.

If you’re using a prebuilt node like Umbrel, try restarting it. It’s also a good idea to uninstall unnecessary apps that might affect overall system performance. Check your internet connection and verify the server status and configuration in Sparrow.

If the problem persists, consider upgrading to a more powerful server, such as Fulcrum. The red icon means your wallet history may be incomplete or unavailable, and some wallet functions might be limited until the issue is resolved.

Your system is missing dependency for the webcam. How can I fix this?

If you encounter the error “Your system is missing a dependency for the webcam” on a Windows machine, it’s likely due to missing Microsoft libraries required by the webcam driver. Here’s how to resolve this:

Primary solution:

Install the Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package MFC Security Update. This package includes the standard libraries needed for webcam functionality.

Alternative solution:

Some users have successfully resolved the issue by:

  1. Downloading msvcr100.dll and msvcp100.dll from dll-files.com.
  2. Copying these files into C:\Windows\System32

Note: While the alternative solution may work, installing the official Microsoft package is generally recommended for better system stability and security.

Why can’t I connect to my Ledger device?

If you’re having trouble connecting your Ledger to Sparrow, try these steps:

  1. Ensure Ledger Live is closed, as it can interfere with the connection.
  2. Verify the Bitcoin app is open and running on your Ledger device.

For Linux users:

  1. Install udev rules using the command in Sparrow’s Tools menu or manually.
  2. For Windows users:
    Check if your antivirus is blocking Sparrow. Norton users may need to add Sparrow.exe as a Process Exclusion for Data Protector.
  3. Make sure no other applications are using ports 2222, 21324, 11044, or 9999. Acronis users might need to change its port.
  4. If issues persist, try rebooting your computer to resolve any USB-related problems.

If problems continue, consider checking for updates to both Sparrow and your Ledger’s firmware.

How do I import my Trezor wallet?

To import your Trezor wallet into Sparrow, follow these steps:

  1. If you’ve been using the Trezor web wallet at trezor.io, you’ll likely need to select the Nested Segwit script type in Sparrow.
  2. Main import method:
    • Go to Sparrow’s wallet creation screen.
    • Select Nested Segwit as the script type.
    • Choose the Connected Hardware Wallet option to import your Trezor xpub.
  3. Alternative scanning method:
    • Go to File > Import Wallet…
    • Click Scan for Connected Devices at the bottom of the window.

This scanning option allows Sparrow to automatically detect the correct script type for your Trezor wallet.

Remember, ensuring you select the correct script type is crucial for accessing all your funds. If you’re unsure, the scanning method can help identify the right configuration for your Trezor wallet.

After importing, verify that all your expected transactions and balances are visible in Sparrow to confirm a successful import.

Does retrieving the fiat value compromise privacy?

Sparrow’s approach to retrieving fiat values prioritizes user privacy:

  1. Exchange rate retrieval:
    • Sparrow fetches the exchange rate from your configured provider.
    • Your wallet balance is never shared externally.
  2. Privacy-preserving calculation:
    • The fiat value is calculated locally by multiplying the exchange rate with your wallet balance.
  3. Additional privacy measures:
    • If you have a Tor proxy configured, Sparrow uses it to retrieve the exchange rate.
    • This adds an extra layer of anonymity to the process.
  4. Opting out:
    • You can disable fiat value retrieval entirely.
    • Set the exchange rate provider to None in Preferences.

This design ensures that your wallet balance and transaction history remain private while still providing the convenience of fiat value conversion. Users concerned about potential data leaks can either utilize the Tor proxy option or disable the feature completely, maintaining full control over their privacy.

What is the master fingerprint for a watch-only wallet?

When setting up a watch-only wallet in Sparrow, you may encounter a situation where only the xpub (extended public key) is known. In such cases:

  1. Master fingerprint:
    • It’s safe to use a default value like 00000000
    • This doesn’t affect the wallet’s functionality or security
  2. Derivation path:
    • If unknown, use the default for the selected script type
    • Sparrow provides this default in the textfield prompt

This approach allows you to create a functional watch-only wallet even with limited information.

Why am I getting a “Man-in-the-Middle” certificate warning when connecting?

If you encounter a “Man-In-The-Middle” (MITM) certificate warning when connecting in Sparrow, it’s typically an SSL error, often due to an expired certificate. Here’s how to handle it:

  1. For public servers:
    • The certificate may have been replaced.
    • It’s generally safe to proceed in this case.
  2. For other connections:
    • Exercise caution, especially on public Wi-Fi networks.
  3. To resolve the issue:
    • Locate the certs folder in Sparrow’s home directory.
    • Find the file named after the server’s URL.
    • Delete this file to clear Sparrow’s SSL certificate record.
    • Reconnect to download a fresh certificate.
  4. After reconnecting:
    • Sparrow will download the current certificate.
    • This should resolve the warning if it was due to an outdated certificate.

While certificate warnings can sometimes be harmless, they can also indicate potential security risks. Always ensure you’re connecting to the intended server before proceeding.

How can I view the log file?

Sparrow keeps a log file that can be useful for troubleshooting or understanding the application’s behavior.

Here’s how to access it:

  1. Log file location:
    • The log file is named sparrow.log.
    • It’s stored in Sparrow’s home folder.
  2. Quick access method:
    • Go to the menu bar.
    • Select Help > Show Log File.

This will open the log file in your default text editor.

How do I use coin control features?

Coin control allows you to manually select which UTXOs (Unspent Transaction Outputs) to use in a transaction. Here’s how to use this feature in Sparrow:

  1. Navigate to the UTXOs screen:
    • It’s located just above the Settings tab.
  2. Select UTXOs:
    • Click on the UTXOs you want to spend.
    • Use Ctrl/Cmd+Click to select multiple UTXOs.
  3. Initiate the transaction:
    • Click Send Selected after making your selection.
  4. Complete the transaction details:
    • On the Send screen, enter the recipient’s address.
    • Add a label for the transaction.

Why are Sparrow icons and text tiny on my high-resolution screen?

If Sparrow’s icons and text appear too small on your high-resolution screen, you can adjust the scaling. Here’s how to do it:

For Linux:

  1. Use this command to run Sparrow with increased scaling:
_JAVA_OPTIONS=-Dglass.gtk.uiScale=200% /opt/sparrow/bin/Sparrow
  1. Alternatively, set GNOME scaling globally:
gsettings set org.gnome.desktop.interface scaling-factor 2

For Windows:

  1. Set the environment variable glass.win.uiScale to your desired scaling percentage (e.g., 200%)
  2. You can read guide online on how to set environment variables in Windows

These adjustments should make Sparrow more comfortable to use on high-resolution displays.

Sparrow doesn’t fit on my screen. What can I do?

If Sparrow appears too large for your screen, you can reduce its size using the same scaling methods as for high-resolution displays, but with a smaller percentage:

For Linux:

  1. Use this command to run Sparrow with decreased scaling:
_JAVA_OPTIONS=-Dglass.gtk.uiScale=80% /opt/sparrow/bin/Sparrow
  1. Or adjust GNOME scaling globally (if applicable):
gsettings set org.gnome.desktop.interface scaling-factor 1

For Windows:

  1. Set the environment variable glass.win.uiScale to 80%

Which NFC readers are supported?

Sparrow supports NFC (Near Field Communication) readers for use with devices like Tapsigner and Satscard.

How do I connect an NFC card reader in Linux?

To set up your NFC card reader in Linux for use with Sparrow, follow these steps:

  1. Install required packages: Run this command in the terminal:
sudo apt install libccid libpcsclite-dev pcscd
  1. Verify the pcscd daemon: Check if it’s running with:
service status pcscd
  1. If pcscd is not running: Start it manually:
sudo service pcscd start
  1. Plug in your NFC reader: Connect it to an available USB port.
  2. Test the reader: Use a command like pcsc_scan to check if the system recognizes the reader.
  3. Restart Sparrow: If Sparrow was running, restart it to detect the newly connected NFC reader.

What keys are used for PGP download verification?

When verifying signatures for downloaded files, Sparrow uses keys from three potential sources:

  1. User-provided keys:
    • Keys that you, the user, optionally provide in the verification dialog.
    • This allows for custom or additional key verification.
  2. GPG user keyring located at ~/.gnupg by default.
    • Or at the location specified by the $GNUPGHOME environment variable.
    • These are keys you’ve previously imported or trusted on your system.
  3. Sparrow’s included verified keys:
    • Keys that come bundled with the Sparrow release.
    • These are pre-verified and trusted by the Sparrow developers.

How can I rename my wallet?

Renaming your wallet in Sparrow is a straightforward process:

  1. Open Sparrow and ensure the wallet you want to rename is loaded.
  2. Go to the top menu bar.
  3. Click on File.
  4. Select Rename Wallet from the dropdown menu.
  5. A dialog box will appear where you can enter the new name for your wallet.
  6. Confirm the change, and your wallet will be renamed.

I can’t import my Cobo Vault. What might be the issue?

If you’re having trouble importing a Cobo Vault or other deprecated device into Sparrow, here’s what you need to know:

  1. Deprecated devices:
    • Some devices no longer supported by manufacturers are considered deprecated in Sparrow
    • This includes certain models of Cobo Vault.
  2. Enabling deprecated device options:
    • Open Sparrow’s configuration file.
    • Set the value of showDeprecatedImportExport to true.
    • Save the changes and restart Sparrow.
  3. Locating the config file:
    • The location varies depending on your operating system.
    • Check Sparrow’s documentation for the exact path.
  4. After enabling:
    • Deprecated device options should now appear in import/export menus.
  5. Important note:
    • Support for deprecated devices will be removed in future Sparrow releases.
    • Consider migrating to a currently supported hardware wallet.

Is the Apache 2 license considered open source?

Yes, the Apache 2 license is indeed an open source license. Apache 2 license also very similar to the MIT license used by Bitcoin Core.

For a more detailed comparison of Apache 2 with other licenses like MIT and GPL, you can refer MIT vs. Apache vs. GPL.

How can I build and run Sparrow from source code?

Read the instructions here: https://github.com/sparrowwallet/sparrow

What’s the best way to report an issue or bug?

Please use the Issues on Github to report an issue. Before submitting a report, check the sparrow.log file in the application’s configuration directory. This log often contains valuable information that can assist in diagnosing and resolving the problem.