You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: bip-0329.mediawiki
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,8 +26,10 @@ These standards are well supported and allow users to move easily between differ
26
26
There is, however, no defined standard to transfer any labels the user may have applied to the transactions, addresses, public keys, inputs, outputs or xpubs in their wallet.
27
27
The UTXO model that Bitcoin uses makes these labels particularly valuable as they may indicate the source of funds, whether received externally or as a result of change from a prior transaction.
28
28
In both cases, care must be taken when spending to avoid undesirable leaks of private information.
29
+
29
30
Labels provide valuable guidance in this regard, and have even become mandatory when spending in several Bitcoin wallets.
30
31
Allowing users to import and export their labels in a standardized way ensures that they do not experience lock-in to a particular wallet application.
32
+
In addition, many wallets allow unspent outputs to be frozen or made unspendable within the wallet. Since this wallet-related metadata is similar to labels and not captured elsewhere, it is also included in this format.
31
33
32
34
==Rationale==
33
35
@@ -62,6 +64,9 @@ Each JSON object must contain 3 or 4 key/value pairs, defined as follows:
62
64
|-
63
65
| <tt>origin</tt>
64
66
| Optional key origin information referencing the wallet associated with the label
67
+
|-
68
+
| <tt>spendable</tt>
69
+
| One of <tt>true</tt> or <tt>false</tt>, denoting if an output should be spendable by the wallet
65
70
|}
66
71
67
72
The reference is defined for each <tt>type</tt> as follows:
@@ -97,6 +102,8 @@ The reference is defined for each <tt>type</tt> as follows:
Each JSON object must contain both <tt>type</tt> and <tt>ref</tt> properties. The <tt>label</tt>, <tt>origin</tt> and <tt>spendable</tt> properties are optional. If the <tt>label</tt> or <tt>spendable</tt> properties are omitted, the importing wallet should not alter these values. The <tt>origin</tt> property should only appear where type is <tt>tx</tt>, and the <tt>spendable</tt> property only where type is <tt>output</tt>.
106
+
100
107
If present, the optional <tt>origin</tt> property must contain an abbreviated output descriptor (as defined by BIP380<ref>[https://github.com/bitcoin/bips/blob/master/bip-0380.mediawiki BIP-0380]</ref>) describing a BIP32 compatible originating wallet, including all key origin information but excluding any actual keys, any child path elements, or a checksum.
101
108
This property should be used to disambiguate transaction labels from different wallets contained in the same export, particularly when exporting multiple accounts derived from the same seed.
102
109
@@ -124,7 +131,7 @@ The following fragment represents a wallet label export:
0 commit comments