Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

btc-interop

End-to-end interoperability tests for Bitcoin wallets, on regtest.

The question: if a wallet backup made in software A is restored in software B, does B find the same addresses and the same funds?

Results are factual — PASS / FAIL / NOT_IMPLEMENTED / UNKNOWN, always with exact versions and a reproducible script. No rankings, no scores, no "certified" badges.

Findings

# Finding Status
001 bdk-cli 4.0.0: full_scan over RPC ignores --scan-stop-gap; a restored wallet silently misses funds at external index ≥ 25 Reported: bitcoindevkit/bdk-cli#340

Details: findings/001-bdk-cli-rpc-ignores-stop-gap.md

Reports

Date Report
2026-09-28 Restore compatibility: Bitcoin Core, bdk-cli (RPC, Esplora), Electrum

Scenarios

Script What it tests Self-contained
scenarios/rpc-lookahead-boundary.sh Core → bdk-cli (RPC): funds at index 24, 25, 30 and 30 with --scan-stop-gap 100 Yes (starts its own regtest node)
scenarios/rpc-vs-esplora-gap.sh Same wallets through RPC vs Esplora (Blockstream electrs), default vs --scan-stop-gap 40 Not yet: depends on a local lab node (labels in Portuguese)
scenarios/electrum-restore.sh Core → Electrum 4.8.2: format checks (descriptor, Taproot) and the same wallets with default vs raised gap limit Not yet: depends on a local lab node (labels in Portuguese)

Requirements: Bitcoin Core, bdk-cli (--features rpc,esplora), Blockstream electrs (new-index) for Esplora scenarios, and for the Electrum scenario the Electrum app plus electrs built with --features electrum-discovery.

Scope and prior art

This project does not duplicate existing work:

  • bitcoinfuzz: differential fuzzing between libraries.
  • psbt-interop-lab: PSBT interoperability between libraries (explicitly out of scope there: chain scanning and recovery).
  • walletsrecovery.org: what each wallet documents about recovery.

btc-interop measures what wallet software does when restoring — the gap none of the above covers.

Status

Early. Tested so far: Bitcoin Core 31.1.0, bdk-cli 4.0.0 (RPC and Esplora backends), Electrum 4.8.2.

License

MIT

About

End-to-end interoperability tests for Bitcoin wallets, on regtest. Factual, reproducible results.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages