I'm trying to write a smart contract to farm tokens. I would like to make an auto-compounding solution similar to beefy.finance or polycats.
My contract can deposit funds or liquidity into LP mining, and I can autocompound them fine off chain from the backend. However doing something like this would make my solution centralized, and I was hoping to avoid that.
What I want is to call a method at intervals on my smart contract. I think there used be something for the main-net called ethereum-alarm-clock but I've heard the project is dead.
How can I distribute rewards in a decentralized fashion?
I'm open to external protocol such as using an oracle like chain link, but I would prefer to decentralize earning so I do not need to host a backend service. Is this possible?