From the perspective of the sender, HODL Invoices work exactly the same as any normal invoice. But as the receiver of the funds, you can cancel it, sending the coins back to the sender.
This has interesting use cases. For example:
  • Inventory check. Let's say you buy something. By the time the order is actually processed, the item is not there. The seller can simply cancel the invoice and the coins are now back to the buyer.
  • Security Deposit. Let's say you're renting something and you're not sure they're going to give it back, or you're providing a service (say, a hotel stay) and you want to make sure there's no issues when checking out. You can charge a deposit that is then sent back to the user once everything is cleared. Similar to what hotel do when you check out of the room.
There are more use cases of course as you can see in the link. I think this is a great tool to have to create unique user experiences when paying with lightning.
RoboSats is using this. Is really nice!
reply