SW
← All projectsSparrow

Sparrow Wallet

Desktop Bitcoin wallet focused on security, privacy, multisignature, and hardware signers.

BitcoinHardware integrationSoftware walletsNormal
Repository coverage

411 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

71security candidates271second-pass queue399AI analyses
86commits · 30 days
152commits · 60 days
250commits · 180 days
405commits · 365 days
Backfill bands
Aug 5 → Feb 6100 seen9 candidatesComplete
Feb 6 → Jun 6128 seen15 candidatesComplete
Jun 6 → Jul 67 seen1 candidatesComplete
Jul 6 → Aug 546 seen8 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

48/100 average clarity
0Strong · 80–100
35Adequate · 60–79
325Thin · 40–59
51Opaque · 0–39
2security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Craig Raw39767385648
doblon8313048
nzb-tuxxx212060
Michele Balistreri212048
nroktib111050
Liz Lightning202045
PeterXMR101045
Ian McKenzie101050
ottosch101050
craigraw101060
Analysis record

Published AI watches

Last scanned 46 minutes ago

Informational 17 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

remove the surplus signatures progress bar segments a finalized multisig transaction discards

This commit fixes a UI display bug in Sparrow Wallet's signature progress bar. When a multi-signature Bitcoin transaction becomes finalized, extra signatures beyond the required threshold are discarded. Previously, the progress bar did not…

UI state desynchronization after multisig finalizationProgress bar segment count mismatch with actual signature setNo change to cryptographic or transaction validation code
40f77206by Craig Raw+9−12 files
No security note in commit
Informational 15 AI analysisMessage 38 · Opaque
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

bump to v2.5.6

This commit is a routine version bump from 2.5.5 to 2.5.6. It only changes version strings in four files (build configuration, documentation, macOS app metadata, and a Java source constant). There are no code logic changes, no bug fixes, a…

f7f36d00by Craig Raw+4−44 files
No security note in commit
Informational 17 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

use a framerate-capped interpolated timeline for the server toggle and wallet tab loading pulse animations, and stop any running server toggle pulse before starting a new one

This commit tweaks two visual animations in the Sparrow Wallet desktop app: the server connection toggle pulse and the wallet loading pulse. It caps how often the screen is redrawn during the pulse and makes sure any already-running pulse …

Resource-consumption / performance hardening: capped animation framerate reduces CPU/GPU load from continuous 60 Hz redraws.State-management hardening: stopping an existing pulse before starting a new one prevents accumulation of running Timelines.No direct security flaw is present in the diff; signals are defensive-hardening in nature.
4da29f4eby Craig Raw+7−132 files
No security note in commit
Low 45 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

cut pasted amounts to the unit precision in the send tab and send to many, and stop the csv import skipping fractional sats and exponent amounts

This commit fixes how Sparrow Wallet handles pasted or imported Bitcoin amounts. Previously, very small or oddly formatted amounts (like scientific notation '1e-8' or fractional satoshis) could be misread or silently skipped during CSV imp…

Amount parsing inconsistency between UI paste and CSV importSilent swallowing of NumberFormatException could skip payment rowsUse of Double.parseDouble for monetary amounts
9e999d3fby Craig Raw+39−362 files
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

add a system theme option that follows the os light or dark setting, and make it the default for new installs

This commit adds a new 'System' theme option to the Sparrow Wallet desktop app that automatically follows the operating system's light or dark mode setting, and makes it the default for new installations. It also updates various UI compone…

a573f22aby Craig Raw+90−3215 files
No security note in commit
Low 36 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

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

This commit tightens how Sparrow Wallet handles BitBox02 hardware wallets when working with older Bitcoin address formats (legacy P2PKH and P2SH). Previously, the app could let a user import or discover a wallet that the BitBox02 cannot ac…

Prevents user from configuring a signing device for wallet types the device cannot sign forCould avoid funds becoming unspendable or requiring complex recovery if a user unknowingly imported an unsupported legacy script typeReplaces hard-coded device-specific logic with a generic capability model, reducing future similar issues
de169b18by Craig Raw+23−73 files
No security note in commit
Low 37 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

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

