- Name of project: Votes4LPs - give all Ocean tokens a vote!
- Team Website (if applicable): -
- Proposal Wallet Address: ty(*mandatory; must have minimum 500 OCEAN already in wallet to be eligible. This wallet is where you will receive the grant amount if selected).
- The proposal in one sentence: Extending the Ocean Protocol Snapshot stragies to cover more liquidity pools.
- Which category best describes your project? Pick one or more.
- [x] Build / improve applications or integrations to Ocean
- [ ] Outreach / community (grants don’t need to be technical in nature)
- [ ] Unleash data
- [ ] Build / improve core Ocean software
Project Overview
Description of the project:
So far $OCEAN token liquidity providers did not have the chance to vote on OceanDAO proposals as the current Snapshot strategy used by Ocean Protocol is only “erc20-balance-of” - check the OceanDAO Snapshot space here.
I created a new strategy that makes it possible for liquidity providers on the Ocean marketplace to vote for OceanDAO proposals - pull request for the space here, pull request for the strategy here.
I also started a discussion on OceanDAO’s Discord how to handle datatoken holders:
Hey @here - I am at the crossroads with adding the ability to vote for OceanDAO proposals with $OCEAN tokens that are staked on Ocean marketplace and I want to hear your opinions so I can make a more democratic decision as well as hear your arguments.
So at the moment I am attributing votes to liquidity providers in a pool after this formula:
user_votes = user_pool_shares * (pool_ocean_reserve / pool_total_shares)That gives all the voting power of a dataset to the liquidity providers. This is very straight forward and works already perfectly.
BUT, and this is where I am asking for help, this does not take into account that people can buy datatokens out of the liquidity pool and hold them without providing liquidity. They are then adding more $OCEAN to the pool as they take out the datatokens.
So the first question is - should the datatoken holders also get votes for holding the datatokens? (If you think yes, they should then vote for to this post, if not then vote for )
If they should get votes then there are two routes that can be taken.
The first one is to treat the liquidity providers as more important and thus treating the pure datatoken holders votes as if they would be adding liquidity to the pool and then calculating their shares by the amount of pool shares they would get - vote for this alternative via :regional_indicator_c: .
The formula is then:
user_votes = (user_pool_shares + (pool_ratio_liquidity_factor * user_datatokens)) * (pool_ocean_reserve / pool_total_shares)The pool_ratio_liquidity_factor depends on the pool. The pool ratio (10:90,70:30, etc.) is important here and the amount of datatokens the user holds, as adding liquidity is not a linear function.
Other alternative is to treat the pure datatoken holders as first class citizens and then distributing is depending only on the number of datatokens. Vote for this alternative via :regional_indicator_d: .
The formula is then:
user_votes = user_datatokens * (pool_ocean_reserve/datatoken_max_supply)
Next to implementing the result of this vote I want to add more liquidity pools to a strategy that will enable these Ocean token holders to also vote for OceanDAO proposals.
The first step is to see which pools contain the most Ocean tokens (Bancor, Uniswap, Balancer, etc.) and then check for subgraphs that contain that information. If necessary I will host additional subgraphs to make it possible that the Snapshot strategy can interact with this information.
In the future additional liquidity pools will be added e.g. Ocean on Matic, Ocean on Polkadot/Kusama, OceanO.
I also see a strong posibility to create an Ocean token tracking dashboard out of this information as these strategies create a strong information graph where tokens are stored. This is a request opened by Manan here.
What problem is your project solving?
Giving a vote to $OCEAN token owners who are providing liquidity with their tokens.
What is the final product (e.g. App, URL, Medium, etc)?
Open source project on GitHub as a repository - the current strategy is hosted here:
How does this project drive value to the Ocean ecosystem? This is best expressed as Expected ROI, details here.
Token holders currently: 27,000
Token holders that have staked their tokens: 10%
Avg. holding per holder: 22.5K Ocean (613 Mio / 27K holders)
Assumed amount of staked tokens: 22.5k * 2,700 = 60 Mio Ocean
This means that there are potentially 60 Mio new votes incoming to the OceanDAO votings.
This participation will increase interest in the Ocean token so 1% more token holders will be created.
Buy of Oceans = 27,000 * 1% * 22.5K = 6.07 Mio Ocean
Expected impact of extra 6.07 Mio buy for Ocean on USD price : +8% (for reference, a sell of 300K USD would induce +50% slippage on Uniswap)
Expected impact on Ocean network total value: 28.96 Mio USD (8% on 362 Mio USD)
Likelihood of sucess: 80%
Bang = 80% * 28.96 Mio = 23.168 Mio USD
Bucks = 10K Ocean = 0.0084 Mio USD
ROI = 23.168 / 0.0084 = 2’758
Note that the long term community impact will be much bigger, and it was not included in this ROI calcluation.
Project Deliverables - Category
IF: Build / improve applications or integration to Ocean, then:
- Software will be open-source with a permissive license at: GitHub - w1kke/snapshot.js. This will then be merged to the Snapshot repository via a pull request. The Ocean Protocol Snapshot Space will be updated with the new strategy and Alex N. will push this upstream.
Project Deliverables - Roadmap
- Any prior work completed thus far? The Snapshot strategy for the Ocean marketplace was already implemented and a pull request was made with Snapshot as well as for the Snapshot Space of Ocean Protocol
- What is the project roadmap? That is: what are key milestones, and the target date for each milestone.
- Determine the important pools by their size (Uniswap, Balancer, Bancor, Sushiswap, C.R.E.A.M, etc.) the pools will then be added until the end of March
- Determination of subgraphs for these pools and if necessary creation and hosting of new subgraphs
- Creation of a strategy that can dynamically evaluate the pools
- Merge of the strategy with Snapshot before the next voting round
- Update Ocean’s Snapshot space to incorporate the strategy
- Please include the milestone: publish an article/tutorial explaining your project as part of the grant (eg medium, etc).
- Please include the team’s future plans and intentions.
- Any maintenance? Yes
- Foreseen or possible additions? More liquidity pools will be added later e.g. OceanO
Project Details
If the project includes software:
- Are there any mockups or designs to date?
- An overview of the technology stack?
TypeScript
Team members
For each team member, give their name, role and background such as the following.
Robin Lehmann
- Role: developer
Additional Information
Any additional information, custom fields, or images you would like to add? For example: Any grants or fundraising to date?