The origin of this idea came from UBIpromoter’s message about getting “minnows” to engage in the process. His idea’s reminded me of learnings about “fair farming” and how it was shown that if you reduce overfishing in the short term, fisherman were able to catch more fish in total over the long term (the main reason being if you overfish this year, there isn’t enough offspring to support the ecosystem in future years).
Building on this, I wanted to find a way to incentivize holders to continue to hold $FISH instead of “catching” (aka burning) the token and receiving the portion of the reserve. Where $TREE uses quadratic burning game theory to put players against each other (if I burn first, you receive a higher portion of tokens), I wanted to come up with a way to incentivize users to not to burn tokens as a function of time (you received a higher reward if you hodl’d longer regardless of other players actions).
The question became how do you increase a LPs rewards the longer they hold their $FISH token. Two methods emerged:
- Create a function where the percentage of reserve an LP was entitled too increased the longer they didn’t “catch their fish” (burn their token). (i.e. if you had 10 tokens that entitled you to 10% of the reserve, if you burned in year 1 -> you received 2% of your 10%, year 2 -> you received 4% of your 10%, year 3 -> 6% of your 10%, etc.). This used a linear function but could be quadratic.
- Allow users to “lock” their FISH Tokens where they would receive a “rewards boost” based on how long they agreed to “lock” their tokens.
Leveraging Existing Implementation
While both of these ideas exist in concepts, Curve actually already has an implementation of method 2 - vote locking. Curve allows you to lock your CRV up to receive veCRV which corresponds to voting power in the DAO. When you lock up your CRV to mint veCRV, you receive a “rewards boost” as an LP. The longer you lock up your CRV, the higher your boost (note that these locks are final and you’re not able to withdraw funds until the end of timelock).
For WhalerDAO, we can implement FISH using the same vote locking technique. When you provide liquidity you earn FISH. If you decide to lock your Fish, you’ll receive a “rewards boost” on your current LP position with the boost multiplier calculated in relation to the amount of time you lock your FISH up. The same way if you don’t overfish in year one, you have a higher abundance of the fish’s offspring in year 2; if you don’t catch your FISH tokens in year 1 (lock tokens), you’ll receive a higher amount of FISH tokens in year 2 (b/c of the boost). Similarly, locking up your tokens for multiple years allows you to “catch” the boosted rewards, keeping your principle fish in the timelock.
Why this would be valuable
This mechanism starts to provide reliable and projectable finances for the WhalerDAO Charity pool. By knowing how much FISH is locked for how long, we can project the minimum amount that will be in the Charity Pool in future years. Additionally, by incentivizing users to not “catch” their fish, we are incentivizing continuous earnings into the Charity Pool
Would love to figure out additional rewards boosters if you decide to continuously lock your rewards. There feels like a unique way to leverage the unique identity of BrightID to provide “responsible fishermen” boosts but can’t figure it out right now.
This is still in the idea stage, and not sure I’ve thought through all the vulnerabilities.