Practical overview
When it fits
Use it when a JavaScript project needs BIP32 address-chain utilities and can supply the key nodes and, for discovery, its own blockchain address lookup.
Who it is for
- JavaScript developers building Bitcoin HD wallet address management
- Developers who need to track external and internal address chains
- Developers creating manual address-discovery tools with their own blockchain lookup
Documented uses
- Generate and advance addresses in an HD wallet chain
- Manage external and internal address chains for an account
- Find a known address's index in a chain
- Discover used addresses by checking chain addresses through a supplied lookup
Requirements & limits
The public GitHub repository is MIT-licensed.
- The README identifies compatibility with bitcoinjs-lib ^2.0.0 and ^3.0.0.
- Address discovery depends on a callback and blockchain lookup supplied by the integrating project.
- The README warns that passing parent nodes to account derivation can enable private-key escalation.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Discover used addresses along a BIP32 chain
Use the documented manual discovery utility with a caller-provided blockchain address-summary lookup.
Before you start
- JavaScript environment
- bip32-utils and bitcoinjs-lib
- A BIP32 chain derived from a seed
- A blockchain lookup that accepts address batches and returns usage results; the example uses cb-blockr
Steps
Create a BIP32 chain from the seed-derived node.
Choose a gap limit for the discovery scan.
Pass the chain, gap limit, and a callback to bip32utils.discovery; have the callback query address summaries and map results to used or unused.
Handle the completion callback’s used and checked counts, then apply the example’s pruning logic if appropriate.
Expected outcome
The completion callback reports the number of used and checked addresses, allowing the caller to inspect or prune the chain as shown in the example.
Guide limitations
- The lookup service is supplied by the caller and is not provided as a hosted feature of the library.
- The example’s pruning logic notes that the chain may have started at an index greater than zero, so used is not necessarily the total address count.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- bitcoinjs/bip32-utils · Official homepage title · retained in its source language

