BC
← All projectsBitcoin Core

Hardware Wallet Interface

Python library and command-line interface for Bitcoin hardware-wallet communication.

BitcoinHardware integrationSoftware walletsNormal
Repository coverage

79 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.

29security candidates8second-pass queue56AI analyses
2commits · 30 days
58commits · 60 days
73commits · 180 days
78commits · 365 days
Backfill bands
Aug 5 → Feb 63 seen1 candidatesComplete
Feb 6 → Jun 63 seen0 candidatesComplete
Jun 6 → Jul 61 seen0 candidatesComplete
Jul 6 → Aug 522 seen1 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.

66/100 average clarity
23Strong · 80–100
28Adequate · 60–79
22Thin · 40–59
6Opaque · 0–39
1security candidate 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.
Sjors Provoost552238066
Ava Chow20714069
Salvatore Ingala202057
andreasgriffin101018
Rohit Yadav101050
Analysis record

Published AI watches

Last scanned 0 minutes ago

Low 29 AI analysisMessage 91 · Strong
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

Merge bitcoin-core/HWI#792: Optionally pass BIP388 policy to signtx

This commit adds an optional feature to the HWI tool that lets users pass previously registered Bitcoin wallet policies (BIP388) when signing transactions. It is a feature addition, not a fix for a known vulnerability. The change extends t…

New CLI argument `--registration` is appended to `signtx` and deserialized before being passed to hardware wallet clientsSeveral backends now accept and use `registered_descriptors` during PSBT signingBackends without BIP388 support raise `UnavailableActionError` when registrations are supplied
e63a0af2by Ava Chow+572−19119 files
No security note in commit
Informational 18 AI analysisMessage 81 · Strong
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

Merge bitcoin-core/HWI#853: psbt: enable type checking

This is a code-quality and type-safety patch. It adds the psbt.py file to the project's automated type-checking workflow and fixes two small logic issues where a value was assigned to an object field before being validated. The changes mak…

Validation moved before state mutation (defensive coding)Type annotations added to public methodsFile added to CI type-check coverage
390d9f84by Ava Chow+9−62 files
No security note in commit
Informational 18 AI analysisMessage 35 · Opaque
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

psbt: enable type checking

This commit turns on automated type checking for one more source file (hwilib/psbt.py) and makes small code changes so the file passes the type checker. The actual code changes move two integer assignments slightly later so validation happ…

Type checking enabled for PSBT moduleValidation ordering tightened for locktime fieldsExplicit type annotations added to PSBT methods
37643bd8by Sjors Provoost+9−62 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

test: extract PSBT helpers

This commit is a simple code cleanup in the test suite. It pulls out two small blocks of test code into reusable helper functions for signing and finalizing PSBTs, and for setting global xpubs in PSBTs. There is no change to production cod…

adc8ccb3by Sjors Provoost+25−81 file
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

coldcard: extract transaction signing helpers

This commit simply reorganizes the Coldcard hardware wallet signing code in HWI by moving existing logic into two new helper methods. There is no change to what the code actually does; it is a pure refactoring (code cleanup) with no securi…

826a2ac5by Sjors Provoost+76−641 file
No security note in commit
Informational 24 AI analysisMessage 45 · Thin
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

psbt: detect keys and signatures by fingerprint

This commit adds two helper methods to the PSBT (Partially Signed Bitcoin Transaction) handling code that let the library check whether a specific hardware wallet's fingerprint appears in a transaction input, and whether that fingerprint h…

Adds fingerprint-based key/signature detection in PSBT input parsingIncludes unit tests covering legacy BIP32, Taproot key path, and Taproot script path casesNo caller or usage of new methods shown in the diff
3cc34937by Sjors Provoost+74−02 files
No security note in commit
Low 31 AI analysisMessage 68 · Adequate
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

ledger: support BIP388 policy signing

This commit updates the Ledger hardware wallet support in HWI so that newer Ledger devices can sign Bitcoin transactions using registered BIP388 wallet policies. Previously, any attempt to use registered descriptors with a Ledger was block…

