Schedule your transaction on Ethereum with On-Time
In the near past I built a DApp that provides the ability to easily schedule your upcoming transaction on conditions you specify.
Swap DAI to WETH when WETH is worth of 200 DAI or less on Uniswap V2.
I build this DApp for the Chain Link hackathon and used the Gelato Network for on chain operations. Gelato is only accessible via their CLI and that can’t be a problem for a person who wants to schedule their transaction but doesn’t have the know-how for writing his task. I use the term task here because Gelato is all about tasks. A task is composed of conditions and actions.
Task:
Condition = For one year every month
Action = Send 1 Eth to {Ethereum - Address}
These conditions and actions are smart contracts that’re holding information what to do and when. As the name suggests, if the condition resolves to true, because a month has passed, the action will fire and will send 1 Eth to a specified address.
The key feature of this is that the user doesn’t needs to be present and sign a transaction. An entity will do it for the user. A so called proxy contract. There are many proxy contracts out there. A contract from MakerDAO, Gnosis Safe Proxy and also now a Gelato User Proxy. Currently on-time, this is how the DApp is called, supports the Gelato User Proxy. But I’m currently working on integrating the Gnosis Safe Proxy for lower gas costs! The backlog is full of features that are waiting to be integrated. You can have a look at the source code here.
I’m happy to say that this DApp won the first price at the Chain Link hackathon in the Gelato track: https://devpost.com/software/on-time-rpvubh
The tech stack I used was Angular10, ethersjs ❤ and typechain.
If you like this idea and want to support this DApp, you can do so with your git grant.