跳至主要內容
Standards Track Proposed

BIP-21: URI Scheme

定義比特幣支付的 URI 格式,讓用戶可以透過點擊連結或掃描 QR Code 發起支付。

Nils Schneider, Matt Corallo 2012年1月29日
BIP 編號

21

類型

Standards Track

狀態

Proposed

創建日期

2012-01-29

摘要

BIP-21 定義了一個標準的 URI scheme,讓比特幣地址可以像網頁連結一樣被點擊。 這使得支付請求可以包含金額、標籤、訊息等資訊,大大簡化了支付流程。

URI 格式

基本語法

bitcoin:<address>[?param1=value1&param2=value2]

參數說明

參數 說明 範例
amount 金額(單位:BTC) amount=0.001
label 收款者名稱(給用戶看) label=Coffee%20Shop
message 支付說明 message=Order%20123
req-* 必要參數前綴 req-somethingnew=...

範例

最簡單的形式

bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq

包含金額

bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq?amount=0.001

完整範例

bitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq?amount=0.001&label=Coffee%20Shop&message=Order%20123

URL 編碼規則

參數值必須使用 URL 編碼(百分比編碼):

  • • 空格 → %20
  • • & → %26
  • • = → %3D
  • • ? → %3F

擴展參數

BIP-21 支援未來擴展,但有特殊規則:

  • 可選參數:錢包可以忽略不認識的參數
  • req- 前綴:以 req- 開頭的參數是必要的,如果錢包不支援該參數,應拒絕處理整個 URI

與其他 BIP 的整合

BIP-70 Payment Protocol(已棄用)

BIP-70 定義了 r 參數用於支付請求:

bitcoin:?r=https://merchant.com/pay.php?order=123

注意: BIP-70 Payment Protocol 因安全和隱私問題已被大多數錢包棄用。

閃電網路整合

現代錢包支援統一 QR Code,同時包含鏈上地址和閃電發票:

bitcoin:bc1q...?amount=0.001&lightning=lnbc100n1p...

實際應用

  • 網頁支付按鈕<a href="bitcoin:...">
  • QR Code:將 URI 編碼為 QR Code 供掃描
  • 電商結帳:預填金額和訂單資訊
  • 捐款連結:一鍵打開錢包應用

錢包支援

所有主流比特幣錢包都支援 BIP-21 URI:

  • • Bitcoin Core
  • • BlueWallet
  • • Sparrow
  • • Electrum
  • • 所有現代硬體錢包配套軟體
已複製連結
已複製到剪貼簿