This commit tightens how Sparrow Wallet handles command-line arguments. Previously, typos or unexpected values could silently be ignored, causing the wallet to start on the default Bitcoin network instead of the one the user intended. Now,…

Command-line argument parsing now rejects unknown options instead of silently ignoring themBoolean flags now reject `--flag=value` forms that would otherwise silently pass the value through as a file/URI argumentProgram now exits with non-zero status on argument errors, reducing risk of unintended default-network startup
46197586by Craig Raw+26−12 files
No security note in commit
Low 37 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

ignore amount digits beyond the selected unit precision in the send tab amount and fee fields and the send to many grid, instead of truncating them in the payment

This commit fixes a UI bug in the Sparrow Bitcoin wallet where typing or pasting too many decimal digits into amount or fee fields could be silently truncated, potentially causing a user to send a different amount than they saw on screen. …

Precision-loss / truncation bug in financial input fieldsUser-facing amount/fee mismatch between displayed value and parsed valueInput validation now tied to unit-specific precision (satoshis indivisible)
6cde97adby Craig Raw+48−315 files
No security note in commit
Low 41 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

derive public keys from the seed when importing a sparrow wallet file

This commit changes how Sparrow Wallet restores its own wallet files. Previously, when importing a Sparrow wallet file, the public keys (used to find transactions and addresses) might not be correctly rebuilt from the seed phrase. The fix …

Correctness fix for key material restoration during wallet importAdds test coverage for encrypted and unencrypted seed-based wallet importAdds test coverage for watch-only wallet import
1fb4e8bbby Craig Raw+149−23 files
No security note in commit
Informational 21 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

add file import of the xpub descriptor jade writes to usb storage

This commit adds the ability to import a Bitcoin wallet's extended public key (xpub) into Sparrow Wallet from a file written by a Blockstream Jade hardware wallet via USB storage. Previously, Jade only supported QR-code import. The change …

New file import path parses external descriptor data and converts it to a keystoreScript type mismatch is explicitly rejected with an IllegalArgumentExceptionSilent payments policy (SINGLE_SP) is explicitly rejected
c4b53879by Craig Raw+74−44 files
No security note in commit
Low 34 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

include the non-witness utxo in psbts for krux keystores, and in the qr display when the psbt has more than one input

This commit changes how Sparrow Wallet builds QR codes for partially-signed Bitcoin transactions (PSBTs). For certain hardware wallets (Krux), it now includes extra data (the full previous transaction, called 'non-witness utxo') in the QR …

Hardware wallet signing correctness: missing non-witness UTXO data can cause some signers to reject or mis-handle multi-input segwit PSBTsQR payload size increase: larger QR codes may be harder to scan reliably, potentially affecting usabilitySubproject update (drongo) likely contains related serialization logic changes
0e2c402fby Craig Raw+4−32 files
No security note in commit
Low 35 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

clear a scanned wallet when a file, text payload or unrecognised qr is imported in the same pane

This commit fixes a UI state bug in Sparrow Wallet's import pane. Previously, when a user scanned or imported a wallet and then imported a non-wallet file, text payload, or unrecognized QR code in the same pane, the previously loaded walle…

Stale UI state could mislead users about which wallet is loadedCross-import state retention in single import paneUser interface consistency fix with security-relevant consequences
d7ded1e7by Craig Raw+4−21 file
No security note in commit
Low 35 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

lock the cormorant store against client connection reads and serve history as a copy, and close the client socket however its handler exits

This commit fixes two reliability issues in Sparrow Wallet's built-in Electrum server (Cormorant). First, it makes sure the internal transaction store is locked while being read or updated, and returns a fresh copy of a wallet's history so…

Concurrency: shared mutable store accessed by client handler and polling threads now synchronizedData consistency: history returned as a defensive copy to avoid iterator seeing concurrent modificationsResource leak: client socket now closed in finally block regardless of exception path
6cc4d50aby Craig Raw+57−94 files
No security note in commit
Low 44 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

