AutoRF is retro funding made simple. Project impact metrics are regularly indexed, which is used to configure on-chain splits contracts to reward projects over regular settlement periods. We launched “The Grinder’s Fund”, to reward the hardest working projects at ETHGlobal SF.
AutoRF is retro funding made simple. We are excited by the promise of retroactive public goods funding to simultaneously support critical public goods, while being a critical part of the growth strategy for crypto ecosystems. However to date, retro funding programs are exceptionally costly to run, which is why most of these programs operate off-chain. In Optimism Retrofunding round 3, it could take badgeholders over 100 hours to diligence and determine payouts. In retro funding round 4, voters started experimenting with using metrics to reduce badgeholder effort.
In this hackathon project (AutoRF), we take this further by making retro funding a continuous on-chain process with humans in the loop. Funders can create a continuous funding pool in the app. Funders specify how they want to measure and reward impact, as well as the distribution schedule to eligible projects. Data indexers automatically calculate project impact metrics, which are used to adjust a 0xSplits contract for distributing rewards proportional to impact. We run distributions regularly, adjusting for impact weights as we index new data. We hope to make it trivially easy to operate and scale retro funding rounds for any ecosystem.
To show how this can work in practice, we launched “The Grinder’s Fund” to retroactively reward the hardest working teams at ETHGlobal, with over 60 project signups already on Sunday morning! We index project commit history to calculate metrics that analyze frequency, timing, and size of commits. We lined up funding from Polygon to distribute real rewards ($1000) after the hackathon is over.
The application consists of 4 major components: Web application AutoRF SDK Server-side cron jobs Onchain funding contracts
Web application: The web app is a Next.js application powered by a Supabase database service. Users log in with GitHub OAuth in order to validate which repositories they have permissions to commit to. Through the app, users can create new / edit funding pools, join existing funding pools, and monitor progress. We introduced a referral link mechanism so that projects can help spread funding pool sign-ups.
AutoRF SDK: We implemented a JavaScript package for performing the actions associated with funding pools, including:
Server-side cron job: The AutoRF SDK is wrapped in a regular cron job, which regularly indexes data and builds a funding transaction to configure the Splits contract distribution weights. The server will then manage authorizations for the next distribution.
Onchain funding contracts: We predominantly use the 0xSplits contracts for custodying funds and managing fund distribution. We also plan to support other money streaming protocols in the future such as Drips and Superfluid.