---
id: "bitcoin_uri"
kind: "datatype"
status: "draft"
is_pii: false
categories: ["cryptocurrency", "internet"]
langs: ["common"]
quality: 80
url: "http://registry.apicrafter.io/datatype/bitcoin_uri"
---

# Bitcoin payment URI (bitcoin:) (`bitcoin_uri`)

> **Draft.** Draft records have not been reviewed yet and may be incomplete or wrong; do not treat them as authoritative for legal or compliance decisions.

URI of the bitcoin: scheme that wallets open from links and QR codes to start a payment (BIP 321, which replaces BIP 21). It holds an address and query parameters such as amount (in BTC), label, message, lightning (a BOLT 11 invoice) or further addresses. The scheme and the parameter names are case-insensitive, and QR codes often use upper case. The address part may be empty when the parameters carry the payment instructions.

- Parent datatype: `uri`
- Personal data (PII): no
- Categories: Cryptocurrency (cryptocurrency), Internet (internet)
- Countries: global
- Languages: Common to most languages (common)
- Classification: identifier

## Detection

Regular expression (Python `re`):

```
^[Bb][Ii][Tt][Cc][Oo][Ii][Nn]:(?:[0-9A-Za-z]+(?:\?\S+)?|\?\S+)$
```

## Examples

- `bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=20.3&label=Luke-Jr` — Example of BIP 21 and BIP 321 (the address in it is illustrative and fails Base58Check)
- `BITCOIN:BC1QUFGY354J3KMVUCH987XE4S40836X3H0LG8F5NQ?BC=BC1P5SWKUGEZN97763TL0YTY6556856UUG0Q6JFLLJVEP9M4P7339X5QZYRH4Q` — Upper-case example of BIP 321 for QR codes (illustrative addresses)
- `bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a` (invalid example) — Bitcoin Cash address (bitcoin_cash_address)

## Translations

- ru: Платёжный URI Bitcoin (bitcoin:)

## Sources

- doc: <https://github.com/bitcoin/bips/blob/master/bip-0321.mediawiki>
- doc: <https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki>

## Quality

Score 80/100. Missing: mapping (Wikidata, Schema.org, ...), detector coverage.

JSON: <http://registry.apicrafter.io/api/v1/datatypes/bitcoin_uri.json> · Edit: <https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/cryptocurrency/bitcoin_uri.yaml>
