Weighted Seigniorage LP Rewards

For Seigniorage LP Mining, an issue (or feature) is that currently there is no time aspect.

If a user deposits 5 minutes before rebase they earn just the same pro-rata distribution as someone who has staked for multiple hours.

A couple options for voting:

1: Time weight deposits (stake * time length)
2: Minimum time-lock

#1 is the default option but may be computationally more difficult to weight everyone’s deposits by time and take the pro-rata distribution during rebase. If anyone has good examples of other projects that do this, it will be easier to integrate

#2 is an idea that is simple to implement. Essentially every user deposit for seigniorage mining is restricted to a minimum wait time. This wait time is a variable that can be adjusted via governance. Once a user LP has met the minimum wait time, they are allowed to withdraw their LP. During the course of LP-mining, the user can claim USD rewards still. They just cannot withdraw their LP until they have met the minimum wait time.

1 Like

Sounds like the option #1 is not easy to implement in terms of computation. Would love to see if there is existing reference from other projects.

For me, the #2 is also accpetable. Along with that, the USD rewards distribution percentage may also need to be re-considered and discussed. The purpose is to incentive LPs, so slightly increase USD reward might be helpful. And also, slightly increase USD reward to SHARE may also be incentive for LPs as of SHARE minig.

For now, If I remember correctly, Seigniorage Mining and Share Mining is separate, will it be combined together? If that’s the case, it’s great incentive to LPs anyway.

Imo we should merge all the LP contracts under one section. Extend the SHARE release to a much longer release cycle but LPs would get rewards from rebase.

In the example of USD

3 pools - All can be used to farm SHARE pro rata - Get 40% of rebase as well
USD/ETH
SHARE/ETH
USD/USDC

Agreed no need to complicate things with more extensive calculations like option 1 etc. I agree combining the pools and simplifying the headache would be much more beneficial. Then slap a 12h waiting period for anyone who wants to take part in the rebases.

I agree with the others that we shouldn’t go with a complicated option that haven’t been tested yet. Lots of projects use timelocks already. If not too complicated, multiple options of timelock could go further in providing long term incentive.

I also agree with merging all LP contracts to mine seignorage and share at the same time, however Im not sure we should extend the release period for SHARE’s emissions, having a fully diluted supply in two months will increase scarcity.

I think all seignorage for pools can be kept in a contract and be distributed like we are distributing SHARE for share mining.

opt 1 AMPL liquidity mining GEYSER works in the right way
opt2 before the LP get min time IMO better LP cant claim the USD (or linear vest ) is better

I think the simple and direct way to do it contract level

1 - don’t change anything except…
2- any deposit to the senoriage pool has a 48 hr timelock for withdrawl. (however the claim function will work during this)
3 - check for bugs what happens when they add more to their existing deposits as that could be a vulnerability.

done and done, and wont need to surgery the existing system as the timelock is just an “add on” to the deposit/withdrawal function.

a snapshot vote to upgrade: https://snapshot.page/#/dollar-protocol/proposal/QmSanQUukSsam5MMSX7u22yWfD8fLiDVwtTrNTnp1uWDh5

after further discussion, here’s an interesting alternative.

Time-weighting everything has a benefit in that it incentivizes LP’s to provide liquidity during negative and neutral rebases.

Once share mining ends, there will need to be an incentive.

Time-weighting will work like this:
1: deposits will be weighted by seconds of deposit * size of deposit (in LP). Let’s call this Staking-Seconds
2: deposits total will accrue during negative/neutral/positive
3: during positive rebase periods, your ownership will be your individual Staking-Seconds / Total Staking-Seconds . Your payout will thus be calculated like so.
4: if you claim seigniorage without withdrawing LP your staking seconds don’t decrease. When you withdraw LP your staking seconds resets to 0

Practically speaking, this staking-second feature can be achieved by looking at SNX’s staking contracts.

Edit: if it isn’t clear, time weighted deposits incentivize liquidity during negative/positive rebases because users who provide LP will own a greater fraction of future rebases.

The current 24-H timelock proposal on LP staking is a good intermediate step but doesn’t provide incentive to provide liquidity during negative rebase

2 Likes

I like this alternative. I’m ready to support this when put to a vote.

Straight forward objective-based solution; known and tested strategy. I support Staking-Seconds.

I’m not sure I understand the rationale for a timelock for deposits.

Time-weighted rewards make sense but in the presence of time weights, what’s the purpose of timelocks other than punishing hasty movers who can’t exit their funds within 24 hours if they change their mind?

Either implement timelocks OR time weights, but if time weights are decidedly on the horizon, timelocks make no sense to me. They provide no added value other than currently preventing pool hopping (which is solved by time weights).

BarnBridge seem to do well with time-weighted rewards on deposits.

we have tested timeweights on ropsten and they work perfect. People’s deposit(s) are function of time * stake amount.

we’ll do a few more testing and release the code for inspection as we prepare to merge into masterr

AN Yupdated @Robert would it soon be merge?