Everyone uses subscriptions. You hand over your credit card details and the money is automatically charged each month. But crypto doesn't leave your wallet unless you sign a transaction. So, how can you authorize services to automatically take some of your funds at a future date?
The answer is of course smart contracts. Isn't it always?
Typically, the service would have a contract where you can deposit and withdraw funds. You would also configure the terms of your subscription. Then the contract would automatically deduct your subscription fee from your balance at the specified time.
This works well, but the problem is that you need to have crypto deposited with each of the various services you subscribe to. This can be improved with smart contract wallets.
If you keep your funds in a smart wallet then it's a simple matter to have some additional logic for authorizing subscriptions. You still configure your subscriptions with the individual services' contracts, but you also keep a list of authorizations within your own wallet. This means you can see all your subscriptions in one place, cancel them, set allowances, etc.
The downside is that services will need to schedule transactions to withdraw funds from their subscribers for this to work. On gas-powered chains, that would mean additional costs, so a standard like this would not see much use despite offering a better UX.
Koinos fixes this.
P.S. This needs to be formalized in a contract standard, but KAP will use this design for auto-renewal of names.