BC
← All projectsBitcoin Core

Hardware Wallet Interface

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

BitcoinHardware integrationSoftware walletsNormal
Repository coverage

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

8security candidates3second-pass queue5AI analyses
23commits · 30 days
24commits · 60 days
27commits · 180 days
30commits · 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.

63/100 average clarity
7Strong · 80–100
7Adequate · 60–79
14Thin · 40–59
2Opaque · 0–39
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Sjors Provoost2065065
Ava Chow620066
Salvatore Ingala200057
andreasgriffin100018
Rohit Yadav100050
Analysis record

Published AI watches

Last scanned 43 minutes ago

Informational 15 AI analysisMessage 90 · Strong
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

test: make device signing cases more granular

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 …

eab5bad3by Sjors Provoost+19−97 files
No security note in commit
Informational 15 AI analysisMessage 65 · Adequate
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

ledger: have sign_psbt return SignPsbtYieldedObject

This commit is a straightforward internal code refactor for Ledger hardware wallet support. It changes the data structure returned when signing a Bitcoin transaction from a simple tuple of raw bytes to a more descriptive object that can ca…

e86440aeby Sjors Provoost+73−274 files
No security note in commit
Low 40 AI analysisMessage 45 · Thin
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

ledger: handle script path signatures

This commit updates the Ledger hardware wallet driver in HWI so it can correctly store Taproot script-path signatures in a PSBT, not just key-path signatures. Previously, the code had a placeholder that always treated any Taproot signature…

Previously unimplemented TODO for script-path signaturesIncorrect PSBT field assignment for Taproot script-path spendsFunctional gap that could produce an invalid or incomplete PSBT
fc206450by Sjors Provoost+5−31 file
No security note in commit
Moderate 61 AI analysisMessage 88 · Strong
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

psbt: don't overwrite PSBTv2 tx version and fallback locktime

This commit fixes a bug in how the HWI library handles a newer Bitcoin transaction format called PSBTv2. Previously, when converting or setting up a PSBTv2 object, the code would accidentally overwrite the transaction's version number and …

Signature invalidation through mutation of transaction version/locktimeIncorrect null-check on PSBTv2 placeholder transaction objectPSBTv2 serialization round-trip failure for valid BIP 370 vectors
ca2caf04by Sjors Provoost+31−43 files
No security note in commit
Informational 21 AI analysisMessage 43 · Thin
BC Bitcoin CoreHardware Wallet Interface BitcoinHardware integrationSoftware wallets

psbt: add MuSig2 fields

This commit adds support for new MuSig2 fields in PSBT (Partially Signed Bitcoin Transaction) parsing and serialization. MuSig2 is a multi-signature protocol for Bitcoin. The change is a feature addition that parses and stores new PSBT fie…

New PSBT field parsing with explicit length validationDuplicate-key rejection for new fieldsNo cryptographic verification of MuSig2 nonces/signatures in this diff
351b3e4eby Sjors Provoost+120−32 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 queuedDrop Python 3.9 supportby Sjors Provoost · edfeace8 · Aug 4, 2026 · 7 filesMessage 38 · OpaqueTriage 0Details
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 review queuedupgrade protobufby andreasgriffin · a7367506 · Aug 1, 2026 · 2 filesMessage 18 · OpaqueTriage 0Details
Commit message · andreasgriffin

upgrade protobuf

18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI review queuedFix race condition in get_free_port by binding to localhostby Rohit Yadav · 38f55ebd · Feb 11, 2026 · 1 fileMessage 50 · ThinTriage 0Details
Commit message · Rohit Yadav

Fix race condition in get_free_port by binding to localhost

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
second-pass: broader security terminology