#Name of Project
# What is the work being proposed?
This proposal introduces Yield Staking, which offers a Yield Staking contract and a widget with user-friendly UI that will enable projects to offer ETH staking on their sovereign website/application. Later, the project can reward their stakeholders with their native governance token simply by taking a percentage of the staked rETH and distributing their native tokens based on set on and off chain key performance indicators (KPIs.).
How will it work?
- A project integrates the widget to their website to enable ETH staking
- Deposits a desired amount of their native token to reward the stakers on top of their ETH
- Sets its yield sharing percentage with stakers and its KPI target, which can be total staked amount, total accrued yield, or any other on/off chain numerical value that can be objectively verified through the UMA Oracle.
- Users start staking ETH on the project’s UI, and the contract deposits that ETH to RocketPool.
- At each period that the project defines, the UMA Oracle validates the performance, and the Yield Staking contract checks it against the KPI target and automatically adjusts the rewards issued for the next period.
- Over time, the project utilizing the Yield Staking contract can easily modify its KPI target and reward issuance rate.
Yield Staking enables people to invest and support the projects they want by allocating a portion of their staking rewards, in a “stake-to-invest” fashion. It also allows projects to use a new sustainable mechanism to distribute their native tokens to the community in exchange for a % of their ETH staking rewards. In essence, projects can promote ETH staking among their community by offering their tokens as a supplementary incentive alongside the standard staking rewards.
Yield Staking opens a design space with a robust and modular framework to build use cases around sharing ETH yield. It allows anyone to create unique yield-sharing use cases tailored to specific KPIs, based on individual needs and objectives. With this integration, RocketPool node operators stand to gain from an expanded user base, translating to a higher staked TVL and increased earnings.
# Is there any related work this builds off of?
Yield Staking will be configured by utilizing Inverter Protocol. Inverter is a modular protocol infrastructure that enables drag-and-drop smart contract functionalities, making it seamless to build and maintain Protocols and Applications with Low-Code Operating Systems.
With a vision to simplify building on the blockchain, Inverter offers the Inverter Open Library of Modules; a reusable, upgradable, tested & audited repository of stand-alone smart contracts; that can be customized and composed into protocols and mechanisms. Its core operator contract, the Orchestrator, acts as the interoperability layer and connects enabled modules for managing asset flows, authorizations, and other logic functionalities. With this design, projects can immediately adapt and modify functionalities without additional development and auditing costs. Inverter’s architecture opens a new design space for novel blockchain applications, starting with staking.
Inverter is currently building oStake, which is a novel staking contract that dynamically optimizes staking rewards based on Key Performance Indicators (KPIs), encompassing both on-chain and off-chain metrics like TVL, application usage, website views, or any other publicly verifiable numerical data.
The Yield Staking contract will be able to leverage all the building blocks from oStake and extend its functionality with the Yield Staking module, which enables yield sharing between different parties on Rocketpool.
## Will the results of this project be entirely open source? If not, which parts will not be, why, and under what license will they be published?
Yes, we are GPL3 licensed.
# Benefits - enter N/A where appropriate
# How does this help people looking to stake ETH for rETH?
The collaboration between oStake and RocketPool, as structured in the proposed milestones, enhances the Ethereum staking experience in multiple ways:
Seamless Staking with Extra Visibility for RocketPool: With the Yield Staking widget, users can seamlessly stake their ETH to RocketPool from any projects dApp or website.
Customizable KPI-Driven Rewards: Projects can set specific KPIs, like achieving a particular TVL, to drive reward distribution. This means stakers are not just earning static rewards; they’re part of a dynamic system where they can benefit from achieving milestones and provide financial support to projects they like.
Diversified Investments: With a mechanism that lets a percentage of the staking yield be swapped for other project tokens, stakers have an avenue to diversify their holdings without additional investments. For example, if they stake through XDAO’s website, they’d earn both rETH from RocketPool and potentially $X tokens from XDAO’s own incentive structure.
# How does this help rETH holders?
As mentioned in the previous answer, Yield Staking offers significant advantages for ETH holders looking to stake for rETH. For the current rETH holders, there are still benefits:
Strengthened Liquidity and Value: The collaboration’s potential to increase TVL and attract a broader user base directly boosts rETH’s liquidity. With more Ethereum locked up and being used, the inherent value and stability of rETH are fortified, benefiting all rETH holders.
# How does this help people looking to run a Rocket Pool node for the first time?
Expanded Audience Base: With Yield Staking, RocketPool can seamlessly tap into a new audience of stakers. This means that as a new node operator, you’re instantly exposed to a larger group of potential stakers.
Increased Staking Activity: A broader audience translates to more ETH being staked. As a new node runner, this is advantageous, as higher staking activity leads to validators validating more transactions, which in turn boosts earning potential.
Streamlined User Onboarding: The introduction of a simple staking UI on websites that directs users straight to RocketPool is highly beneficial since it offers RocketPool (and by extension, new node operators) a free growth strategy. Each project leveraging Yield Staking becomes a direct user, channeling its community of stakers to RocketPool.
All of these combined - the wider audience, increased staking, and streamlined onboarding - mean one thing for new node operators: a significant revenue potential right from the get-go.
# How does this help people already running a Rocket Pool node?
See the previous answer.
# How does this help the Rocket Pool community?
Yield Staking brings substantial benefits to the RocketPool community, with a particular emphasis on greater adoption. By integrating our widget into project websites/platforms, RocketPool gains access to new communities, and each member of these communities essentially becomes a potential RocketPool user. This presents a compelling opportunity for use-case expansion, broader adoption, and substantial growth. Furthermore, the increased visibility might help establish RocketPool as the go-to platform for projects looking to incentivize ETH staking.
Additionally, this collaboration can be lucrative for RocketPool financially in several ways.
Firstly, it leads to an increase in Total Value Locked (TVL) within the RocketPool ecosystem as more users stake their ETH via RocketPool’s infrastructure. Moreover, RocketPool benefits from validator commission fees generated from these increased stakes, creating a direct financial incentive. Finally, the additional use case for ETH staking can appeal to any individual staker, creating the perfect funnel to potentially attract every ETH holder in the space.
Overall, this collaboration not only offers mutual financial benefits but also promotes RocketPool as a go-to choice for advanced ETH staking strategies in the blockchain space, ultimately benefiting the broader RocketPool community.
# How does this help RPL holders?
Increased Adoption and Visibility: As explained in the previous answers, Yield Staking grants RocketPool a new use case and therefore, the opportunity to tap into a new user base. This not only introduces RocketPool to a wider audience but can also potentially increase the demand and utilization of the RPL token.
# What other non-RPL protocols, DAOs, projects, or individuals, would stand to benefit from this grant?
DeFi Protocols: This novel staking approach can become a foundational tool for any DeFi project aiming to enhance liquidity strategies and user incentives.
E.g. A DeFi protocol called oFinance wants to boost the TVL in one of their ETH staking pools to $2M. oFinance sets up a Yield Staking contract and sets KPI trenches of $1M, $1.5M and $2M. When the targets are met, stakers will enjoy increasing staking rewards; native token rewards on top of their ETH yield; incentivizing staking for oFinance users.
DAOs, Communities & Projects: By introducing adaptive staking models based on KPIs, users would have a tool in their arsenal to better align member incentives, driving engagement and promoting mission-centric actions.
E.g. oFinance is disappointed with the performance of its blog, as it has few subscribers despite having a large community. oFinance creates a Yield Staking contract and sets the subscriber amount for the blog as the KPI. oFinance users stake their ETH on the Yield Staking contracnt. As the subscribers increase, stakers will receive additional rewards in $OF on top of their yield. This way, oFinance can financially incentivize their users to subscribe to their blog.
Individual Stakers and Developers: With a more adaptable staking framework available, both individual stakers and developers are provided with a richer, user-friendly experience, and a platform ripe for innovation.
E.g. Individual stakers looking to maximize their earnings would contribute to the KPIs set by the Yield Staking contract and enjoy the benefits. Moreover, developers can come up with more creative ways to set KPIs to create new use cases.
# Who is doing the work?
Marvin, our head of protocol architect, Solidity native with 5+ years of experience in the Ethereum space, and 12+ years in software development, leading multiple teams throughout his journey. He’s got an extensive background in security and auditing, having advised as well as audited lots of projects on their general architecture, security, and development processes.
Github: marvinkruse (forum doesnt allow me to upload more links)
Pablo Carra is our smart contract developer with a computer science background, and has been involved as a developer in Web3 projects for the past 3 years. He has been contributing since the initial research working groups of Inverter.
Rahul is a smart contract developer who also has a background in computer science with a lot of deep low-level experience with Solidity and connections to the Ethereum development community. He has worked with and audited countless protocols throughout the last few years and has a lot of experience with the latest technology within the space.
Felix is our lead smart contract developer, a background in computer science with experience in leading software projects, has been a part of the Ethereum development community for a few years already and contributed to many projects as a developer and auditor.
Marvin Gross, a graduate from Encole 42’s computer science program, has been a web3 engineer for over three years, specializing in smart contract development. His expertise encompasses DeFi, ReFi, and Cross-chain protocols.
# What is the background of the person(s) doing the work? What experience do they have with such projects in the past?
See the previous question.
# What is the breakdown of the proposed work, in terms of milestones and/or deadlines?
|Holds DAO reward tokens
|Whitelist the reward token
|Manages the Workflow
|The DAO Multisig would be the owner
|Sends token rewards to users.
|Yield Staking Module with KPI Rewarder
|Manages the user stakes, separates the protocol fee and calculates reward payouts based on the staked amount.
|Deposits go to RocketPool. The token held by the module is the staked one. The Project sets the KPIs and UMA oracle to validate them. Passing checks are sent to the PaymentProcessor as PaymentOrders to distribute staking rewards.
|User interactions on smart contracts
|On setup, the protocol deposits the reward tokens into the FundingManager. Users can now stake ETH in the staking module, which deposits the funds to RocketPool and holds the resulting rETH. On a regular basis, the oStake module calculates the total yield generated over a period of time (or another KPI), and based on that amount distributes rewards in DAO tokens to all stakers. In exchange, it keeps a percentage of the ETH yield as commission.
|1. Yield Staking Specification
|Align on a technical specification for starting the development of Yield Staking.
|Technical Specification to start 1. New module development 2. Integration with RocketPool
|2. Yield Staking Development
|Develop Yield Staking
|1. All the required modules are developed and documented 2. The Yield Staking workflow is set up 3. Code Review and Confirmation by the RocketPool team before Audit
|3. Audit Complete
|Audit Yield Staking
|1. Complete audit 2. Launch a public bug bounty competition on Hats Finance
|4. Low-Code Operating Interface & Widget Development
|Develop the UI tooling to make Yield Staking usable and accessible without requiring manual deployment & integration overhead
|Low Code Operating interface to: 1. Set up the Yield Staking contract’s parameters for yield sharing and reward distribution based on set KPIs 1. Access a Widget that can seamlessly plug into a custom website
|2 months (can go concurrently with Milestone 2)
# How is the work being tested? Is testing included in the schedule?
Testing is included in the schedule. We have multiple tests we apply to every module as a security standard. Each testing will be available on the GitHub repo together with the smart contracts:
Unit Testing: Each individual component or module of the Inverter Protocol undergoes rigorous testing to ensure it functions as intended in isolation.
Integration Testing: Once individual units are verified, the next step is to ensure they work harmoniously when integrated. Integration testing focuses on the interactions between different modules, ensuring:
End-to-End (E2E) Testing: E2E testing evaluates the system as a whole, simulating real-world scenarios and user interactions.
Fuzz Testing: This involves bombarding the system with a vast array of random inputs to uncover unexpected vulnerabilities. It’s akin to stress-testing the protocol against unpredictable scenarios.
After the smart contracts are tested and audited with the low-code interfaces, we would like to coordinate a testing together with Rocketpool.
# How will the work be maintained after delivery?
Yield Staking will be fully open-source, complete with a suite of tests and audits. This ensures that it is available and accessible to anyone wishing to use or adapt it without direct reliance on Inverter.
However, at Inverter, proactive and consistent maintenance of our technology remains at the core of our mission. We envision Inverter not just as a tool but as a blockchain protocol standard designed to address real-world challenges, simplifying the complexities of integrating blockchain solutions. As part of our commitment, we are continually refining our protocol, setting standards for contributions to the Inverter module library, coordinating necessary upgrades, and introducing new modules based on both research and the evolving needs of the ecosystem.
As a protocol, we are incentivized to drive the usage of this novel staking application that leverages Rocketpool to showcase our protocol’s capabilities and its value offer for infrastructure protocols like Rocketpool.
# Payment and Verification
# What is the acceptance criteria? # What are the specific deliverables needed to satisfy the scope of the project and verify its completion?
All the deliverables for each milestone are provided in the Roadmap Milestones & Budgeting table above.
# What is the proposed payment schedule for the grant? How much USD $ and over what period of time is the applicant requesting?
All the deliverables for each milestone are provided in the Roadmap Milestones & Budgeting table above.
## How will the GMC verify that the work delivered matches the proposed cadence?
GitHub Repository: All code changes, additions, and milestones will be actively tracked and documented on Inverter’s dedicated GitHub repository. Each milestone will have its corresponding branch, facilitating the review process. Pull requests, commit messages, and code reviews will provide a detailed breakdown of work completed, ensuring traceability.
Baked in Accountability: Starting from the first milestone, code review and confirmation by the Rocketpool team is a condition for progressing on the milestones, and without alignment with the GMC we will not be able to unlock funding for the next milestone.
Monthly Progress Reports: To ensure consistent communication, we’ll provide monthly progress reports via Telegram (or forum) outlining work completed, any challenges faced, and anticipated next steps. This keeps RocketPool informed and provides an avenue for feedback and suggestions.
Open Feedback Loop: To ensure immediate redressal of any concerns, we will maintain an open feedback loop with the RocketPool team by setting up quick check-in calls to ensure that both teams are in sync and any discrepancies can be addressed in real time.
Third-Party Audits: The security reviews and public audit competition via Hats Finance will serve as an external verification mechanism. The findings of these audits will be shared with RocketPool, assuring that the module adheres to the highest security standards.
Use Case Articles: A comprehensive Use Case article will be crafted. This article won’t just serve as an instructional guide, but it will be accompanied by real-world examples and possibly, user testimonials, which can attest to the success and ease of the integration process.
# What alternatives or options have been considered in order to save costs for the proposed project?
Inverter protocol’s modular architecture enables seamless composability between smart contract functionalities to configure a custom workflow. The Yield Staking contract is leveraging these existing building blocks, reducing the need for an extended development scope and resource allocation, while still retaining the highest standards of quality assurance for the contracts.
## Conflict of Interest
# Does the person or persons proposing the grant have any conflicts of interest to disclose? (Please disclose here if you are a member of the GMC or if any member of the GMC would benefit directly financially from the grant).
# Will the recipient of the grant, or any protocol or project in which the recipient has a vested interest (other than Rocket Pool), benefit financially if the grant is successful?`