Change removes an explicit error path for registered descriptors, increasing supported functionalityAdds reconstruction of registered wallet policies and propagation of registration HMACs during PSBT signingTouches hardware-wallet signing path where incorrect policy handling could lead to signing unintended transactions
ac80a37bby Sjors Provoost+21−21 file
No security note in commit
Low 25 AI analysisMessage 91 · Strong
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

Merge bitcoin-core/HWI#849: coldcard: bump firmware, add edge, display taproot address, restore test_signtx (ex. multisig)

This is a routine feature-and-testing update for the Coldcard hardware wallet support in Bitcoin Core's HWI tool. It adds support for Coldcard's 'Edge' experimental firmware, lets users display single-signature Taproot addresses on Edge, a…

PSBT version downgrade logic moved from per-pass to once-per-signing; intended to preserve v2 when supported and downgrade when notNew firmware version parsing heuristic treats Q/X suffixes and Edge/simulator as PSBTv2 capableTaproot singlesig address display enabled only for Coldcard Edge firmware
8593a755by Ava Chow+220−8819 files
No security note in commit
Low 32 AI analysisMessage 91 · Strong
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

Merge bitcoin-core/HWI#842: Add `registerdescriptors` command for registering a descriptor with a device

This commit adds a new command called `registerdescriptor` to the HWI tool, which lets users register Bitcoin output descriptors with supported hardware wallets (Ledger, BitBox02, Jade, Coldcard). It also rewrites how descriptors are parse…

New command registers user-supplied descriptors with hardware walletsHWI explicitly does not validate descriptors before passing them to the device; device errors are propagatedDescriptor parser changed from string-based derivation paths to structured list-of-lists, affecting all descriptor handling
d928dae5by Ava Chow+709−12320 files
No security note in commit
Moderate 60 AI analysisMessage 91 · Strong
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

Merge bitcoin-core/HWI#839: psbt: misc fixes and add remaining BIP 174 and BIP 370 test vectors

This commit tightens how the Bitcoin hardware wallet interface library reads PSBT files. It now rejects PSBTv0 files that contain fields only allowed in the newer PSBTv2 format, enforces sensible locktime ranges, and fixes several bugs whe…

Strict PSBT version field validationNew locktime bound enforcementWitness-stripped unsigned tx parsing
695c731bby Ava Chow+122−134 files
No security note in commit
Low 32 AI analysisMessage 68 · Adequate
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

bitbox02: support BIP388 policy signing

This commit adds support for signing Bitcoin transactions with registered wallet policies (BIP388) on the BitBox02 hardware wallet. Previously this feature was rejected with an error. The change translates a registered wallet descriptor in…

Removal of an explicit unsupported-action error for BIP388 policy signingNew xpub and fingerprint comparison logic to identify the device's key in a policyNew policy script config construction passed to hardware signing routines
a76f3447by Sjors Provoost+32−11 file
No security note in commit
Informational 22 AI analysisMessage 60 · Adequate
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

jade: support BIP388 policy signing

This change removes an error that previously blocked Bitcoin signing for a specific type of wallet policy (BIP388) on the Blockstream Jade hardware wallet. The device now supports these policies, so the software no longer needs to reject t…

Removal of an explicit unsupported-action errorNo new cryptographic operations introducedNo input validation changes observed
db189db5by Sjors Provoost+1−21 file
No security note in commit
Informational 19 AI analysisMessage 68 · Adequate
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

coldcard: support BIP388 policy signing

This commit adds support for signing Bitcoin transactions with named wallet policies (BIP388) on newer Coldcard hardware wallets. It is a feature addition, not a fix for a known security flaw. The change removes an error that previously bl…

Feature addition for BIP388 policy signingRemoval of UnavailableActionError guard for registered_descriptorsNew miniscript_name parameter length-bounded to 1-32 ASCII bytes
7e278f48by Sjors Provoost+54−72 files
No security note in commit
Informational 17 AI analysisMessage 68 · Adequate
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

signtx: add BIP388 policy support

This commit adds a new command-line option and API parameter for BIP388 registered descriptor policies to the transaction-signing flow. It does not implement actual signing support in any hardware wallet driver; every device implementation…

New API surface added for BIP388 policy registrationAll device implementations explicitly reject BIP388 policy signing with UnavailableActionErrorNo existing signing path is modified; default behavior unchanged
6f44e489by Sjors Provoost+85−1110 files
No security note in commit
Informational 21 AI analysisMessage 91 · Strong
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