ensure cormorant responses and notifications are always serialized per client connection

This commit fixes a race condition in Sparrow Wallet's built-in Electrum server (Cormorant). Previously, a response to a wallet client and an asynchronous notification (like a new block or a balance update) could be written to the same net…

Race condition on shared socket output streamConcurrent writes from RPC response path and event-bus notification pathPotential interleaving/framing of JSON-RPC messages on same TCP connection
6d9d3014by Craig Raw+146−303 files
No security note in commit
Low 27 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

wake a silent payments history waiter when a failed widening restores a completed scan, rather than leaving it parked for the session

This commit fixes a bug in Sparrow Wallet's silent-payments scanning cache. If a background scan had already finished, then a later 'widening' request to extend the scan failed and rolled back, any history request that arrived during the f…

Concurrency / condition-variable waiter starvationSilent-payments history lookup hang / wallet UI unresponsivenessFailure-recovery path missing signal on rollback
7868a94dby Craig Raw+100−122 files
No security note in commit
Informational 18 AI analysisMessage 60 · Adequate
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

guard a short server.version response in the desktop and terminal connection tests

This commit fixes a minor crash bug in Sparrow Wallet's connection-test screens. Previously, if a Bitcoin Electrum server answered the version request with an unusually short response, the wallet would try to read list items that didn't ex…

Input validation hardening for external server responseIndexOutOfBoundsException prevented in UI feedback pathNo cryptographic, authentication, or transaction logic touched
66348fafby Craig Raw+4−42 files
No security note in commit
Low 37 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

omit a paynym contact whose payment code does not parse rather than keeping it with a null code or failing the whole paynym response

This commit fixes a bug in Sparrow Wallet's PayNym (BIP47 reusable payment code) contact handling. Previously, if a single contact in your PayNym following/followers list had a malformed payment code, the app either kept a broken contact w…

Null payment code previously stored in contact objectPotential NullPointerException or downstream dereference of null PaymentCode in contact lists/searchWhole PayNym response could fail on one malformed contact
94ebb849by Craig Raw+43−114 files
No security note in commit
Informational 19 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

skip the exchange currencies request in offline mode in the desktop and terminal general settings

This change stops Sparrow Wallet from trying to fetch live fiat-currency exchange rates when the user has explicitly chosen 'offline mode'. Instead of making a network request that is doomed to fail, it now reuses the currency already save…

Avoids unnecessary network egress in offline modeReduces error/warning noise for expected offline behavior
b91f7993by Craig Raw+15−12 files
No security note in commit
Low 37 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

skip addresses already given out under a label and widen the gap limit on an explicit advance in the terminal receive dialog

This commit fixes two related Bitcoin wallet behaviors in Sparrow. First, when you ask for a new receive address, the wallet now skips any address that already has a label, because a label means that address was already given to someone. P…

Address reuse prevention: labeled-but-empty addresses are now skipped consistently across desktop and terminal receive flowsGap-limit widening on explicit advance reduces risk of missing funds during wallet recovery/rescanLogic centralized in WalletForm to reduce UI-specific divergence
cae870ceby Craig Raw+85−164 files
No security note in commit
Low 44 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

cap bbqr display and pdf encodings at the 1295 parts the header can number, using larger parts for data that needs more rather than emitting a sequence that cannot be reassembled

This commit fixes a bug in Sparrow Wallet's BBQ QR code format. Previously, if a large transaction or data blob needed more than 1,295 QR-code-sized pieces, the app would generate pieces with impossible sequence numbers that could not be r…

Integer/sequence-number overflow-like limit violation in a data-encoding protocolPotential denial-of-service or data-integrity failure when exporting large transactions via QRRound-trip unit test added to prevent regression
4b5326d8by Craig Raw+27−12 files
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

AI review queuedpersist silent payment address mappings for safe rbf of sp-sending transactionsby Craig Raw · e985a03a · May 18, 2026 · 10 filesMessage 50 · ThinLow 30Details
Commit message · Craig Raw

