Marketplace and subscription payment solution for the problem of recurring payments
This project allows decentralized services to charge recurring fees from users, and for users to make and manage these subscriptions from one place in a trustless way.
We have a smart contract that limits how often withdrawals can be made, and with what amount each time, of an ERC20 token. The user gives allowance to our smart contract and can then call separate functions to add payees (with info about how much and how often to pay)
Our system works with any ERC20 token as a payment method. The user gives our contract a very large allowance, and then calls a particular function to add a payee, specifying how much he wants withdrawn and with what frequency, by what address. These subscriptions are stored as a linked list, so the user can always cheaply cancel subscriptions, and also see all of them at a glance.