Merge bitcoin-core/HWI#819: Drop Python 3.9, use 3.10 for dist, bump Ledger

This is a routine maintenance merge for the Bitcoin Core Hardware Wallet Interface (HWI). It drops support for the end-of-life Python 3.9, switches deterministic builds and CI to Python 3.10, updates Ledger test firmware/simulator versions…

Dependency/toolchain version bump (Python 3.9 EOL removal, Python 3.10 adoption)Ledger firmware/app and Speculos simulator version bump in CI/testsTest automation rules updated for new Ledger UI prompts
2daa5916by Ava Chow+124−15629 files
No security note in commit
Informational 15 AI analysisMessage 70 · Adequate
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

Drop Ledger deny rule from tests

This commit removes an unused test automation rule that automatically pressed a button when a Ledger hardware wallet simulator showed 'Cancel' or 'Reject' on screen. It only affects test data, not the actual wallet interface code users rel…

0379e278by Sjors Provoost+0−71 file
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

test: reenable LedgerX tests

This commit only re-enables automated tests for Ledger Nano X hardware wallets. It removes code that was skipping certain tests, but makes no changes to the actual wallet-interaction code that users rely on. There is no security fix or vul…

d2a5874aby Sjors Provoost+0−201 file
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

Skip archiving hwi-qt on non-x86 platforms

This change adjusts the build script so that the graphical hwi-qt program is only bundled into release archives for 64-bit x86 (Intel/AMD) systems. On other CPU architectures, only the command-line hwi tool is packaged. This is a build/pac…

1b0cbea5by Sjors Provoost+1−11 file
No security note in commit
Informational 15 AI analysisMessage 90 · Strong
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

test: increase stdin command timeout

This commit only changes a test timeout from 60 seconds to 120 seconds so that automated tests can complete when a Ledger hardware wallet running newer firmware takes longer to sign a large test transaction. It does not change any producti…

cd8a4317by Sjors Provoost+1−11 file
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

Bump Speculos and Ledger Bitcoin app

This commit updates the versions of testing tools and Ledger Bitcoin app used in HWI's automated test environment. It does not change the actual HWI wallet-interaction code that users run. The changes are purely to keep CI/test simulations…

976353edby Sjors Provoost+28−95 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.

Security candidatecoldcard: support BIP388 policy signingby Sjors Provoost · 7e278f48 · Aug 6, 2026 · 2 filesMessage 68 · AdequateInformational 19Details
Commit message · Sjors Provoost

coldcard: support BIP388 policy signing

Pass each registered policy name to Edge in a separate signing request.
Use a final unnamed request for inputs outside the registered policies.

Older Coldcards still infer a stored multisig policy from the PSBT.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing boundaryparser or protocol path
AI analysis · Informational 19/100

This commit adds support for signing Bitcoin transactions with named wallet policies (BIP388) on newer Coldcard hardware wallets. It is a feature addition, not a fix for a known security flaw. The change removes an error that previously blocked this feature and sends each registered policy name to the device in separate signing requests. There is no indication in the commit that this addresses a security vulnerability.

Security candidatesigntx: add BIP388 policy supportby Sjors Provoost · 6f44e489 · Aug 6, 2026 · 10 filesMessage 68 · AdequateInformational 17Details
Commit message · Sjors Provoost

signtx: add BIP388 policy support

Accept registered descriptor policies throughout the signing API. Device
implementations reject registrations until support is added in
subsequent commits.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing boundary
AI analysis · Informational 17/100

This commit adds a new command-line option and API parameter for BIP388 registered descriptor policies to the transaction-signing flow. It does not implement actual signing support in any hardware wallet driver; every device implementation explicitly rejects the new option with an error message. There is no security vulnerability here—it's a feature plumbing change that prepares the codebase for future per-device support.

Lower-prioritytest: sign with registered descriptorsby Sjors Provoost · 5642ebdd · Aug 6, 2026 · 1 fileMessage 90 · StrongTriage 0Details
Commit message · Sjors Provoost

test: sign with registered descriptors

