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: guide/daily-spending-wallet/contacts.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -213,7 +213,7 @@ Whether we’re sending emails, physical mail, or following someone on social me
213
213
214
214
Addresses, invoices, node IDs and other transaction endpoints in bitcoin are highly unintuitive. Abstracting them via a contact list can create a much smoother user experience. There are many [payment request formats]({{ '/guide/how-it-works/payment-request-formats/' | relative_url }}), each with unique properties and varying levels of maturity and adoption, requiring unique design solutions. This page will use a more approachable "address" as an umbrella term for various types of payment information.
215
215
216
-
Some payment request formats such as [silent payments (BIP-352)]({{ '/guide/how-it-works/silent-payments' | relative_url }}), [lightning offers (BOLT 12)]({{ '/guide/how-it-works/payment-request-formats/#offers' | relative_url }}) and [DNS payment instructions (BIP-353)]({{ '/guide/how-it-works/human-readable-addresses/#bip-353-dns-payment-instructions' | relative_url }}) are designed to be safely reused. This property makes them ideal for abstraction through contacts.
216
+
Some payment request formats such as [silent payments (BIP-352)]({{ '/guide/how-it-works/silent-payments' | relative_url }}), [lightning offers (BOLT 12)]({{ '/guide/how-it-works/payment-request-formats/#offers' | relative_url }}) and [DNS payment instructions (BIP-353)]({{ '/guide/how-it-works/human-readable-addresses/#human-bitcoin-address-bip-353' | relative_url }}) are designed to be safely reused. This property makes them ideal for abstraction through contacts.
217
217
218
218
Let's go over common user interactions around managing contacts. This will illustrate how such a feature could work, and helps explain the underlying design problems and decisions.
Copy file name to clipboardExpand all lines: guide/designing-products/common-user-flows.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -394,7 +394,7 @@ For the simplest form of base layer requests, the receiver only needs to share o
394
394
395
395
While it is possible to re-use the same receiving address repeatedly, this practice is highly discouraged for privacy reasons.
396
396
397
-
For more information-rich base layer requests, [BIP 21](https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki) describes a URI scheme to turn requests into links that can be shared like any other link. On click, wallets that support this scheme can immediately show the send screen with the correct information pre-filled. Links can also be encoded and transmitted via QR code. Since the scheme also allows for the inclusion of an address label and transaction description, it allows both sender and recipient to stay organized.
397
+
For more information-rich base layer requests, [BIP 321](https://github.com/bitcoin/bips/blob/master/bip-0321.mediawiki) describes a URI scheme to turn requests into links that can be shared like any other link. On click, wallets that support this scheme can immediately show the send screen with the correct information pre-filled. Links can also be encoded and transmitted via QR code. Since the scheme also allows for the inclusion of an address label and transaction description, it allows both sender and recipient to stay organized.
398
398
399
399
For requests on the lightning network, the receiver needs to create a lightning invoice that includes the amount, and then share the invoice with the sender.
Copy file name to clipboardExpand all lines: guide/designing-products/interoperability.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -59,13 +59,13 @@ You should ensure your application is interoperable with the various techniques
59
59
60
60
Supporting, generating, and reading as many [payment request formats]({{ '/guide/how-it-works/payment-request-formats/' | relative_url }}) as possible in your application will make it more interoperable with others.
61
61
62
-
It also matters how these formats are generated. Your applications should be able to read, and generate, [BIP 21](https://bips.xyz/21) encoded payment requests.
62
+
It also matters how these formats are generated. Your applications should be able to read, and generate, [BIP 321](https://github.com/bitcoin/bips/blob/master/bip-0321.mediawiki) encoded payment requests.
63
63
64
-
An evolving standard that improves payment usability between on-chain and lightning is being able to read and generate [unified bitcoin payment requests](https://bitcoinqr.dev/) that contain an on-chain address and lightning invoice inside a BIP 21 URI.
64
+
An evolving standard that improves payment usability between on-chain and lightning is being able to read and generate [unified bitcoin payment requests](https://bitcoinqr.dev/) that contain an on-chain address and lightning invoice inside a BIP 321 URI.
65
65
66
66
When dealing with lightning invoice [amounts]({{ '/guide/daily-spending-wallet/requesting/#entering-an-amount' | relative_url }}), your application should be able to read and generate zero amount invoices.
67
67
68
-
Payment links, often using BIP 21, should be readable by your application. Forms should be automatically opened and filled when a user clicks a payment link or button.
68
+
Payment links, often using BIP 321, should be readable by your application. Forms should be automatically opened and filled when a user clicks a payment link or button.
69
69
70
70
[Near-field communication](https://en.wikipedia.org/wiki/Near-field_communication) (NFC) should be supported for paying and sharing payment requests.
Copy file name to clipboardExpand all lines: guide/how-it-works/human-readable-addresses.md
+4-9Lines changed: 4 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -123,23 +123,18 @@ From email and social media, we are familiar with addresses consisting of a <spa
123
123
124
124
For social media, users know to navigate to the respective website or app and look up the username there. Applications rely on domains (via the [Domain Name System](https://en.wikipedia.org/wiki/Domain_Name_System), or DNS) to resolve the global part. In physical addresses, we have more hierarchical parts - country, state, city, street, house number and apartment. It is a familiar system.
125
125
126
-
## BIP-353: DNS Payment Instructions
126
+
## Human Bitcoin Address (BIP 353)
127
127
128
128
This [proposal](https://github.com/bitcoin/bips/blob/master/bip-0353.mediawiki) only relies on the Domain Name System (DNS) to retrieve payment information. DNS is a decentralized hierarchical naming system used to translate human-friendly domain names (like *www.example.com*) into IP addresses (like *192.0.2.1*) that computers use to identify each other on the network. Anytime we type in a domain into a browser, we rely on this system. This use case is very similar to what human-readable addresses try to achieve, making DNS a good fit.
129
129
130
-
{% include tip/open.html color="blue" label="Note" icon="info" %}
131
-
132
-
This is a new proposal. It is still being discussed, and not widely implemented.
133
-
134
-
{% include tip/close.html %}
135
130
136
131
### Address format
137
132
138
133
This proposal uses the formats *“<spanclass="-green">username</span>@<spanclass="-blue">domain.com</span>”* and *“₿<spanclass="-green">username</span>@<spanclass="-blue">domain.com</span>”*. It is similar to the email address format, which makes it familiar and easy to use. The *₿* prefix is an important addition for display purposes, to make it distinctly a bitcoin payment address. This provides clarity and trust to users, which is important when it comes to financial transactions.
139
134
140
135
### How it works
141
136
142
-
Users create DNS entries with payment information, which can be one or more addresses of different formats, combined to a [BIP 21 URI](https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki). Since address reuse is best avoided for privacy reasons, the included addresses should be reusable (like [silent payments]({{ '/guide/how-it-works/silent-payments/' | relative_url }}) and [BOLT12](https://bolt12.org/) offers). Single-use addresses can be used if needed, but a mechanism to rotate them should be in place.
137
+
Users create DNS entries with payment information, which can be one or more addresses of different formats, combined to a [BIP 321 URI](https://github.com/bitcoin/bips/blob/master/bip-0321.mediawiki). Since address reuse is best avoided for privacy reasons, the included addresses should be reusable (like [silent payments]({{ '/guide/how-it-works/silent-payments/' | relative_url }}) and [BOLT12](https://bolt12.org/) offers). Single-use addresses can be used if needed, but a mechanism to rotate them should be in place.
@@ -200,9 +195,9 @@ Framing the correct use of the address should be done right away and as early in
200
195
201
196
{% include tip/open.html label="Bubble Wallet" %}
202
197
203
-
The mock-ups below show an imaginary application called "Bubble Wallet". Its naming conventions are based on the idea that _Human-readable address_ is an appropriate descriptive term for technical proposal and discussion, but not necessarily practical for end-users. Due to the similarities to the familiar email format and social media practices, it borrows from those standards.
198
+
The mock-ups below show an imaginary application called "Bubble Wallet". Its naming conventions are based on the idea that _Human Bitcoin address_ is an appropriate descriptive term for technical proposals and discussions, and can also be used contextually and subtly in product UI where appropriate—for example, in titles, labels, and input-field placeholders. Due to the similarities to the familiar email format and social media practices, it borrows from those standards.
204
199
205
-
- A human-readable address is referred to generally as (a new type of) _bitcoin address_
200
+
- A human bitcoin address is referred to generally as (a new type of) _bitcoin address_
206
201
- More specifically, it is referred to as _Bubble address_ or _Bubble bitcoin address_, because it is managed by the wallet (provider)
207
202
- The first part of the address is referred to as _username_
208
203
- Other address types are first referred to by their primary properties, and secondly by their technical names
Copy file name to clipboardExpand all lines: guide/how-it-works/payment-request-formats.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,11 +45,11 @@ If you need to test whether your application supports a payment request type, yo
45
45
46
46
A [Uniform Resource Identifier](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier) (URI) is a web technology that uses unique prefixes to identify anything. This can be real-world objects, websites, information, etc.
47
47
48
-
Bitcoin uses URIs to help apps identify payment requests. The technical details of this scheme are detailed in [BIP 21](https://bips.xyz/21).
48
+
Bitcoin uses URIs to help apps identify payment requests. The technical details of this scheme are detailed in [BIP 321](https://github.com/bitcoin/bips/blob/master/bip-0321.mediawiki).
49
49
50
-
BIP 21 uses a `bitcoin:` URI scheme to identify and help applications manage bitcoin payment requests. Applications should support this if they want to be [interoperable]({{'/guide/getting-started/principles/#interoperability' | relative_url}}) with other bitcoin products. Some other URI schemes used for bitcoin payment requests include `lightning` and LNURL schemes such as `lnurlp`. Note that a URI scheme can be presented as lowercase or uppercase.
50
+
BIP 321 uses a `bitcoin:` URI scheme to identify and help applications manage bitcoin payment requests. Applications should support this if they want to be [interoperable]({{'/guide/getting-started/principles/#interoperability' | relative_url}}) with other bitcoin products. Some other URI schemes used for bitcoin payment requests include `lightning` and LNURL schemes such as `lnurlp`. Note that a URI scheme can be presented as lowercase or uppercase.
51
51
52
-
BIP 21 is extensible and allows for the addition of other useful meta data that give more context to a payment request. This includes things like an amount, labels, messages, and other useful data. It also allows [more than one type]({{'/guide/how-it-works/payment-request-formats/#unified-payment-requests' | relative_url}}) of payment request format to be included in a payment request.
52
+
BIP 321 is extensible and allows for the addition of other useful meta data that give more context to a payment request. This includes things like an amount, labels, messages, and other useful data. It also allows [more than one type]({{'/guide/how-it-works/payment-request-formats/#unified-payment-requests' | relative_url}}) of payment request format to be included in a payment request.
53
53
54
54
A common pattern using URIs for inter-app payments is detailed in the [wallet selector page]({{'/guide/how-it-works/wallet-selector/' | relative_url}}).
55
55
@@ -236,7 +236,7 @@ Payment codes have been popularised in wallets such as [Samourai](https://samour
236
236
237
237
A downside to payment codes is that they require an additional on-chain transaction each time two users want to connect and use them. [Silent payments](https://gist.github.com/RubenSomsen/c43b79517e7cb701ebf77eec6dbb46b8?permalink_comment_id=4113680) are a new experimental proposal that prevents the need for this additional on-chain transaction at the cost of extra bandwidth for receivers.
238
238
239
-
Static payment codes are great for use with [DNS-based human readable addresses]({{ '/guide/how-it-works/human-readable-addresses/#bip-353-dns-payment-instructions' | relative_url }}).
239
+
Static payment codes are great for use with [DNS-based human readable addresses]({{ '/guide/how-it-works/human-readable-addresses/#human-bitcoin-address-bip-353' | relative_url }}).
240
240
241
241
</div>
242
242
@@ -255,7 +255,7 @@ Static payment codes are great for use with [DNS-based human readable addresses]
255
255
256
256
A unified payment request combines one or more of the formats listed above. This makes it easier to request a payment when you are unsure what formats the sender supports.
257
257
258
-
Unified payment requests use the BIP 21`bitcoin:` URI to add multiple payment request formats to a single payment request. The more formats added, the larger the request becomes which can be an issue for lower end devices that can't scan complex QR codes.
258
+
Unified payment requests use the BIP 321`bitcoin:` URI to add multiple payment request formats to a single payment request. The more formats added, the larger the request becomes which can be an issue for lower end devices that can't scan complex QR codes.
259
259
260
260
You can learn more about unified payment requests [here](https://bitcoinqr.dev/).
Copy file name to clipboardExpand all lines: guide/how-it-works/wallet-selector.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,7 +82,7 @@ We’ll outline each of those below.
82
82
83
83
### 1. Opening the default wallet
84
84
85
-
A widely supported standard is [BIP 21](https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki#Examples) (also see [Payment request formats](/guide/how-it-works/payment-request-formats/#uniform-resource-identifier-uris-schemes)), which defines a URI scheme for passing bitcoin payment information to other applications.
85
+
A widely supported standard is [BIP 321](https://github.com/bitcoin/bips/blob/master/bip-0321.mediawiki) (also see [Payment request formats](/guide/how-it-works/payment-request-formats/#uniform-resource-identifier-uris-schemes)), which defines a URI scheme for passing bitcoin payment information to other applications.
86
86
87
87
For example, clicking a link or button with the following URI is opened in the default bitcoin wallet (if there is one installed):
0 commit comments