Motivation
Decentralization is one of the cornerstones of every blockchain project. Having a more decentralized project means that it’s also becoming more robust and resistant to attacks of any kind. The advantage of using Lido on Polygon is that users won’t need to have Matic locked in a staking contract, but will be able to use stMATIC inside the DeFi ecosystem on Polygon which then greatly improves incentives for users to delegate and stake their tokens. Our aim is to help improve decentralization of staking on Polygon even more and contribute to the decentralization of Polygon and Lido.
Suggested Design
The proposal’s base is to create a liquid staking token (stMATIC) that will accrue staking rewards and represent staking positions with Lido validators on Polygon. The stake deposited to the Lido contract on Ethereum mainnet will be distributed to these validators following a logic similar to the Lido Ethereum liquid staking solution. Full logic will be implemented on the Ethereum mainnet, and the users will need to move stMATIC to Matic chain via bridges if they so like. This version of Lido will have a fee mechanism similar to that of stETH, allowing splitting fees between node operators and Lido treasury (e.g. to be used for insurance funds). Lido node operators, and parameters such as the fee, will be controlled via the governance of LDO holders on Ethereum. In the initial version, governance decisions will be carried out by the Lido. A more detailed approach is defined under: Timeline and Future work & Next steps.
Why Polygon?
Quite successfully, for some time now, Polygon (ex. Matic) has been the DeFi chain of choice for many. Because of that, the utility for Matic tokens is real and vast. Due to the staking mechanism on Polygon (Matic), which locks Matic tokens inside a smart contract on layer 1 (mainnet). Those same tokens can’t be used for other DeFi related dapps and protocols on the Matic chain itself. Due to the reason mentioned above, we propose using Lido design for ETH staking and creating a similar solution for staking Matic tokens (more details in the following sections).
Also, one important point is decentralization of staking on Polygon itself, with which Lido can help immensely. As decentralization is a cornerstone of this space, we see Lido as one of the enablers of decentralized staking on Polygon.
Why Shard Labs?
We are a startup founded in 2018, and we accompany our clients on the path to a holistic digital transformation. Profound blockchain tech knowledge coupled with business understanding allows us to create unique solutions and deliver excellence.
We believe and enjoy working on blockchain, especially when projects bring alliances, partnerships, and talent from every aspect of the blockchain ecosystem.
Shard Labs is a team of researchers and developers oriented towards cutting-edge initiatives such as this one. The team has extensive experience working with multiple solutions and clients such as Ethereum Foundation, Polygon, Polkadot, NEAR, etc.
Our lean team of blockchain software developers ensures all components of successful project execution, from strategy and conception to digital solutions.
We are determined to improve the Polygon ecosystem by bringing liquidity staking (stMATIC) to contribute to the Polygon DeFi ecosystem even more.
Some of the projects we currently work on:
- Sourcify project (Client: Ethereum Foundation - Solidity team) GitHub - ethereum/sourcify: Solidity re-compiler that can be used to verify that bytecode corresponds to certain source code
- Geth fork (Client: Ethereum Foundation - Solidity team) GitHub - sourcifyeth/go-ethereum: Official golang implementation of the Ethereum protocol
- Identity directory (Client: Polkadot) - GitHub - Shard-Labs/identity-directory: Substrate identity directory
- Ganache fork for Celo blockchain (Client: Celo) GitHub - Shard-Labs/celo-ganache-monorepo
- Rainbow bridge modification to work between between NEAR and Binance (Client: NEAR) GitHub - Shard-Labs/rainbow-bridge: NEAR <> Ethereum Decentralized Bridge
- Dappnode networking and devops related stuff (Dappnode) dappnode · GitHub
From the inception of the idea of Lido on Polygon, Polygon team has been really forthcoming and crucial for making this idea a reality and with their backing we want to make this dominant staking solution on Polygon itself.
Timeline and Future Work
- Phase 1: Research and specification [Jul-Aug 2021]
- Phase 2: MVP Development and testnet deployment [Jul - August 2021]
- Phase 3: Production v1 development and audit [August 2021 - December 2021]
- Phase 3: Mainnet deployment of v1 [January 2022]
- Phase 4: Maintenance and support for v1 and planning for v2
Suggested Incentive Structure
It is a great challenge, but also an opportunity to build a Lido solution for the Polygon ecosystem. We are determined to put our best resources into this project to make it the best possible and grow the dedicated team and the project itself in the future.
We are proposing the following incentive structure that aligns with the long-term success of the Lido as well as Lido on Polygon:
- Lido Token Incentives: Using vested tokens distributed according to agreed milestones
- Revenue Share: Agreed ongoing revenue share between Shard Labs and the Lido
For delivering liquid staking solution we propose the following:
- 100,000 LDO tokens issued with vesting with 2 year vesting when Lido for Polygon manages to capture 2.5% of the staked MATIC supply
- 100,000 LDO tokens issued with vesting with 2 year vesting when Lido for Polygon manages to capture 3% of the staked MATIC supply
- 100,000 LDO tokens issued with vesting with 2 year vesting when Lido for Polygon manages to capture 3.5% of the staked MATIC supply
- 100,000 LDO tokens issued with vesting with 2 year vesting when Lido for Polygon manages to capture 4% of the staked MATIC supply
- 100,000 LDO tokens issued with vesting with 2 year vesting when Lido for Polygon manages to capture 4.5% of the staked MATIC supply
- 500,000 in additional LDO tokens vesting over a 2 year when Lido for Polygon manages to capture 20% of the staked MATIC supply
Revenue share incentives between Lido and Shard Labs: will be used to incentivize future growth and cover development and maintenance costs. As the lead development partner of Lido on Polygon, we suggest that Shard Labs receives 20% of the fee going to the Lido treasury, while the treasury itself retains the rest.
If the agreed KPIs are not reached, but the product is developed and delivered, we suggest the compensation of 100,000 $ to cover the basic development and audit costs.
We are excited to bring Lido to the booming Polygon ecosystem as we see this as the start of another milestone in Lido development.
We also want to thank Chorus One for their help with the proposal.
Note: each point will have to be reached and maintained for a month for the milestone to be achieved. For example if Lido reaches 2.5% MATIC supply and maintains it for a month, then milestone 1 is achieved, not before.
Next Steps
We are in contact with multiple stakeholders from the Lido and Polygon ecosystems. There is already a first version of the technical specification that can be viewed and the feedback provided. We will also work on the frontend integration for https://stake.lido.fi/.
We are open to suggestions and feedback from Polygon and Lido communities on this proposal and the proposed specification.
Our next step is to issue a Snapshot vote to determine whether the Lido favors supporting our proposal and the spec. If it passes, we will build an MVP and release it in the Polygon to boost it’s DeFi ecosystem even more.
Team breakdown per phase:
Phase | Solidity | DevOps | Marketing | Frontend |
---|---|---|---|---|
MVP | 1 senior | 0 | 0 | 1 senior |
V1 | 2 senior | 1 senior | 1 | 1 senior |
V2 | 2 senior | 2 senior | 1 | 1 senior |
Tokenomics
We did a detailed research on Matic staking rewards and potential ROI for Lido. Graphs are added for easier overview and detailed numbers are present in this excel sheet.
MATIC rewards in USD per day are: 538,429.9878 $ and average price for LDO for the last 30 days is 2.0365 $ which means that when Lido captures 2.5% supply of Matic it gets issued 12114.67473 $/day on average.
Which then means that if 500,000 LDO tokens are issued to Shard Labs for this milestone Lido gets this investment back in 84.05 days.
When we add the second milestone to this, the one of 20% captured MATIC, then for issuing an additional 500,000 LDO tokens investment for Lido is returned in 10.5 days or if we calculate a total of 1,000,000 LDO, investment is returned in 21.01 days.
Yearly revenue for the Lido would be as follows:
- At the 2.5% Matic stake captured, yearly revenue will be 4,421,856.275 $
- At the 20% Matic stake captured, yearly revenue will be 35,374,850.2 $
Note on the lock and vesting:
In this space, we often see that the capital is more valued than what one team can bring in the sense of productivity.
Comparing the availability of capital to the availability of teams that can deliver (where the first one is abundant and the latter is the opposite), Shard Labs is best vested considering the proposal. The risk is capturing the market on Polygon, not just building the technical solution. We believe that the critical tipping point will be to reach 2.5% of the market share.
Challenges that we will face:
- Delivering production ready withdrawal process that can potentially even be used for the ETH staking
- Adapting the whole process for the Matic staking
- Capturing the first market shares and getting validators to validate with Lido (crucial part)
Until this point Lido takes almost no risk and Shard Labs takes all of it. After this point ROI for Lido is 84 days for the first phase and 10.5 days for the second.
On the other hand we understand that Lido wants teams who are aligned long term with the project and have incentive to stay long term. That’s why we propose a middle ground, where there won’t be lock (after a target is reached) but only vesting period which is defined under Suggested Incentive Structure.
Revenue itself will be used for funding development and all the expenses and LDO tokens are intended to be used only for governance purposes.
We are open for discussion on this part.
Additional
Note: If you are interested how we extracted these numbers, here is the github repo:
Process is as follows: We went through all NewHeaderBlock events which are generated at checkpoints (all 17k of them) and counted all rewards from those events. That happens here: lido-tokenomics/checkpoints.js at from-checkpoints · Shard-Labs/lido-tokenomics · GitHub In the end we got a number which corresponds to the matic’s API number.
Minimal data processing is done here: lido-tokenomics/process.py at from-checkpoints · Shard-Labs/lido-tokenomics · GitHub
Demo is currently been developed and soon will be deployed on testnet, repositories are here: