How this will be implemented in a user friendly way in compatible wallets will be interesting. Since the way this works is by reserving a UTXO (possibly multiple UTXOs?) for the subscription, the wallet would have to handle balances in one of a few ways.
Compatible wallets should have a "Subscriptions" tab where the user can view all their on going subscriptions. To create a new subscription, the user either selects a set of UTXOs to reserve or the wallet automatically creates a UTXO for the exact amount and reserves that. The first would require the user to know what a UTXO is but would not require an onchain transaction. The second one is probably the most user friendly way, but would incur an onchain fee. When the user cancels a subscription, the wallet spends from the UTXO(s) to a different address they control. Then the balance is updated.
The balance is displayed in one of two ways. One way is to display the total balance of the wallet like normal. The other way is to display to the user the total balance of the wallet minus the subscriptions.
How the wallet spends from its UTXOs would have to change as well. The wallet first spends from UTXOs not reserved for subscriptions. Then, if a reserved UTXO has a larger amount of sats than the subscription requires, the user can spend up to the UTXO amount minus the subscription amount. The transaction creates a new UTXO for exact subscription amount and sends a new adaptor signature to the service. When the only UTXOs left are the ones reserved for subscriptions that only have enough sats for each subscription, then the wallet prompts the user. The prompt lets them know that if they wish to spend the sats, they'll have to cancel a subscription.
Any thoughts on this?
reply
This seems like right UX to me - a separate subscription management area. From the article it sounds like you don't have to select UTXOs or create a UTXO for the exact amount because the adaptor signature can limit the spend from a UTXO.
I think I'd prefer to just see it all as one balance because I can still spend all the funds even if I've sent Netflix the adaptor signature. The wallet would just have to warn me when a spend will prevent me from paying for a subscription.
reply
Man, the design of this is really cool. I guess the downside is that it's interactive monthly? It sounds like every month my wallet would need to interact with Netflix by sending it a new adaptor signature but that wouldn't need to be more burdensome than opening a wallet connected to the internet I suppose.
reply