Extend the generic descriptor registration tests to fund, sign, and
finalize transactions spending from registered policies.

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Lower-priorityci, ledger: Bump speculos to ed952a54801f59a71399462b5422976d84c817bbby Ava Chow · 01da910f · Aug 5, 2026 · 1 fileMessage 50 · ThinTriage 0Details
Commit message · Ava Chow

ci, ledger: Bump speculos to ed952a54801f59a71399462b5422976d84c817bb

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-priorityci: Add Python 3.13 and 3.14 jobsby Ava Chow · d26304f0 · Aug 5, 2026 · 2 filesMessage 57 · ThinTriage 0Details
Commit message · Ava Chow

ci: Add Python 3.13 and 3.14 jobs

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
documentation-only discount
Security candidateMerge bitcoin-core/HWI#819: Drop Python 3.9, use 3.10 for dist, bump Ledgerby Ava Chow · 2daa5916 · Aug 5, 2026 · 29 filesMessage 91 · StrongInformational 21Details
Commit message · Ava Chow

Merge bitcoin-core/HWI#819: Drop Python 3.9, use 3.10 for dist, bump Ledger

d27d196def0b24b9f0a1a1c15cad755907583221 test: disambiguate Ledger warning automation (Sjors Provoost)
0379e278589999c51d50a4e8714d8a66d22ec47c Drop Ledger deny rule from tests (Sjors Provoost)
1b0cbea5023fc712e764db488d8df6e0142860a6 Skip archiving hwi-qt on non-x86 platforms (Sjors Provoost)
d2a5874ac9cc36a1c5e058472d86df5e583046a8 test: reenable LedgerX tests (Sjors Provoost)
cd8a43174fc806d3c53f5dd9feeef5708339f1c4 test: increase stdin command timeout (Sjors Provoost)
976353eded87c8c37a56f67be3b2e3d65368b105 Bump Speculos and Ledger Bitcoin app (Sjors Provoost)
eab5bad366c580a386c765670f9ce8bd1ce76836 test: make device signing cases more granular (Sjors Provoost)
edfeace84c614d4a80143eb3412b9f20d204ecc5 Drop Python 3.9 support (Sjors Provoost)
45de0be7d14e4c5a754b76f8b0bd4f953b236251 build: deterministic builds use Python 3.10 (Sjors Provoost)
5c9d86d9364123f997b772326e7fa323752af5a5 build: use Podman friendly syntax (Sjors Provoost)
68c51cf90495821e34d3fd0907657c4baeea57ab build: add docker / container ignore files (Sjors Provoost)
8603233a6d399e2aa39bc412f9b5d217d41b0853 build: generate UI before building distributions (Sjors Provoost)

Pull request description:

This PR first switches the deterministic builds to Python 3.10. It then drops the end-of-life 3.9.

Then it bumps Speculos and Ledger and enables the tests that were previously disabled.

There's also a few minor cleanup commits, plus changes to make the Docker containers Podman friendly so I can easily run them locally.

ACKs for top commit:
achow101:
ACK d27d196def0b24b9f0a1a1c15cad755907583221

Tree-SHA512: d1b0605097e5dc4621c8ad9d16ba8a2f4f8c7b211ac7d8887d15fc74e97ab463d92cd2d0a34e97b454044409f6163fc4cba98d45888237f92c8008fb6e69188b

91/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
signing boundarymerge-commit duplicate discount
AI analysis · Informational 21/100

This is a routine maintenance merge for the Bitcoin Core Hardware Wallet Interface (HWI). It drops support for the end-of-life Python 3.9, switches deterministic builds and CI to Python 3.10, updates Ledger test firmware/simulator versions, re-enables some Ledger tests, and makes small build/test cleanups. There is no direct evidence in the commit of a security vulnerability being fixed or introduced.

Lower-prioritydescriptor: add ranged descriptor derivationby Sjors Provoost · 62d3ea14 · Aug 4, 2026 · 2 filesMessage 60 · AdequateTriage 0Details
Commit message · Sjors Provoost

descriptor: add ranged descriptor derivation

Add a helper that selects a receive or change branch and address
index without mutating the original descriptor.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Lower-prioritybitbox02: support BIP388 policy address displayby Sjors Provoost · dcb52453 · Aug 4, 2026 · 1 fileMessage 68 · AdequateTriage 0Details
Commit message · Sjors Provoost

