-
Notifications
You must be signed in to change notification settings - Fork 98
Expand file tree
/
Copy pathindex.html
More file actions
466 lines (406 loc) · 30.8 KB
/
Copy pathindex.html
File metadata and controls
466 lines (406 loc) · 30.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<title>Wallets Recovery - Bitcoin Wallet Seeds Recovery Guide & Compatibility</title>
<meta name="description" content="A comprehensive resource for Bitcoin wallet seed recovery tools, methods, and compatibility information to help users regain access to their funds.">
<meta name="keywords" content="bitcoin wallet recovery, bitcoin wallet seed, cryptocurrency recovery, BIP39, BIP44, HD wallet, derivation paths, wallet compatibility">
<meta name="author" content="Wallets Recovery">
<meta property="og:title" content="Wallets Recovery - Bitcoin Wallet Seeds Recovery Guide">
<meta property="og:description" content="A comprehensive resource for Bitcoin wallet seed recovery tools, methods, and compatibility information.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://walletsrecovery.org/">
<meta name="twitter:card" content="summary_large_image">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://walletsrecovery.org/">
<!-- Structured Data for SEO -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Wallets Recovery",
"description": "A comprehensive resource for Bitcoin wallet seed recovery tools, methods, and compatibility information",
"url": "https://walletsrecovery.org/",
"potentialAction": {
"@type": "SearchAction",
"target": "https://walletsrecovery.org/#wallet-tables",
"query-input": "required name=wallet"
}
}
</script>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap">
<link rel="stylesheet" href="styles.css?v=202606022000">
<link rel="icon" href="images/wr-logo-01.svg" type="image/svg+xml">
</head>
<body>
<!-- Sticky Navbar -->
<nav class="navbar" role="navigation" aria-label="Main navigation">
<div class="navbar-container">
<div class="navbar-logo">
<img src="images/wr-logo-01.svg" alt="Wallets Recovery Logo" width="32" height="32">
<h1>Wallets Recovery</h1>
</div>
<ul class="navbar-links" id="navbar-links" role="menubar">
<li role="none"><a href="#intro" class="nav-link" role="menuitem">Introduction</a></li>
<li role="none"><a href="#wallet-tables" class="nav-link" role="menuitem">Wallet Tables</a></li>
<li role="none"><a href="#wallet-types" class="nav-link" role="menuitem">Wallet Types</a></li>
<li role="none"><a href="#derivation-paths" class="nav-link" role="menuitem">Derivation Paths</a></li>
<li role="none"><a href="#output-descriptors" class="nav-link" role="menuitem">Output Descriptors</a></li>
<li role="none"><a href="#faq" class="nav-link" role="menuitem">FAQ</a></li>
<li role="none"><a href="#resources" class="nav-link" role="menuitem">Resources</a></li>
<li role="none"><a href="https://github.com/nvk/walletsrecovery.org" class="nav-link" target="_blank" rel="noopener noreferrer" role="menuitem">Contribute</a></li>
</ul>
<div class="navbar-actions">
<button class="theme-toggle" id="theme-toggle" aria-label="Toggle dark mode" aria-pressed="false">
<svg class="sun-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
<circle cx="12" cy="12" r="5"/>
<path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/>
</svg>
<svg class="moon-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="display: none;" aria-hidden="true">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/>
</svg>
</button>
<button class="navbar-toggle" aria-label="Toggle navigation menu" aria-expanded="false" aria-controls="navbar-links">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</button>
</div>
</div>
</nav>
<!-- Status info modal -->
<div id="status-modal" class="modal">
<div class="modal-content">
<span class="close-modal">×</span>
<h3 id="modal-title">Status Information</h3>
<div id="modal-body"></div>
</div>
</div>
<header>
<div class="hero">
<img src="images/wr-logo-01.svg" alt="Wallets Recovery Logo" class="hero-logo">
<h1>Wallets Recovery</h1>
<p>A maintained guide to Bitcoin wallet recovery methods, derivation paths, output descriptors, PSBT support, and external recovery documentation across current and legacy wallets.</p>
<time id="last-reviewed" class="last-reviewed" datetime="">Loading wallet data…</time>
<a href="#wallet-tables" class="hero-btn">
Explore Bitcoin Wallet Recovery Tables
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M5 12h14M12 5l7 7-7 7"/>
</svg>
</a>
</div>
<div class="hero-pattern">
<img src="images/wr-logo-01.svg" alt="" aria-hidden="true">
</div>
</header>
<div class="container">
<!-- Quick Stats Section -->
<section class="quick-stats">
<div class="stats-grid">
<div class="stat-card">
<div class="stat-number" id="total-wallets">-</div>
<div class="stat-label">Total Wallets</div>
</div>
<div class="stat-card">
<div class="stat-number" id="hardware-wallets">-</div>
<div class="stat-label">Hardware Wallets</div>
</div>
<div class="stat-card">
<div class="stat-number" id="software-wallets">-</div>
<div class="stat-label">Software Wallets</div>
</div>
<div class="stat-card">
<div class="stat-number" id="lightning-wallets">-</div>
<div class="stat-label">Lightning Wallets</div>
</div>
<div class="stat-card">
<div class="stat-number" id="documented-wallets">-</div>
<div class="stat-label">Well Documented</div>
</div>
<div class="stat-card">
<div class="stat-number" id="psbt-wallets">-</div>
<div class="stat-label">PSBT Support</div>
</div>
</div>
</section>
<!-- Featured Wallets Section -->
<section class="featured-wallets">
<h2>Quick Access: Top Recovery-Friendly Wallets</h2>
<div class="featured-grid" id="featured-grid" aria-live="polite">
<div class="featured-card">
<h3>Loading wallet highlights…</h3>
</div>
</div>
</section>
<!-- Quick Recovery Tools -->
<section class="recovery-tools">
<h2>Essential Recovery Tools</h2>
<div class="tools-grid">
<div class="tool-card">
<h3>🔑 Seed Recovery</h3>
<ul>
<li><a href="https://iancoleman.io/bip39/" target="_blank" rel="noopener">BIP39 Mnemonic Converter</a></li>
<li><a href="https://jlopp.github.io/xpub-converter/" target="_blank" rel="noopener">Extended Public Key Converter</a></li>
<li><a href="https://github.com/alexk111/HD-Wallet-Scanner/" target="_blank" rel="noopener">HD Wallet Scanner</a></li>
</ul>
</div>
<div class="tool-card">
<h3>🔧 PSBT Tools</h3>
<ul>
<li><a href="https://github.com/benthecarman/PSBT-Toolkit/releases" target="_blank" rel="noopener">PSBT Toolkit</a></li>
<li><a href="https://github.com/spesmilo/electrum" target="_blank" rel="noopener">Electrum (PSBT Support)</a></li>
<li><a href="https://sparrowwallet.com/" target="_blank" rel="noopener">Sparrow Wallet</a></li>
</ul>
</div>
<div class="tool-card">
<h3>🔍 Verification</h3>
<ul>
<li><a href="https://bitcoinbinary.org/" target="_blank" rel="noopener">Reproducible Builds</a></li>
<li><a href="https://bitcoinops.org/en/compatibility/" target="_blank" rel="noopener">Compatibility Matrix</a></li>
<li><a href="https://www.lopp.net/bitcoin-information.html" target="_blank" rel="noopener">Bitcoin Resources</a></li>
</ul>
</div>
</div>
</section>
<!-- Quick Derivation Path Reference -->
<section class="derivation-quick-ref">
<h2>Common Derivation Paths Quick Reference</h2>
<div class="path-reference">
<div class="path-card">
<div class="path-code">m/44'/0'/0'</div>
<div class="path-info">
<strong>Legacy P2PKH</strong>
<span>Addresses starting with "1"</span>
</div>
</div>
<div class="path-card">
<div class="path-code">m/49'/0'/0'</div>
<div class="path-info">
<strong>SegWit P2SH</strong>
<span>Addresses starting with "3"</span>
</div>
</div>
<div class="path-card">
<div class="path-code">m/84'/0'/0'</div>
<div class="path-info">
<strong>Native SegWit</strong>
<span>Addresses starting with "bc1"</span>
</div>
</div>
<div class="path-card">
<div class="path-code">m/86'/0'/0'</div>
<div class="path-info">
<strong>Taproot P2TR</strong>
<span>Addresses starting with "bc1p"</span>
</div>
</div>
<div class="path-card">
<div class="path-code">m/48'/0'/0'/2'</div>
<div class="path-info">
<strong>Multisig</strong>
<span>Multi-signature wallets</span>
</div>
</div>
<div class="path-card">
<div class="path-code">m/0'</div>
<div class="path-info">
<strong>BRD Style</strong>
<span>Bread Wallet format</span>
</div>
</div>
</div>
</section>
<div class="contents">
<h2>Contents</h2>
<ul>
<li><a href="#intro">Introduction</a></li>
<li><a href="#wallet-tables">Wallet Tables</a></li>
<li><a href="#wallet-types">Wallet Types</a></li>
<li><a href="#derivation-paths">Derivation Paths</a></li>
<li><a href="#output-descriptors">Output Descriptors</a></li>
<li><a href="#faq">FAQ</a></li>
<li><a href="#resources">Resources</a></li>
</ul>
</div>
<!-- Main content container to be filled with sections -->
<main>
<section id="intro">
<h2>Introduction to Bitcoin Wallet Recovery</h2>
<div class="highlight-box">
<p><strong>Seeds are a super power! Giving users their seed phrase is not enough.</strong></p>
</div>
<div class="info-box">
<h3>🧐 New Team Specification</h3>
<p><strong>Definition:</strong> A "New Team" or newer product is marked when it has less than five years of public operating history at the time the entry was reviewed.</p>
<p><strong>Rationale:</strong> A five-year public track record is a simple maintenance heuristic. It does not make an older wallet safe or a newer wallet unsafe, but it flags entries that should be rechecked more often.</p>
<p><strong>Current Threshold:</strong> As of the current review date, entries with less than five years of public operating history are marked with 🧐.</p>
</div>
<p>While great advances have been made in Bitcoin wallet interoperability and cryptocurrency recovery methods, developers across the industry continue to build wallets that either:</p>
<ul class="feature-list">
<li>Don't implement BIP standard(s) for proper seed recovery.</li>
<li>Implement a BIP standard, but inconsistently when compared with other cryptocurrency wallets.</li>
<li>Implement a BIP standard, but one that has not been widely adopted (and perhaps only by them).</li>
<li>Don't have clear documentation about their derivation paths, backup and recovery processes.</li>
</ul>
<p>This recovery guide and wallet compatibility chart is meant to gather information about wallet defaults for external recovery. Wallets come and go, information gets lost, and users are left with tears. Responsible wallet developers document external recovery. Users should not have to dig through the source code to figure out the Derivation Paths or Redeem Scripts.</p>
<div class="warning-box">
<p>If we went to your website and couldn't find it => ☠️☠️☠️ [EXTERNAL RECOVERY NOT DOCUMENTED].</p>
</div>
<div class="note-box">
<p><strong>This list is not an endorsement of the security or the quality of any of the wallets.</strong></p>
</div>
</section>
<section id="wallet-tables">
<h2>Bitcoin Wallet Recovery Compatibility Tables</h2>
<p>These tables list Bitcoin wallets and their recovery compatibility features, derivation paths, and support for various BIP standards.</p>
<div id="wallet-tables-container">
<p>Loading wallet data...</p>
</div>
</section>
<section id="wallet-types">
<h2>Bitcoin Wallet Types for Recovery</h2>
<ul>
<li><h3>Paper Wallets</h3> are not actually wallets, but rather private keys and addresses printed out on paper. While the keys and addresses can technically be generated non-deterministically or deterministically, the usability is basically the same or poorer than a non-deterministic software wallet. Paper wallets have a number of significant drawbacks, including encouraging address reuse, exposing keys to poorly secured networked devices (printer), and not handling change addresses. Paper wallets should not be confused with <a href="https://trezor.io/guides/backups-recovery/general-standards/how-to-use-a-wallet-backup">recovery seeds</a>.</li>
<li><h3>Non-deterministic Wallets</h3> randomly generate all private / public key pairs independent of each other. A <a href="https://en.bitcoin.it/wiki/Key_pool">keypool buffer</a> was added to the Bitcoin-Qt / Bitcoin Core wallet in <a href="https://bitcointalk.org/index.php?topic=1414.0">October</a> <a href="https://bitcointalk.org/index.php?topic=1528.0">2010</a>, which allowed the wallet to create a collection of unused addresses, rather than generating new addresses one by one upon use. While this feature allowed for less frequent backups than before, the non-determinism still carried the risk of key loss if the pool was exhausted and a new key was generated beyond what was saved in backup.</li>
<li><h3>Deterministic Wallets</h3> are essentially any wallet where "<a href="https://bitcointalk.org/index.php?topic=19137.msg239768#msg239768">you can backup once... because all future addresses are determined in advance</a>," which was a massive improvement in recoverability. There are <a href="https://bitcoin.stackexchange.com/questions/18102/does-a-wallet-containing-multiple-addresses-have-a-single-private-key">two different forms</a>:
<ul>
<li><strong>Sequential deterministic wallets</strong> take a single seed phrase / passphrase and repeatedly increment it in order to generate new keypairs. This meant that the system would only need to store addresses, and then re-generate the private keys when needed.</li>
<li><strong>Hierarchical deterministic wallets</strong> take a single seed phrase and randomly generate a master private / public key pair, which is then used to derive child key pairs that generate addresses. This system allows for the generation of addresses to occur without the master private key, with only the public key.</li>
</ul>
</li>
<li><h3>Multi-signature Wallets</h3> require multiple signatures or parties to sign a transaction in order to spend bitcoin. An M-of-N <a href="https://github.com/bitcoin/bips/blob/master/bip-0011.mediawiki">BIP11</a> address must first be generated in order to receive bitcoin for spending in multi-signature transactions. While the 2-of-2 and 2-of-3 schemes are the most common, the <a href="https://bitcoin.stackexchange.com/questions/81223/why-is-20-the-maximum-public-keys-in-a-multisig-transaction">maximum number of public keys</a> is higher, and this could increase much more in the future <a href="https://twitter.com/J9Roem/status/991098233828139008">with Schnorr signatures</a> and <a href="https://bitcoinops.org/en/newsletters/2019/05/14/">Taproot</a>. 'Partially Signed Bitcoin Transactions' (PSBT) according to <a href="https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki">BIP174</a> (proposed), where unsigned or partially signed transactions are passed around to multiple signers or signing devices, may also be an option.</li>
</ul>
</section>
<section id="derivation-paths">
<h2>Bitcoin Wallet Derivation Paths Explained</h2>
<p>In hierarchical deterministic wallets (<a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki">BIP32</a>), a derivation path is a sequence of fields or levels through which a wallet organizes coins in a multi-currency, multi-account, and multi-address system. According to <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki">BIP44</a>, this hierarchy consists of five levels, in addition to the master extended private key ('xpriv') represented by <code>m</code>. Derivation paths for the master extended public key ('xpub') use <code>M</code>. Double-check what fields your wallet uses in our chart above, as BIP44 has been implemented inconsistently!</p>
<p><code>m / purpose' / coin_type' / account' / change / address_index</code></p>
<ul>
<li><h3>Purpose Level</h3> This field, which was added through <a href="https://github.com/bitcoin/bips/blob/master/bip-0043.mediawiki">BIP43</a>, indicates which standard the derivation path follows. Possibilities include <code>0</code> or <code>44</code> referring to the default <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki">BIP44</a> P2PKH / '1' legacy addresses, <code>45</code> referring to <a href="https://github.com/bitcoin/bips/blob/master/bip-0045.mediawiki">BIP45</a> P2SH multi-party multi-signature wallets (proposed), <code>47</code> referring to <a href="https://github.com/bitcoin/bips/blob/master/bip-0047.mediawiki">BIP47</a> reusable payment codes (draft), <code>48</code> referring to hardware multisignature wallets (no BIP or standard proposal), <code>49</code> referring to <a href="https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki">BIP49</a> P2WPKH-nested-in-P2SH / '3' SegWit addresses, or <code>84</code> referring to <a href="https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki">BIP84</a> P2WPKH / 'bc1' native SegWit addresses. Some wallets support more than one (for example, many wallets now have both the legacy and wrapped or native SegWit address types).</li>
<li><h3>Coin Type Level</h3> This field indicates which cryptocurrency is being used in a multi-currency wallet. All coins, including testnet bitcoin, are assigned <a href="https://github.com/satoshilabs/slips/blob/master/slip-0044.md">a constant number</a>. For example, a derivation path for a Monero (XMR) account would be <code>m/44'/128'</code>. <em>Note that <a href="https://github.com/bitcoin/bips/blob/master/bip-0045.mediawiki">BIP45</a> would designate this level as the 'Cosigner Index' instead.</em></li>
<li><h3>Account Level</h3> This field, in a multi-account wallet, indicates the identity or collection of addresses, which allows users to segregate funds for different things (ex. savings, donations). <em>Note that <a href="https://github.com/bitcoin/bips/blob/master/bip-0045.mediawiki">BIP45</a> would not include this field. <a href="https://github.com/bitcoin/bips/blob/master/bip-0047.mediawiki">BIP47</a> would designate this level as 'Identity', though it is equivalent to 'Account.'</em></li>
<li><h3>Change Level</h3> This field, if the constant <code>0</code> is present, indicates "external chain" (regular) addresses; if the constant <code>1</code>, indicates "internal chain" or change addresses. <em>Note that <a href="https://github.com/bitcoin/bips/blob/master/bip-0047.mediawiki">BIP47</a> would designate this level for the notification keys and ephemeral payment codes.</em></li>
<li><h3>Address Index Level</h3> This field indicates the specific address number in a sequence, within an account.</li>
</ul>
<p>Note that the fields 'Account' and 'Address Index' start with zero (0). This is because they use <a href="https://en.wikipedia.org/wiki/Zero-based_numbering">zero-based numbering</a>, just as the "ground floor" of buildings in the U.K. and Europe are considered level zero, rather than the first floor / level one in the United States.</p>
<p>Practical Example: A user has a <strong>BIP44</strong> compliant <strong>bitcoin</strong> wallet, and wants to locate the <strong>second</strong> change address in their <strong>third</strong> account. The derivation path for the <strong>second change address</strong> in the <strong>third account</strong> would look like this: <code>m/44'/0'/2'/1/1</code>.</p>
<p>Another point of confusion may occur when wallets use the same derivation path for different script types. Especially if you are using any newer / more novel script types, wallets that have earmarked those paths for other scripts may cause errors during import. Example with Bread Wallet and Multibit mentioned <a href="https://github.com/spesmilo/electrum/issues/6155#issuecomment-626811245">here</a>.</p>
<p>The meaning of "public" / unhardened versus hardened derivation, indicated in the fields by apostrophes, is explained <a href="https://trezor.io/learn/advanced/standards-proposals/what-is-bip-32-how-hierarchical-deterministic-wallets-work">here</a>, <a href="https://medium.com/@sevcsik/working-with-bitcoin-hd-wallets-ii-deriving-public-keys-c48341629388">here</a>, and <a href="https://bitcoin.stackexchange.com/questions/62533/key-derivation-in-hd-wallets-using-the-extended-private-key-vs-hardened-derivati?rq=1">here</a>.</p>
</section>
<section id="output-descriptors">
<h2>Bitcoin Output Descriptors Explained</h2>
<p>Output descriptors are a standardized way to describe Bitcoin wallet configurations and spending conditions. Introduced in <a href="https://github.com/bitcoin/bips/blob/master/bip-0380.mediawiki">BIP380</a>, they provide a human-readable and machine-parseable format for describing how Bitcoin outputs can be spent.</p>
<div class="info-box">
<h3>🔑 What are Output Descriptors?</h3>
<p><strong>Definition:</strong> Output descriptors are strings that describe the conditions under which Bitcoin can be spent from a particular wallet or address. They specify the script type, public keys, and any additional conditions like multisig requirements.</p>
<p><strong>Purpose:</strong> They solve the problem of wallet interoperability by providing a standard way to communicate wallet configurations between different software implementations.</p>
</div>
<h3>Common Output Descriptor Types</h3>
<ul>
<li><h3>Legacy P2PKH (Pay-to-Public-Key-Hash)</h3>
<p><code>pkh(02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9)</code></p>
<p>Describes addresses starting with "1" (legacy Bitcoin addresses). Uses the public key hash for spending.</p>
</li>
<li><h3>SegWit P2SH-P2WPKH (Wrapped SegWit)</h3>
<p><code>sh(wpkh(02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9))</code></p>
<p>Describes addresses starting with "3" (SegWit addresses wrapped in P2SH). More efficient than legacy addresses.</p>
</li>
<li><h3>Native SegWit P2WPKH</h3>
<p><code>wpkh(02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9)</code></p>
<p>Describes addresses starting with "bc1" (native SegWit addresses). Most efficient Bitcoin address format.</p>
</li>
<li><h3>Taproot P2TR</h3>
<p><code>tr(02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9)</code></p>
<p>Describes addresses starting with "bc1p" (Taproot addresses). Latest Bitcoin address format with enhanced privacy and efficiency.</p>
</li>
<li><h3>Multisig Descriptors</h3>
<p><code>multi(2,02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9,03c287d5c4a3312c8630d247829374b6bc2c0cbb9ffc4a5f7595b15c192f1ee6e)</code></p>
<p>Describes 2-of-2 multisig addresses. Requires 2 signatures from the 2 specified public keys to spend.</p>
</li>
<li><h3>HD Wallet Descriptors</h3>
<p><code>wpkh([d34db33f/84'/0'/0']xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL/0/*)</code></p>
<p>Describes HD wallet configurations with extended public keys, derivation paths, and wildcards for address generation.</p>
</li>
</ul>
<h3>Why Output Descriptors Matter for Recovery</h3>
<p>Output descriptors are crucial for wallet recovery because they:</p>
<ul class="feature-list">
<li><strong>Standardize wallet communication</strong> - Different wallets can understand each other's configurations</li>
<li><strong>Enable precise recovery</strong> - Specify exactly how funds can be spent, including multisig conditions</li>
<li><strong>Support complex scripts</strong> - Handle advanced Bitcoin features like Taproot and complex multisig setups</li>
<li><strong>Improve interoperability</strong> - Make it easier to migrate between different wallet software</li>
<li><strong>Document spending conditions</strong> - Provide clear documentation of wallet requirements</li>
</ul>
<div class="warning-box">
<p><strong>Important:</strong> When recovering funds using output descriptors, ensure you have all the required private keys and understand the spending conditions. Some descriptors may require specific hardware or software to spend from.</p>
</div>
<p>For more detailed information about output descriptors, see <a href="https://github.com/bitcoin/bips/blob/master/bip-0380.mediawiki">BIP380</a> and the <a href="https://bitcoinops.org/en/topics/output-script-descriptors/">Bitcoin Optech Output Descriptors guide</a>.</p>
</section>
<section id="faq">
<h2>Frequently Asked Questions About Bitcoin Wallet Recovery</h2>
<h3>How to contribute to the Bitcoin Wallet Recovery project?</h3>
<p>Make a <a href="https://github.com/nvk/wallets-recovery/pulls">Pull Request</a> to update the <code>walletsrecovery.json</code> file.</p>
<h3>What's the structure of the Bitcoin Wallet Recovery JSON file?</h3>
<p>The <code>walletsrecovery.json</code> file contains all wallet data displayed on this site. It has two main sections:</p>
<ul>
<li><strong>categories</strong>: Array of wallet categories (Hardware Wallets, Software Wallets, etc.)</li>
<li><strong>icons</strong>: Definitions for the status icons used in the wallet tables</li>
</ul>
<p>Each wallet entry includes fields for status, name, URL, supported paths, and features.</p>
<h3>How to test Bitcoin Wallet Recovery changes before submitting?</h3>
<p>You can run the site locally to preview your changes:</p>
<h4>Option 1 - Simple HTTP server</h4>
<pre><code>$ python -m http.server
Serving HTTP on :: port 8000 (http://[::]:8000/) ...</code></pre>
<h4>Option 2 - use Grip (Python)</h4>
<pre><code>$ pip install grip
$ grip
* Serving Flask app "grip.app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://localhost:6419/ (Press CTRL+C to quit)</code></pre>
</section>
<section id="resources">
<h2>Bitcoin Wallet Recovery Resources and Tools</h2>
<h3>Bitcoin Wallet Recovery Guides</h3>
<ul>
<li>"Compatibility Matrix: SegWit and Replace-by-Fee" by Bitcoin Optech <a href="https://bitcoinops.org/en/compatibility/">↗︎</a></li>
</ul>
<h3>Bitcoin Seed Recovery Tools</h3>
<ul>
<li>"Bitcoin Extended Public Key Converter" by Jameson Lopp <a href="https://jlopp.github.io/xpub-converter/">↗︎</a></li>
<li>"Mnemonic Code Converter" by Ian Coleman <a href="https://iancoleman.io/bip39/">↗︎</a></li>
<li>"HD-Wallet Scanner" by Alex Kaul <a href="https://github.com/alexk111/HD-Wallet-Scanner/">↗︎</a></li>
<li>"PSBT Toolkit" by Ben Carman <a href="https://github.com/benthecarman/PSBT-Toolkit/releases">↗︎</a></li>
<li>[Released] Automated Scanner & BIP39 Recovery Feature for Electrum by Luke Childs <a href="https://github.com/spesmilo/electrum/blob/master/RELEASE-NOTES">↗︎</a></li>
</ul>
<h3>Bitcoin Wallet Recovery Reference Information</h3>
<ul>
<li>"Bitcoin Information and Resources" by Jameson Lopp <a href="https://www.lopp.net/bitcoin-information.html">↗︎</a></li>
<li>WeUseCoins FAQ <a href="https://www.weusecoins.com/">↗︎</a></li>
<li>"What types of mnemonic seeds are used in Bitcoin?" by Coldbit <a href="https://coldbit.com/what-types-of-mnemonic-seeds-are-used-in-bitcoin/">↗︎</a></li>
<li>"FAQ Regarding Bitcoin Seeds" by 6102bitcoin <a href="https://coinexplorers.com/insights/bitcoin-seed-faq-bpsjbi">↗︎</a></li>
<li>"How BIP39 Seed Words Work" by jimbocoin <a href="https://observablehq.com/@jimbojw/grokking-bip39">↗︎</a></li>
</ul>
<h3>Bitcoin Wallet Security Resources</h3>
<ul>
<li><a href="https://bitcoinbinary.org/">Reproducible Builds proofs</a></li>
</ul>
</section>
</main>
</div>
<footer>
<div class="container">
<p>Bitcoin Wallets Recovery - The definitive guide to cryptocurrency wallet recovery methods and compatibility - <a href="https://github.com/nvk/walletsrecovery.org">Contribute on GitHub</a></p>
<img src="images/wr-logo-01.svg" alt="Bitcoin Wallets Recovery Logo" style="height: 40px;">
</div>
</footer>
<script src="scripts.js?v=202606022000"></script>
</body>
</html>