Running a compounder

You can help the Revo community earn compound interest by calling compound on farm bot contracts, and receive a small bounty for doing so. We've written a script to make this easy-- all you need to do is set up a cron job and request access (tag @dev on our Discord).

Context

Revo offers compound interest to anyone investing in a "farm bot."

Smart contracts cannot call themselves at regular intervals like a centralized server might. So we could not create a purely autonomous "compounder" to claim farming rewards on investors' behalf and re-invest them in the yield farm, with no action needed from the outside world.

Instead, we offer a small bounty for anyone who calls compound on farm bots. This keeps the system decentralized while providing an economic incentive for frequent compounding-- the longer it's been since compound has been called for a particular farm, the higher the bounty offered for it. Additionally, since fees are taken as a fraction of the interest earned by all investors in the farm bot, farm bots should compound more frequently as they grow.

Why do I need to request access?

It is theoretically possible that a compounder could reduce the APY of a farm if they acted dishonestly, so we restrict the set of compounders to a trusted group. (Note that the compounders have no way of withdrawing users' funds-- the known threat here just reduces APY.)

In the future, we hope to use decentralized governance to elect compounders who have acted honestly, and remove those who are not.

By way of comparison, Beefy (a different platform with auto-compounding "vaults" similar to Revo's Farm Bots) allows anyone in the community to be a compounder, but limits the amount of gas for the transaction to help prevent attacks. We decided to take a more cautious approach with stronger guarantees of maintaining high APY's on farms.

Last updated