Implement veSTRDY

As of now, $STRDY has no utility but pure governance voting.
In order to sustain mechanics such as the current lending incentives, I propose implementing a ve-model (similar to curve and prisma)

Locking
*Allocate 30% (30 million) of the tokens for emission for the next 3 years linearly
*Users provide liquidity into a 80/20 STRDY/WETH balancer pool. Those lp tokens can be locked

  • Users receive lock weight by locking 80/20 STRDY/WETH lp tokens for a number of weeks. “Weeks” refers to the number of weeks that must pass before the tokens can be withdrawn.
  • The maximum duration for a lock is 52 weeks.
  • Each user can have multiple locks of different durations.
  • It is possible to extend the duration of an existing lock.
  • Every Thursday, the number of weeks for a lock decreases by 1. When the lock duration reaches 0 weeks, the tokens may be withdrawn at any time.
  • User lock weight calculation:
LOCK_WEIGHT = sum(weeks * balance for (weeks, balance) in USER_LOCKS)
  • Unlock with an exit fee:
    A user can choose to exit a lock prematurely but will pay a fee when doing so:
fee_amount = (total_amount * weeks_to_unlock) // 52

meaning if a user exits prematurely at week 26, the user pays 50% of the locked lp token to a treasury wallet, which redistributes 100% of those fees to the remaining lockers.

Emission Voting
veSTRDY holders allocate their weekly lock weight towards one or more emission receivers. Emission receivers are silos, aggregators veSTRDY gauge (locked STRDY/WETH pool), but can be extended to new products deployed on sturdy. 100% of total weekly emissions are allocated for receivers with the constraint that emissions for veSTRDY are capped at a maximum of 10% of weekly emissions. The ratio of lock weight votes between all emission receivers determine the weekly STRDY emissions the receivers accrue. Voters receive unlocked STRDY. As voting involves gas consumption, the vote a user signed for the current week shall be set also for the following week(s) until overwritten by a new vote. Emissions for receivers are distributed as locked STRDY with 8 week lock. Projects can assign rewards to voters in order to incentivize deeper liquidity on their silos or aggregators.

fee mechanism
sturdy implements a fee mechanism on the yield users of the silos and aggregators gain, initially with 0% but depending on market conditions can be increased by governance. veSTRDY holders receive the fees pro rata to their lock weight.

1 Like

I don’t know about planed tokenomics for STRDY, so these comments are more on the tech/economic side:

A few things to consider, as I did study some locker contract in the past.

Each user can have multiple locks of different durations.

I think this adds a lot of complexity to the contract. I did not see any implementation yet. You need to use two wallet for this, but then ofc you have to vote twice, if not delegation possible.

Unlock with an exit fee

Exit fee is a good thing, as I think it can reduce governance capture from liquid lockers and depending on the fee percentage, create a floor price for a liquid locker token.

100% is bit steep. veYFI has 75% exit fee, others I don’t know.

Some time back, I made a sheet about this with some examples: vlTOKEN with 75% exit fee - Google Sheets

Giving Fee to existing holders

I did study veYFI code. This is somehow complex and creates dust. In veYFI users have to withdraw their share, if I remember correctly. Its not just added to the veToken they have. To reduce this complexity, the fee cold be send to a multisig, which then is used for community things around the protocol. A while ago, I hacked this into the veYFI contract: GitHub - cryptonative-ch/vlToken: Voting Locked Token

80/20 STRDY/WETH

I consider this a very good idea on the veBAL token, it creates POL, which is needed anyway. But locking up is hard, if you have to bring your valuable eth into it. Depending on the unlock and token price, this generates divergence loss on top of the risk of the long time lock. For an establish protocol this may work, but for a new protocol this will reduce the number of people who lock.

Decentralization of distribution

I did lock for exit fee in real project. Prisma unlock with fee are here. Fee is sent to the general fee collector, not to locking holders. As price go down, more unlock are happening (End of last year, there have been only few unlocks on prisma)

https://etherscan.io/advanced-filter?fadd=0x3f78544364c3eccdce4d9c89a630aea26122829d&tadd=0x3f78544364c3eccdce4d9c89a630aea26122829d&mtd=0x8064d268~Withdraw+With+Penalty

On price go up, exit is not used often. But in a price decline people will exit. This leads to a centralization of ownership, as the governance token then moves from weak to strong hands. I consider this fair, but some may argue it’s not desired.

1 Like

Can you offer some additional info about this part of the proposal. What are voters receiving unlocked STURDY for?

TY!

I will vote for it. Thanks for the write up!