Sparrow Bitcoin Wallet

Sparrow Wallet·sparrowwallet.sparrow

Desktop Bitcoin Wallet focused on security and privacy. Free and open source.

Sparrow is a modern desktop Bitcoin wallet application supporting most hardware wallets and built on common standards such as PSBT, with an emphasis on transparency and usability.

winget install --id sparrowwallet.sparrow --exact --source winget

Latest 2.5.5·September 17, 2026

Release Notes

• Add a System theme option that follows the OS light or dark setting, and make it the default for new installs (View menu > Theme > System) • Allow BitBox02 xpub export and multisig signing at the m/45h keypath on firmware v9.19.0 and later • Refuse BitBox02 keystore import and discovery for legacy P2SH and P2PKH wallets it cannot sign for, and hide those script types from the device import menus • Recover the Trezor Safe 7 session when the device retransmits an unacknowledged message, and skip packets that are not v1 framed when probing for the Trezor protocol version • Keep the Trezor pairing credential and v1 message payloads out of the debug logs • Send the remaining Ledger merkle proof hashes when a proof does not fit a single response (@hashbender) • Include the non-witness UTXO in PSBTs for Krux keystores, including in the QR display when the PSBT has more than one input • Add file import of the xpub descriptor Jade writes to USB storage • Require the policy line and check the declared cosigner count when importing Coldcard format multisig wallets • Name the sortedmulti reinterpretation in the message for a BSMS record whose first address does not match • Reject taproot output descriptors containing a script tree • Do not offer copy and QR export actions for an extended private key pasted into the keystore xpub field • Cap BBQr display and PDF encodings at the 1295 parts the header can number, using larger parts for data that needs more • Verify the signatures of a finalized PSBT before copying its fields into an open transaction • Determine the signed keystores using the sighash type each signature carries, and show the signatures for a signed transaction opened offline or when the server cannot return every input • Verify silent payment output scripts before device signing, combining and export, and explicitly reject a PSBT signed over silent payment outputs that have not been computed • Prefer the silent payment address of a BIP321 URI or DNS payment instruction where the sending wallet can pay to it, treating the address in the body as a fallback • Take the silent payments tweak of an input from the wallet node when adding key path information, and write the output descriptor of a silent payments address as rawtr() • Do not advance the stored block height of a silent payments wallet until a scan has covered it, and fetch all nodes on a refresh when a reorg has invalidated any of them • Hold silent payment notifications arriving before the subscribe response is recorded, discarding those of a replaced subscription • Hide account discovery on silent payments wallets, and hide the gap limit and request a birth date for them in the terminal • Derive the fee of a wallet transaction from the transactions funding its inputs rather than the value its history entry reports • Include unconfirmed wallet descendant fees when increasing a transaction fee, advise the replaced fees plus relay cost on rejection, and allow a CPFP child to be replaced • Clear a replacement transaction when a UTXO it spends is frozen rather than silently removing the input • Revert the sighash selection when the SIGHASH_NONE warning is dismissed rather than answered no • Map transaction hex witness segments by the segwit flag, treating an input with no witness as empty • Ignore amount digits typed beyond the selected unit precision in the Send tab amount and fee fields and the Send to Many grid, and cut pasted amounts to it • Read sats amounts with a fraction or exponent in a Send to Many CSV import, cutting them to whole sats rather than skipping those rows • Switch wallet tables and charts to BTC when an open wallet on the auto unit receives 1 BTC or more • Name the bitcoin unit in the value, balance and fee column headings of the transactions, UTXOs and search results CSV exports • Refuse an announced chain tip below the last pinned header, or one the header sync cannot link in, reverting to the stored tip with a warning • Verify a transaction tab height taken from the server, warning where the server will not prove it • Treat a Bitcoin Core chain that falls below the last polled tip as a reorg rather than failing every poll until reconnect • Refresh a node when its script hash status returns to an earlier value, retiring the mitigation for electrs versions before v0.9.0 • Ensure Cormorant responses and notifications are serialized per client connection, lock the store against client connection reads, and close the client socket however its handler exits • Purge a Bitcoin Core wallet transaction with only mempool conflicts from Cormorant once it leaves the mempool • Refresh the cached Bitcoin Core descriptor ranges when a wallet wants a range beyond them, so a range already extended is not imported again or refused • Cancel a retrying connection attempt when testing a server, and do not import wallet descriptors on a Cormorant started for the test • Report Bitcoin Core RPC errors that carry no result instead of failing on a null response, and retain an entered https scheme when configuring a Bitcoin Core server • Floor the Electrum batch page size at one when halving it after a timeout • Skip the exchange currencies request in offline mode in the desktop and terminal general settings • Refuse to display a wallet seed in the terminal when the wallet was locked while its key was being derived • Skip addresses already given out under a label, and widen the gap limit on an explicit advance in the terminal receive dialog • Reject unknown command line options and values given to flags with an error and exit code instead of starting on the default network, and accept the --option=value form • Bug fix:Fix the transaction tab confirmation indicator when the tab opens at six confirmations or a reorg takes it back below, clamping confirmations at zero for a transaction above the current tip • Bug fix:Fix the transaction tab confirmation count not following new blocks when its input transactions cannot be fetched • Bug fix:Fix handling an input transaction the server cannot return in the fee, spend, outpoint and diagram views • Bug fix:Fix transactions not held in a wallet's transactions model being registered for confirmation updates, and entries not being unregistered on removal, history clear and tab close • Bug fix:Fix the node refresh subscription not being released when a wallet is closed • Bug fix:Fix a silent payments history waiter left parked for the session when a failed widening restores a completed scan • Bug fix:Fix wallet keystore changes affecting addresses not considering silent payment scan addresses • Bug fix:Fix the stored table layout of a wallet not being copied, and not being cleared along with silent payment addresses on a new account • Bug fix:Fix a PayNym contact whose payment code does not parse being kept with a null code or failing the whole PayNym response, omitting it instead • Bug fix:Fix a unit format decimal formatter shared between the export task and table cells • Bug fix:Fix handling a short server.version response when testing a server connection in the desktop and terminal • Bug fix:Fix showing terminal alert buttons carrying their own text, and disable the terminal add account button when no accounts remain • Bug fix:Fix an error when importing a Sparrow wallet file by deriving its public keys from the seed • Bug fix:Fix a previously scanned wallet being kept when a file, text payload or unrecognised QR is then imported in the same pane • Bug fix:Fix the sizing of an unresolved silent payment output when deriving the fee • Bug fix:Fix the silent payment input hash being derived only from inputs contributing a public key, and the BIP375 k ordering of silent payment codes sharing a scan key • Bug fix:Fix recognising a silent payments descriptor when matching BIP329 label origins and reading a descriptor PDF • Bug fix:Fix a new server toggle pulse animation starting while a previous one is still running

