bitcoin-dev

BIP 21 Updates

Original Postby Matt Corallo

Posted on: November 12, 2024 16:07 UTC

A recent development in Bitcoin Improvement Proposals (BIPs) has led to the creation of a new BIP rather than updating an existing one, due to various pushbacks.

This new proposal introduces an additional feature termed "payment info callback," which aims to enhance functionality without affecting any current wallet operations. Particularly beneficial for specific use cases such as nostr zaps, this feature represents a significant advancement in the cryptocurrency space.

The core of the new proposal revolves around the inclusion of a "pop" (or "req-pop") parameter within the URI. This parameter is designed to allow a wallet application to provide proof of payment completion or relay other pertinent payment details post-transaction. It specifies that the value associated with the "pop" parameter should be a percent-encoded URI prefix, adhering to RFC 3986 section 2.1 standards. Upon successful payment, the wallet application is expected to decode this URI, append relevant query parameters including payment information, and open it with the system's default handler, ensuring the scheme used is secure and not prone to opening in web browsers, thus avoiding schemes like "http", "https", and others deemed unsafe.

For various payment methods, the format of the Payment Information shared will differ. For on-chain transactions, it includes the complete Bitcoin transaction data in hexadecimal format. Payments made using a BOLT 11 invoice will utilize the hex-encoded payment preimage as Payment Information. The proposal also leaves room for future updates that may introduce formats for Payment Information corresponding to other payment mechanisms, indicating a forward-thinking approach to inclusivity and adaptability in payment verification methods.

This initiative not only underscores the continuous efforts to improve the Bitcoin ecosystem but also highlights the community's commitment to addressing the evolving needs of its users, particularly focusing on enhancing security and usability across diverse applications.