With the rising popularity of exchanging sats for goods and services in Rust it would be awesome to integrate this seemlessly into the vending machine so that we can complete trades while afk.
The current methods used for accepting sats require the vendor to be online to show the buyer where to send the sats and to release the goods once the payment has been received. e.g. passing a note with a lightning invoice through the trade window or directing customers to a sign containing a QR code, then waiting to see the funds have been received in your wallet before handing over the goods or delivering the service.
It would be cool if there was a way for shop owners to pair their chosen lightning wallet with their vending machine, perhaps using LNURL-auth and lightning addresses, in such a way that when a customer is interacting with a vending machine the vending machine is providing the invoices/lightning address for the sellers wallet and it is able to detect once the payment has been received so that it can release the goods.
The minimum viable product would be for the server to operate a central custodial lightning wallet where each player has a balance that they can exchange with each other, then they can deposit and withdraw their sats when they want to (this can already be implemented simply by using the Economics plugin and the Vending machine manager, then requiring that players send sats to the server to add to their balance, and allow players to withdraw sats from the server by withdrawing their balance). However this is not ideal, it exposes the server owner to regulatory risks for acting as a custodian of other peoples money, as well as increasing friction where there shouldn't be any - we want to let the sats flow! We don't want people to have to trust the server.
With so many lightning wallets already on offer it would be great if players can just stick to using whatever they want and this plugin simply facilitates the exchange of information required to complete the transaction. That way this plugin and the servers operating it are protected by free speech laws and cannot be stopped.
Some examples of modern bitcoin wallets that support new lightning features include: Breez (android, ios), Blue Wallet (android, ios), Coinos (web wallet), Wallet of Satoshi (android, ios), Zebedee (android, ios, browser), Alby (browser) and soon Green Wallet (android, ios, desktop).
If anyone has any ideas on how to approach this let me know! 