persist silent payment address mappings for safe rbf of sp-sending transactions

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 30/100

This commit adds a safety feature for a new Bitcoin privacy technology called 'silent payments.' It records the relationship between a regular-looking payment address and its silent-payment counterpart in the wallet's database. The main goal is to prevent users from accidentally breaking silent-payment outputs when they later modify (RBF) a transaction, such as by removing inputs. The commit also blocks one risky UI action with a warning dialog when such a change would be unsafe.

AI review queuedrelease electrum transport read lock during socket reads to avoid client request starvationby Craig Raw · 273d2aac · May 15, 2026 · 1 fileMessage 62 · AdequateLow 31Details
Commit message · Craig Raw

release electrum transport read lock during socket reads to avoid client request starvation

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Explains rationale or failure mode! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 31/100

This commit fixes a concurrency bug in Sparrow Wallet's Electrum server connection code. Previously, a single read lock was held continuously while waiting for data from the server, which could starve or block other client requests. The change releases that lock during socket reads and restructures the read loop so responses are delivered only when the lock is held. This is a reliability/performance fix that reduces the chance of the wallet becoming unresponsive or misbehaving when talking to an Electrum server, but it is not a direct theft-of-funds vulnerability.

AI review queuedrestrict to required sighash types when sending sp outputsby Craig Raw · 97383a4e · May 15, 2026 · 2 filesMessage 50 · ThinLow 42Details
Commit message · Craig Raw

restrict to required sighash types when sending sp outputs

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 42/100

This commit tightens which Bitcoin signature hash (sighash) types users can pick when sending to a silent payment address. Previously the UI offered all normal signing options; now it forces the recommended/required sighash (ALL for non-taproot, DEFAULT for taproot) and labels it as required. The change is defensive: using the wrong sighash type with silent payments could break privacy or make the transaction invalid, so the wallet now prevents that choice.

AI review queuedhide receive actions for address entry cells in sp walletsby Craig Raw · 712750a2 · May 15, 2026 · 1 fileMessage 50 · ThinLow 32Details
Commit message · Craig Raw

hide receive actions for address entry cells in sp wallets

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 32/100

This commit removes the 'Receive To' button and menu option for a specific type of wallet called a 'single sig single purpose' (SINGLE_SP) wallet. Previously, these receive actions were shown for all wallets except BIP47 (PayNym) wallets. The change appears to be a UI hardening measure to prevent users from accidentally or inappropriately reusing addresses in wallets that are intended to be used only once.

AI review queuedhide wallet rescan hyperlink when nothing further can be scannedby Craig Raw · 1be9ac10 · May 14, 2026 · 7 filesMessage 50 · ThinInformational 17Details
Commit message · Craig Raw

hide wallet rescan hyperlink when nothing further can be scanned

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 17/100

This commit is a user-interface polish change for the Sparrow Wallet desktop app. It hides the 'Rescan Wallet' hyperlink when the wallet has already been scanned as far back as possible, and shows a helpful label instead. There is no indication it fixes a security vulnerability.

Security candidatedefault sp wallet birthdate to creation time to avoid full rescansby Craig Raw · a035767e · May 14, 2026 · 4 filesMessage 62 · AdequateInformational 19Details
Commit message · Craig Raw

default sp wallet birthdate to creation time to avoid full rescans

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Explains rationale or failure mode! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet path
AI analysis · Informational 19/100

This commit changes Sparrow Wallet so that newly created or renamed single-signature (SINGLE_SP) wallets get a default 'birth date' set to the current time. The birth date tells the wallet how far back in the blockchain it needs to scan for transactions. Without it, the wallet would perform a full rescan of the entire blockchain, which is slow and resource-intensive. The change is a performance/usability improvement, not a security fix.

AI review queuedswitch electrum server notification detection to streaming json token parseby Craig Raw · 1ad237c6 · May 14, 2026 · 1 fileMessage 50 · ThinLow 49Details
Commit message · Craig Raw

switch electrum server notification detection to streaming json token parse

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 49/100

