Home › Glossary › Bitcoin URI

Bitcoin URI

Also called: bitcoin: URI, BIP21 URI, BIP 21, BIP 321, payment URI, bitcoin payment link, bitcoin QR code.

A Bitcoin URI is a bitcoin: link, defined in BIP 21 and BIP 321, that packs an address, amount and label into one clickable or scannable string.

A Bitcoin URI is a link starting with bitcoin: that tells a wallet where and how much to pay. Clicking one on a web page, or scanning it as a QR code, opens the wallet with the payment already filled in, ready for the user to approve.

Format

bitcoin:<address>?amount=0.001&label=Alice&message=Invoice%2042
  • amount is always in decimal BTC, with a period as the decimal separator.
  • label names the recipient and message describes the payment.
  • Parameters prefixed with req- are required: a wallet that doesn't understand one must not pay.
  • Values are percent-encoded. The bitcoin: scheme and parameter keys are case-insensitive, so QR codes can use all-uppercase URIs.

BIP 21 and BIP 321

BIP 21, by Nils Schneider and Matt Corallo, defined the original scheme in 2012. BIP 321, by Matt Corallo, is intended as its replacement. It documents Bech32 and Bech32m addresses, allows the address to be left out when another payment method is given, and adds keys for other payment instructions: lightning= (BOLT 11 invoice), lno= (BOLT 12 offer) and sp= (silent payment address). It also defines an optional pop= proof-of-payment callback. Compare them in BIP 21 vs BIP 321.

Other BIPs add parameters too: BIP 72 added r= for the BIP 70 payment protocol, and BIP 78 adds pj= for payjoin.

Safety

BIP 321 says wallets must not act on a URI without the user's authorization. Always check the address and amount on your wallet's own screen before confirming. Build and decode URIs with our Bitcoin URI tool.

BIPs that define Bitcoin URI

  • BIP 321: URI Scheme: Complete. Defines the "bitcoin:" link format that wallets use for payment requests in QR codes and clickable links. It specifies how to include an amount, label, message, and alternative payment methods, so…
  • BIP 21: URI Scheme: Closed. Defines the "bitcoin:" link format that packages an address, amount, label and message into one string, often shown as a QR code. Wallets read these links to fill in payment details automatically,…
  • BIP 78: A Simple Payjoin Proposal: Deployed. Defines Payjoin, a way for the payer and the recipient to both contribute coins to a single payment transaction. Because the result looks like an ordinary payment but breaks common assumptions used…
  • BIP 72: bitcoin: uri extensions for Payment Protocol: Deployed. Extends "bitcoin:" links (BIP 21) with a parameter pointing to a payment request from the payment protocol (BIP 70). Wallets that support the protocol fetch the merchant's signed request, while…

Related terms

  • Silent payments: Silent payments (BIP 352) are reusable static addresses: each payer derives a fresh, unlinkable Taproot output, with no notification transaction.
  • Payjoin: Payjoin is a payment where the receiver adds their own input to the sender's transaction, breaking the assumption that all inputs belong to the payer.
  • Bech32: Bech32 is the checksummed base32 address format from BIP 173, used for native SegWit version 0 addresses that start with bc1q.
  • Lightning Network: The Lightning Network is a layer-2 payment network on Bitcoin: users pay through chains of off-chain channels and settle on-chain only when needed.

Learn more

Guides