This proposal outlines a new implementation approach for xAlpaca, including aspects such as staking, locking and withdrawal, as well as share calculations, etc. The aim is to serve as an upgrade solution for the existing xAlpaca contract, seamlessly compatible with the interface of the original contract.
Staking
Users can choose to stake their Alpaca holdings from their wallets into the contract or add to their existing stakes. The key difference from old xAlpaca lies in the fact that users only need to specify the staked amount, and the concept of staking duration is eliminated.
Locking and Withdrawal
Users have the option to initiate the unlocking process for either the entirety or a portion of their staked assets at any time.
Upon initiating an unlocking request, a part of the staked assets will remain locked for a fixed period, such as 21 days (parameters subject to governance). After this period, users can withdraw these assets back to their wallets.
Shares
Given the absence of staking durations, shares will no longer diminish over time.
From the moment an unlocking request is initiated, the shares immediately decrease.
About early withdrawal fee, I think we need charge expensive penalty, we need to reduce the number of people using this feature, the 21 or 28 days unlock period is short enough.
We could increase the early withdrawal fee to 0.5% per day, so the highest penalty is 14%
There may be a better implementation but I continue not liking the one proposed here for the following reasons:
The locking period is too low or could be exploited. Someone could anticipate a vote (sometimes proposals take a month or more to be voted) lock their ALPACAS, sway a vote and unlock them again. I believe we need at least 2-3 months of unlocking period with a good enough withdrawal fee.
You are not rewarding long-term holders. It’s true that more people would be encouraged to lock as they could start unlocking whenever they wanted but also they would be more prone to unlock and sell their ALPACAS. As/if the rewards would be distributed equally there would be no motivation to unlock longer than necessary. This could create massive unlocks because of certain events like with SOLANA.
With the current model I see more benefit long-term as people that believe in the future of the project, like myself, that are willing to lock their ALPACA for a year and wait are rewarder more for their patience increasing our percentage of ALPACA owned over time and thence ALPACA that is not going to be in the open market. Also people like me are less likely to sell unless they see a real change in the fundamentals.
If governance changes to the implementation here proposed nothing would prevent me to unlock my ALPACAS when I see a significant price increase and sell. Therefore creating a bad habit for ALPACA holders.
Locking period is fair for both side. It’s not an issue at all.
First I would like to distinguish long-term holders and stakers. We are talking about stakers.
Under the proposed model what I find is the longer people stake, the more reward they will get, in lineal curve. Long-term stakers are well rewarded.
In contrast, with the old (existing) model, long-term stakers enjoy an extra reward while suffer from extra liquidity risk. If you take them all in account, it’s quite difficult to say whether long-term stakers were rewarded or punished.
Maybe you are right. The positive thing I see with this change is the increase in stakers that could favor market price. I would like to see what the team thinks about this.
@Chin@SirIan Thank you for putting the proposal together.
Some comments from me.
1.) I would like to wait for a couple more days to see if there are other feedbacks. I would suggest anyone that would like to see this go to a vote to hit the heart button or reply in the thread as that will indicate to the core team that there are supports for this proposal.
2.) Please specify the exact withdrawals period you would like to propose - whether it’s 21 or 28 days. Then during the AIP process, people can comment on it.
3.) Can you specify that during the withdrawal “cool down” period, would users be able to still earn the staking rewards? I think they won’t, but let’s put that in as well for the avoidance of doubts.
4.) If we do migrate to this new model, my assumption is that we will retire the old model by allowing everyone to withdraw from the current vault w/o any early withdrawal penalty. Is that correct? If not, please help elaborate what you have in mind.
@huacayachief – In the other thread you mentioned a rough effort of 1 month/team.
So that people can also take this into account when making a decision, would it be possible to include:
When/where in the roadmap this would be done? eg ASAP vs Q4
What feature would this replace/push out
OR, alternatively, can we split out the decision on whether we think this is conceptually a good idea from a product perspective, from the evaluation on when/where to fit into the delivery plan?
Regarding the second point on rewarding long-term holders, I believe individuals holding a small amount of ALPACA might be willing to stake it directly for a year. However, those holding a relatively large amount (>= 1 mil ALPACA) might be hesitant due to liquidity risks.
This is just my personal opinion and I will support for voting by xALPACA holders.
From all the staking models I had used in the past the un-bonding periods were much shorter. Fantom - 7 days, LTO - 2 days, Aergo - 0 days, UniDex - no staking - direct voting and getting rewards, etc. So I am quite surprised how people are worried about 21 or 28 days for Alpaca being short, but be it: 21 - 28 days is acceptable.
As for the rewards during unstaking period - from other protocols I recall now, there are no rewards paid from the moment you unstake - so the rewards go only to people who are still staking.
As for the penalty - 0.5 % (for each day before the 21 - 28 days period ends) is acceptable. This way people can choose if they withdraw during the unstaking period and pay the penalty or wait and withdraw only after the period with 0 penalty.
What I am missing in the old model is the transfer of staked Alpaca. When I am changing my wallets I would like to have my staked Alpaca being transferable to my new wallet. I hope it will be possible with the new model we are discussing now. Devs should confirm this. @huacayachief ?
The 21-28 days is short enough. I don’t think there should be any early withdrawal allowed. This will also increase the complexity of the code and development time.
With the new model, xAlpaca would stop decreasing over time.
Does it mean that the new xAlpaca token would be transferable and could also be used for isolated borrowing in AF2?
Having the possibility of early unlocking during the 21-28 days period (and paying penalty in such case) would be good for everyone IMHO:
Reasons for having this feature:
Unstakers can unstake sooner than 21-28 days passes (good for them),
Alpaca protocol and stakers earn the penalty tokens (good for Alpaca),
it does not influence the price - as either they continuously sell after e.g. 2, 5, 10, 12… days (with penalty) or they sell after 21 days, all un-stakers at once and without penalty. So not having the possibility of early un-staking with penalty can ironically cause higher damage to other stakers (no penalty tokens) and to the price as well (basically all un-stakers selling at once).
And yes, the staked Alaca should be transferable - one of the feature that is currently missing - e.g. if our wallet got hacked, we need to move the staked tokens out ASAP.
You can have a look and let me know if there are other aspects you would like to include / Change:
There are some outstanding sub points that were brought up and can be put to votes if the main proposal is passed. I have checked with the devs on these points and they are doable and won’t increase the implementation timeline. These include:
Whether to allow for xALPACA to be transferrable
Whether to allow for early withdraw and impose penalty.
I would like to get more feedback on what people think about the two points above before considering whether to put them up for a vote.
Personally, I don’t think early withdrawal makes much sense and kind of eliminate the point of having the cool down period. Unless you impose a very stiff penalty, people are just going to exit and pay the withdrawal fee.
Yes, staked Alpaca should be definitely transferable - currently Alpaca is the only one which I am not able to transfer to my new wallet - thus it increases the risk of investment, if something happens.
As for the Governance proposal - it is like Magic Triangle of Investing. You can’t max the best outcomes in all three corners (risk / profit / liquidity), but should be able to max at least one of them. But in our case we don’t maximize any of the benefits:
RISK: we might not allow early withdrawal at all (not even with penalty paid),
LIQUIDITY: unstaking period is much longer compared to other protocols which I use (0 days, 2 days, 7 days - and in this Alpaca case, we are offering 21 or 28 days - which to me seems really too long),
PROFIT: during the un-staking period the investor will not receive any rewards (so will be staking 21 or 28 days for free).
So we are not offering anything good within such triangle.
IMO we should either shorter the period (well, we are talking only about 21 or 28 day, so we probably won’t) or we should allow early withdrawal (and pay the penalty + it has other benefits which I mentioned in my previous post - e.g. the selling pressure would be better distributed) or we should pay the staking rewards also to the un-stakers during the period.
Staking is usually treated as a sacrifice of liquidity, while transferrable staking receipts, xAlpaca in this very case, exists as a compensation, especially for those extreme long locking period ones. But the sacrifice will turn low enough after AIP-24, it won’t be a solid point.