This commit changes how Sparrow Wallet decides whether a message from an Electrum server is a subscription notification. Previously it used a simple text search (looking for the word 'method' and absence of the word 'error'), which could be fooled by JSON strings containing those words. Now it uses a proper JSON parser to check whether the message actually has a 'method' field at the top level. This is a hardening fix: the old approach could misclassify server responses, possibly causing user notifications to be missed or processed incorrectly. There is no direct evidence in the commit that this was exploited or treated as a security bug by the vendor.

AI review queuedpreserve sp scan cache cancellation across widening rollbackby Craig Raw · 7e4aaacd · May 13, 2026 · 1 fileMessage 50 · ThinLow 31Details
Commit message · Craig Raw

preserve sp scan cache cancellation across widening rollback

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 31/100

This commit fixes a small logic bug in how Sparrow Wallet caches scans for silent payments (a privacy-preserving way to receive Bitcoin). During a specific multi-step process called 'widening rollback,' if the user or a server disconnect had already cancelled the scan, the code could accidentally un-cancel it and restore old cached data. The fix simply checks 'if already cancelled, stay cancelled' before restoring the snapshot. It is a correctness/reliability fix rather than a direct theft-of-funds vulnerability, but it could cause the wallet to miss or misreport silent-payment transactions after a cancellation.

AI review queuedpre-populate sp self-spend node outputs to avoid partial first notificationby Craig Raw · 60d4cce1 · May 13, 2026 · 1 fileMessage 62 · AdequateInformational 23Details
Commit message · Craig Raw

pre-populate sp self-spend node outputs to avoid partial first notification

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Explains rationale or failure mode! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 23/100

This commit fixes a display timing issue in the Sparrow bitcoin wallet. When a user makes a payment to themselves (a 'self-spend'), the wallet could briefly show an incomplete transaction notification—showing the money leaving but not the matching change coming back. The patch pre-fills internal wallet records so the first notification is complete and accurate. It is a correctness/UX fix, not a vulnerability that lets an attacker steal funds.

AI review queuedincrease read timeouts when tor is configuredby Craig Raw · 7afb27b3 · May 12, 2026 · 1 fileMessage 45 · ThinInformational 21Details
Commit message · Craig Raw

increase read timeouts when tor is configured

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 21/100

This commit adjusts network waiting periods when Sparrow Wallet connects to a Bitcoin server through the Tor privacy network. It gives Tor connections slightly more time before retrying, likely to reduce false failures caused by Tor's slower routing. There is no indication this fixes an exploitable security flaw.

AI review queuedremove bisq broadcast sourceby Craig Raw · 8f56e950 · May 12, 2026 · 1 fileMessage 35 · OpaqueInformational 19Details
Commit message · Craig Raw

remove bisq broadcast source

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 19/100

This commit removes one of several ways Sparrow Wallet can broadcast Bitcoin transactions to the network. The deleted code supported broadcasting through Bisq's market service (both a clearnet website and a Tor onion address). It is a simple feature removal with no obvious security bug being fixed in the code itself.

AI review queueddiscard stale electrum responses with mismatched idsby Craig Raw · 1a5f97ce · May 12, 2026 · 2 filesMessage 50 · ThinModerate 57Details
Commit message · Craig Raw

discard stale electrum responses with mismatched ids

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Moderate 57/100

This commit changes how Sparrow Wallet's connection to Electrum servers handles replies. Previously, the app tried to match an entire sent request object to a received response object to decide if the reply belonged to the current request. The new code instead compares only the numeric 'id' fields found in the JSON, and keeps reading and discarding any responses whose ids don't match. It also adds optional wire-level logging. The change is a defensive fix against 'stale' or out-of-order server responses being mistaken for the answer to the current request.

AI review queuedupdate bisq broadcast source urlsby Craig Raw · db3ebdb3 · May 12, 2026 · 1 fileMessage 45 · ThinInformational 18Details
Commit message · Craig Raw

update bisq broadcast source urls

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 18/100

