<aside> ⚠️ In lieu of ERC-4227, this is unlikely to be the best solutionn for automating recurring transactions on-chain.

</aside>

Summary

A decentralized utility for conducting recurring transfers on-chain.

Problem

Presently, the ethereum network only natively supports one-time transactions, including transfers of ETH or ERC-20 tokens. Recurring transactions, such as subscriptions, can’t be automated by native functionality.

Automated recurring payments have become an integral feature of modern payment systems, reducing friction of business for both consumers and enterprises.

For the sake of alignment with the blockchain ethos of decetralization, users need to be able to conduct recurring transactions independent of any other entity, just as they can conduct one-time transfers.

Solution Summary

A decentralized contract for users to set up recurring payments to a specified address.

Operators process the transactions for a fee that’s settled off-chain. Ostensibly, the receiver of the payment (e.g. businesses) will incentivize operators by paying them to process transfers.

A Public and Private Utility

While payment orders will ostensibly only be processed by good-faith actors that are incentivized to do so via charging fees, a contract open to any actor could be subject to griefing. For example, in the case of variable-rate recurring payments (e.g. charging usage-based fees), a business may wish to charge a consumer less than the amount specified in the payment order. And a griefer would be able to process the payment at the full amount listed. While funds could be returned, this would cause a headache for both the business and consumer.

For the sake of giving users control over potentially sensitive payment situations, contracts can be deployed via a factory, specifying an owner of the contract who is solely authorized to process payments.

API