bitbox02: support BIP388 policy address display

Translate the registered policy into a BitBox02 script
configuration and display the selected receive or change address.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-priorityjade: support BIP388 policy address displayby Sjors Provoost · 26cbbe45 · Aug 4, 2026 · 1 fileMessage 60 · AdequateTriage 0Details
Commit message · Sjors Provoost

jade: support BIP388 policy address display

Use the registered descriptor name to request the selected receive or
change address.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Lower-priorityledger: support BIP388 policy address displayby Sjors Provoost · ac8391fa · Aug 4, 2026 · 1 fileMessage 60 · AdequateTriage 0Details
Commit message · Sjors Provoost

ledger: support BIP388 policy address display

Reconstruct the wallet policy from the registered descriptor, then
display the selected receive or change address.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Lower-prioritytest: display registered descriptor addressby Sjors Provoost · fc113c74 · Aug 4, 2026 · 1 fileMessage 82 · StrongTriage 0Details
Commit message · Sjors Provoost

test: display registered descriptor address

Extend the generic descriptor registration test to display address index
7 from the registered policy.

82/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Mentions testing or verification
Lower-prioritydisplayaddress: add BIP388 policy supportby Sjors Provoost · d8b0d995 · Aug 4, 2026 · 3 filesMessage 68 · AdequateTriage 0Details
Commit message · Sjors Provoost

displayaddress: add BIP388 policy support

Accept a serialized registered descriptor, address index, and change
flag, then request that address from the selected device.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Lower-priorityDrop Ledger deny rule from testsby Sjors Provoost · 0379e278 · Aug 4, 2026 · 1 fileMessage 70 · AdequateInformational 15Details
Commit message · Sjors Provoost

Drop Ledger deny rule from tests

It's unused and occasionally trips up a test.

70/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Mentions testing or verification
AI analysis · Informational 15/100

This commit removes an unused test automation rule that automatically pressed a button when a Ledger hardware wallet simulator showed 'Cancel' or 'Reject' on screen. It only affects test data, not the actual wallet interface code users rely on. There is no security issue here.

Lower-prioritytest: reenable LedgerX testsby Sjors Provoost · d2a5874a · Aug 4, 2026 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · Sjors Provoost

test: reenable LedgerX tests

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100

This commit only re-enables automated tests for Ledger Nano X hardware wallets. It removes code that was skipping certain tests, but makes no changes to the actual wallet-interaction code that users rely on. There is no security fix or vulnerability here.

Lower-prioritySkip archiving hwi-qt on non-x86 platformsby Sjors Provoost · 1b0cbea5 · Aug 4, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Sjors Provoost

Skip archiving hwi-qt on non-x86 platforms

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This change adjusts the build script so that the graphical hwi-qt program is only bundled into release archives for 64-bit x86 (Intel/AMD) systems. On other CPU architectures, only the command-line hwi tool is packaged. This is a build/packaging convenience fix, not a security patch.

Lower-prioritytest: increase stdin command timeoutby Sjors Provoost · cd8a4317 · Aug 4, 2026 · 1 fileMessage 90 · StrongInformational 15Details
Commit message · Sjors Provoost

test: increase stdin command timeout

Ledger app 2.5.0 can take over 60 seconds to sign the large
transaction fixture. Allow stdin commands up to 120 seconds.

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
AI analysis · Informational 15/100

This commit only changes a test timeout from 60 seconds to 120 seconds so that automated tests can complete when a Ledger hardware wallet running newer firmware takes longer to sign a large test transaction. It does not change any production code, cryptographic logic, or user-facing behavior, and it does not fix or introduce a security vulnerability.

Lower-priorityBump Speculos and Ledger Bitcoin appby Sjors Provoost · 976353ed · Aug 4, 2026 · 5 filesMessage 45 · ThinInformational 15Details
Commit message · Sjors Provoost

Bump Speculos and Ledger Bitcoin app

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This commit updates the versions of testing tools and Ledger Bitcoin app used in HWI's automated test environment. It does not change the actual HWI wallet-interaction code that users run. The changes are purely to keep CI/test simulations working with newer Ledger firmware and emulator releases.

