Mandatory "d" or "h" UX issues



Summary:

Francis Pouliot is facing UX issues while building the Lightning Network payout feature. He wants to ensure that recipients generate the correct Bolt11 invoice. The "d" and "h" fields are mandatory in Bolt11 which creates a problem for Bitcoin services that are performing payouts or withdrawals. Francis believes that this design of Bolt11 is biased towards merchants as normally they decide on the invoice, but for LN payouts, the sender is the service provider who will be creating the terms of payment. This means that the user will have to manually enter some fields in his wallet. Francis explains the UX issues taking place: a user goes to an app to buy Bitcoin with fiat and opts for LN payout. The app tells the user to make an invoice with msatoshi and description. The user types a description in his wallet, but it may contain a typo or be left blank. When the app tries to pay, they have to decode the bolt11 and compare the "h" or "d" that they instructed the user to create with the decoded bolt11. If they are not the same, they need to instruct the user to create a new bolt11 invoice because the one he created was not correct, which creates an unnecessary requirement for communication, lower payment success rates, and higher abandonment rate.Francis questions if making "d" or "h" mandatory is necessary and suggests leaving business logic to Bitcoin businesses. Olaoluwa Osuntokun replies that it isn't mandatory and can be left blank as none of the existing wallets require users to input a description when they make an invoice. The issue can likely be fixed with a standardized payment protocol, but addressing this issue seems a lower hanging fruit.


Updated on: 2023-06-02T17:00:56.093995+00:00