This commit simply swaps the web and Tor addresses used by Sparrow Wallet to broadcast Bitcoin transactions through the Bisq mempool service. It changes one line in a list of broadcast sources, replacing 'mempool.bisq.services' with 'markets.bisq.network' and updating the corresponding onion address. There is no code logic change and no indication of a security vulnerability being fixed.

AI review queuedimprove wallet update behaviour for silent payment self-sendsby Craig Raw · 0b012995 · May 12, 2026 · 1 fileMessage 50 · ThinLow 35Details
Commit message · Craig Raw

improve wallet update behaviour for silent payment self-sends

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 35/100

This commit fixes how Sparrow Wallet updates its internal records when a user sends bitcoin to themselves using a 'silent payment' address. Previously, the wallet could fail to mark the coins being spent as spent, or could show an incorrect balance, because the wallet's update logic did not properly handle transactions discovered through the silent-payment channel. The patch makes the wallet consider both newly discovered silent-payment outputs and the inputs they spend in a single atomic update, and it also improves how broadcast transactions are tracked before they are sent to the network.

AI review queuedprevent tweakless address nodes in sp walletsby Craig Raw · 9b123617 · May 8, 2026 · 2 filesMessage 45 · ThinModerate 54Details
Commit message · Craig Raw

prevent tweakless address nodes in sp wallets

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Moderate 54/100

This commit changes how Sparrow Wallet creates address nodes when scanning silent payments. Previously, the wallet would fill a range of address indexes up to a target and then mark the matching one as a 'silent payment tweak' address. The new code adds a dedicated method that creates only the single silent-payment child node with its tweak value already set. The change appears intended to prevent silent-payment addresses from being created without their associated tweak data, which could otherwise lead to incorrect or missing balance tracking in single-sig (sp) wallets.

AI review queuedrefactor transaction diagram to dispatch on output wrapper typesby Craig Raw · 201d4b83 · May 7, 2026 · 6 filesMessage 50 · ThinInformational 11Details
Commit message · Craig Raw

refactor transaction diagram to dispatch on output wrapper types

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 11/100

This commit is a code cleanup in Sparrow Wallet's transaction diagram display. It changes how the wallet classifies and draws transaction outputs on screen, introducing new output wrapper types for silent-payment change and consolidation. There is no direct evidence in the commit that it fixes a security vulnerability; it appears to be a UI refactor with minor correctness improvements.

AI review queuedfix sp self-spend output discovery by always scanning all batch txsby Craig Raw · ab6416f3 · May 6, 2026 · 1 fileMessage 50 · ThinModerate 51Details
Commit message · Craig Raw

fix sp self-spend output discovery by always scanning all batch txs

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Moderate 51/100

This commit fixes a bug in Sparrow Wallet's silent payments feature. Previously, when scanning for incoming silent payments, the wallet only looked at transactions it had not already seen. This meant it could miss a special kind of transaction: one where the user sends bitcoin to themselves (a 'self-spend'). Because the wallet already knew about the transaction, it skipped re-scanning it for silent payment outputs, potentially causing the wallet to not display or account for those funds. The fix makes the wallet scan all relevant transactions, whether already known or not.

Security candidateimplement sp wallet loadingby Craig Raw · e64069f0 · May 4, 2026 · 22 filesMessage 35 · OpaqueInformational 23Details
Commit message · Craig Raw

implement sp wallet loading

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
signing or wallet pathboot or update path
AI analysis · Informational 23/100

This commit adds support for loading and refreshing 'silent payments' (a newer Bitcoin privacy feature) wallets in Sparrow. It introduces server subscription management, scan caching, and UI wiring. There is no direct evidence in the commit of a security vulnerability, but the new code handles private scan keys and network state, so correctness matters. The change is large and touches concurrency, making subtle bugs possible, but nothing in the diff clearly enables theft, remote code execution, or data leakage.

AI review queuedrefactor transaction history fetch methodby Craig Raw · e96a7113 · Apr 30, 2026 · 1 fileMessage 45 · ThinInformational 12Details
Commit message · Craig Raw

refactor transaction history fetch method

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 12/100

