Ce que définit BIP21
BIP21 est une proposition d’amélioration de Bitcoin (Bitcoin Improvement Proposal), rédigée en 2012 par Nils Schneider et Matt Corallo, qui définit un schéma d’URI pour les paiements en bitcoin. L’URI commence par bitcoin:, suivi de l’adresse de réception et de paramètres de requête facultatifs. Quand un portefeuille scanne un QR code qui contient une telle URI, il ouvre un écran d’envoi avec l’adresse et le montant déjà remplis.
Le montant s’écrit en bitcoins sous forme de nombre décimal, pas en unités plus petites. Par exemple, bitcoin:bc1q...?amount=0.001&label=Maple%20Street%20Bakery&message=Order%2042 demande 0,001 BTC. Les valeurs textuelles de label et de message sont encodées en pourcentage.
- amount : montant demandé en BTC, sous forme décimale
- label : un nom pour le destinataire
- message : une note décrivant le paiement
- Les paramètres préfixés par req- doivent être compris par le portefeuille, sinon il doit refuser l’URI
Utiliser BIP21 dans les QR codes
Un QR code peut contenir soit une adresse seule, soit une URI BIP21 complète. L’URI est plus utile pour les paiements, car elle porte le montant et le schéma : le téléphone sait donc qu’il doit ouvrir un portefeuille. Certains portefeuilles ajoutent aussi des paramètres supplémentaires, comme une facture Lightning, qui sont des conventions et non une partie du texte BIP21 d’origine, et tous les portefeuilles ne les lisent pas.
Vérifiez toujours l’adresse affichée dans le portefeuille avant d’envoyer. Les transactions Bitcoin sont irréversibles, et un code collé par-dessus un vrai peut envoyer des fonds à quelqu’un d’autre.