AI review queuedDrop Python 3.9 supportby Sjors Provoost · edfeace8 · Aug 4, 2026 · 7 filesMessage 38 · OpaqueInformational 20Details
Commit message · Sjors Provoost

Drop Python 3.9 support

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 20/100

This commit simply removes support for Python 3.9 from the project. It updates configuration files to require Python 3.10 or newer, removes a Python 3.9 Docker test image, and cleans up dependency lock files that were only needed for Python 3.9. There is no code change that fixes or introduces a security vulnerability.

Security candidatetest: make device signing cases more granularby Sjors Provoost · eab5bad3 · Aug 4, 2026 · 7 filesMessage 90 · StrongInformational 15Details
Commit message · Sjors Provoost

test: make device signing cases more granular

Most device simulators accept arbitrary keypool paths, so keep testing
that behavior by default.

Some devices enforce their own derivation path policies. Let those
emulators opt out of the arbitrary-path portion while still running the
remaining keypool checks.

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
signing boundary
AI analysis · Informational 15/100

This commit only changes test code. It makes the automated test suite more flexible by letting device simulators opt out of one specific test case involving unusual key derivation paths, while still running the rest of the tests. There is no change to the actual wallet software that users run, and no security fix or vulnerability is present in the diff.

Lower-prioritybuild: deterministic builds use Python 3.10by Sjors Provoost · 45de0be7 · Aug 4, 2026 · 8 filesMessage 57 · ThinInformational 19Details
Commit message · Sjors Provoost

build: deterministic builds use Python 3.10

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 19/100

This commit updates the project's build system to use Python 3.10 instead of Python 3.9 for creating release binaries and packages. It also changes the source of the Windows Python installer from official python.org MSI files to a NuGet package, because python.org no longer provides MSI installers for newer Python 3.10 versions. The changes are routine build-maintenance and do not appear to fix or introduce a security vulnerability on their own. The main thing to watch is that the new NuGet package is correctly verified by its SHA-256 hash, which the commit does include.

Lower-prioritybuild: generate UI before building distributionsby Sjors Provoost · 8603233a · Aug 4, 2026 · 4 filesMessage 57 · ThinInformational 17Details
Commit message · Sjors Provoost

build: generate UI before building distributions

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 17/100

This commit changes the build scripts for a Bitcoin hardware wallet interface tool. It makes sure graphical user interface (GUI) files are freshly generated before building installable packages, and adds a check that the generated package list stays consistent. There is no direct security bug being fixed here; it is a build-hygiene improvement meant to prevent packaging mistakes that could, in theory, lead to missing or inconsistent files in released software.

Lower-prioritybuild: add docker / container ignore filesby Sjors Provoost · 68c51cf9 · Aug 4, 2026 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · Sjors Provoost

build: add docker / container ignore files

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit adds two ignore files used when building Docker or container images. They simply tell the build tool which local files (like build leftovers, Python cache files, and documentation) should not be copied into the container image. There is no code change, no bug fix, and no apparent security issue.

Lower-prioritybuild: use Podman friendly syntaxby Sjors Provoost · 5c9d86d9 · Aug 4, 2026 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · Sjors Provoost

build: use Podman friendly syntax

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit changes two Dockerfiles used to build the project. It removes a global setting that forced every command to run in bash, and instead makes one specific command explicitly use bash. The stated reason is to make the build files work better with Podman, an alternative container tool. There is no security-relevant change here.

Lower-prioritytest: Add basic test for register_descriptorby Ava Chow · 50f5781e · Aug 4, 2026 · 6 filesMessage 67 · AdequateTriage 0Details
Commit message · Ava Chow

test: Add basic test for register_descriptor

67/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
AI review queuedjade: Implement register_descriptorby Ava Chow · 8fc30319 · Aug 4, 2026 · 1 fileMessage 35 · OpaqueInformational 18Details
Commit message · Ava Chow

jade: Implement register_descriptor

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 18/100

This commit adds a missing feature to the Blockstream Jade hardware wallet driver in HWI: the ability to register a Bitcoin output descriptor on the device. It is a small, straightforward implementation of an existing interface method. There is no direct evidence in the commit of a security vulnerability, bug, or malicious change. The change appears to be a normal feature addition.