This commit is a straightforward internal code cleanup: it moves the logic that fetches wallet transaction history out of a nested background-service class and into the main ElectrumServer class. The actual behavior, synchronization, and data flow remain essentially unchanged. There is no indication this fixes or introduces a security issue.

AI review queuedadd silent payments rpc methods, capability check and notification dispatchby Craig Raw · abe1f9c9 · Apr 29, 2026 · 17 filesMessage 50 · ThinInformational 20Details
Commit message · Craig Raw

add silent payments rpc methods, capability check and notification dispatch

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 20/100

This commit adds support for a new Bitcoin privacy feature called 'silent payments' in the Sparrow Wallet. It lets the wallet ask compatible servers to scan for silent-payment transactions and report them back. The change also improves how Sparrow detects what a server can do, and it makes one error type more specific when Bitcoin Core cannot handle silent payments. There is no obvious security bug in the diff, but it does involve sending private scanning keys to an external server, which is inherent to the silent-payments protocol and is now done through a new RPC call.

AI review queuedadd all singlesig importers to sp airgapped keystore importby Craig Raw · 69aef9c2 · Apr 28, 2026 · 2 filesMessage 50 · ThinInformational 19Details
Commit message · Craig Raw

add all singlesig importers to sp airgapped keystore import

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 19/100

This commit expands the list of hardware-wallet and air-gapped importers that Sparrow Wallet shows when a user creates a single-signature wallet using a 'single SP' policy type. Previously only ColdcardSinglesig was offered; now all singlesig file importers (Jade, Keystone, Passport, SeedSigner, etc.) and all card importers (Tapsigner, Satochip, etc.) are available. The change also broadens an exception handler in SpecterDIY so that non-IO errors during import are reported to the user instead of crashing or being swallowed. There is no direct security vulnerability in the diff; it is a feature/robustness improvement.

AI review queuedupdate bitview logoby Craig Raw · 630ce0f3 · Apr 27, 2026 · 2 filesMessage 28 · OpaqueInformational 15Details
Commit message · Craig Raw

update bitview logo

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit simply swaps one SVG logo image for another in the Sparrow Wallet application. It changes the visual icon used for the BitView fee-rate source from a plain square to a stylized cube logo. There is no code change, no executable logic, and no security-relevant behavior.

Security candidatesupport sp wallet import via all keystore importersby Craig Raw · 723b004e · Apr 27, 2026 · 13 filesMessage 50 · ThinInformational 19Details
Commit message · Craig Raw

support sp wallet import via all keystore importers

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet path
AI analysis · Informational 19/100

This commit adds the ability to import a new kind of Bitcoin wallet—called a 'silent payment' (SP) singlesig wallet—through the same screens and file formats that already supported ordinary HD singlesig wallets. It updates dropdown menus, import logic, and several hardware-wallet/file parsers so users can choose between HD and SP when importing. There is no direct evidence in the commit of a security vulnerability; it reads as a feature expansion with explicit guardrails (some importers reject SP if they cannot support it).

AI review queuedavoid unnecessary xpub string roundtripby Craig Raw · 6cefec5c · Apr 27, 2026 · 2 filesMessage 45 · ThinInformational 15Details
Commit message · Craig Raw

avoid unnecessary xpub string roundtrip

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a small internal cleanup: it stops converting a hardware wallet's extended public key (xpub) to a text string and back again, and instead keeps it as a typed object throughout the code. There is no visible user-facing change and no indication of a security fix.

AI review queuedsupport retrieving silent payments spscan keys via connected devicesby Craig Raw · f5ee7bf2 · Apr 27, 2026 · 6 filesMessage 50 · ThinInformational 20Details
Commit message · Craig Raw

support retrieving silent payments spscan keys via connected devices

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 20/100

This commit adds support for importing a special Bitcoin 'silent payments' scanning key from connected hardware wallets, while explicitly blocking three types of smartcards (Tapsigner, Keycard, Satochip) from being used with silent-payment wallets because they cannot support it. It is a feature addition, not a fix for an active security flaw.