Installer type: wix

x64—0256EB5C8808157F811D57FBDB9F9153101B02947C2F6788F1E7B9DA5FF6111F

Details

Homepage
https://github.com/sparrowwallet/sparrow
License
Apache-2.0
Publisher
Sparrow Wallet
Support
https://github.com/sparrowwallet/sparrow/issues

Tags

bitcoinbitcoin-wallet

Older versions (18)

2.5.4
x64—251990C40DFEF879201A2E4E407C75699B52CE80B1B46BC3FB03CF086A4815B0
2.5.3
x64—9CC0C2E2296DA65415D9C133C95CE940EC175F62FE0007D1ED6B06753172C1CC
2.5.2
x64—DD523E2627368EB8B4C27304D1425E0B5BC81079B645FECE40178DC763E58534
2.5.1
x64—AEB7F4FA08BD6D819F5BBC1A01E8BEA97839C691AE9BA3A949332C3A1961223A
2.5.0
x64—FFAB6FD3F09BD9FB381F3D56C778BA50D13F6A92FE6806383AA2514BBFB87F25
2.4.2
x64—089D56B62A15BEBD473F122D21D8A605CE533DDD8E739FA4F1E58B6F9A1A8FCB
2.4.1
x64—9A0033872778636BF4C9C09F80D8CAEAFA6E1660741BC1FE0AB87FBAAF9734BF
2.4.0
x64—BF33B884D90987D5F42DF7183C5E0C96EFAD560F2A7D197BCB4CDB835DA74023
2.3.1
x64—37094FDD9CFBB08ADB091B77E586E2FC9E79BE9DB53E80EABBBC76EA50BCB4EF
2.3.0
x64—5AF72B408DD7E3B1A93CDD7288D6B5DAE203C8127DD3F0543A45F13DAA10E43A
2.2.3
x64—E6A05A1662F3EFDF3D63F68B38B47E9311388853A1C0E9EB7CC61F9ADD005F2E
2.2.2
x64—A03623FD37996D8D82E1833F96B7515A0C2CE0722648D986DCE79AB1C7D00A35
2.2.1
x64—80F20C8C359B98658CEB396C89A282B4A07A9C3B2D352AF8C5ABCA3148BF9C68
2.2.0
x64—62B6B5939CF1D20979DD2D9B449E35B62F2BC941C2FC198B5AD80E5E17C6FC49
2.1.3
x64—FE04D07AA488828A412D7C8CD847BCFAF2110D0FCF6F81AD7E3A16B879F9F2EE
2.1.2
x64—1E3715C9142D7059823BA8699814DF4A6553DBF77E0DB5DACC6E8C3A443C2053
2.0.0
x64—E8434A2C12F390F6BB89029A3AB567633F887D0DAA0C7CB9C61616314448C4B7
1.9.1
x64—9A05072E5A5B03EC79B4459F87176859D4286DD5050C34BD16BB9469500A951F