Price Discovery Mechanism For veFXS Rage Quitting

I introduce this proposal in order to initiate discussion around this concept and formally start a Request for Comment brainstorming session among the interested Frax community. This idea is very much still in its ideation phase and I would like the community’s support in gathering data and suggestions that would allow for a better understanding on how best to implement such a mechanism.

A veTokenomics Rage Quit mechanism refers to a dynamic in which the protocol allows the immediate premature unlocking of a given user’s veFXS position. If implemented in such a way that the user incurs a sizable enough penalty to discourage unlocking unless critically necessary, while still being reasonable enough that it remains a feasible option when the user encounters a personal liquidity crisis, this creates a mutually beneficial symbiotic relationship among all parties involved. The user gains access to liquidity from an illiquid asset, while the protocol accumulates veFXS at an increasingly appealing discount.

Thus we arrive at an interesting conundrum, what’s the optimal way of dynamically quantifying the market price of rage quitting? I presented the following idea on the telegram chat last weekend and received positive feedback, so I figured I would formally elaborate further in the governance forums. I believe the rage quit fee should be the product of two variables; the elapsed portion ratio of the time horizon given a position’s unlock date, and an elastic representation of the current demand for rage quitting.

rage_quit_fee = elapsed_time_ratio * elastic_demand

The first variable is much easier to understand so let’s get it out of the way. Elapsed Time Ratio refers to the percentage of time that has already elapsed along the total timeline of an individual position’s unlocking timestamp. Thus if the position currently finds itself halfway along a four year lock up period, this would become a 50% multiplier, while if it happened to be three years instead it would only be 25%, etc. It can therefore be represented as the following formula:

elapsed_time_ratio = unlock_timestamp - current_timestamp / unlock_timestamp - lock_timestamp

The elastic demand side of the formula is more subjective and could be quantified in countless different ways, but here I will present one such option and hopefully successfully communicate the reasoning and economic incentives that this version of such a parameter tries to uphold.

First of all, we need to determine a range along the existing supply where the protocol is willing to rehypothecate a given position at a specific discount. My recommendation would be to use the ratio of locked FXS divided by the FXS total supply and apply it as the boundaries of the rage quitting price curve for veFXS. This means that the larger the ratio of locked tokens is the more the curve smooths over, while the lower the ratio is the sharper the slope becomes, and thus allows the price curve to elastically track the ratio of FXS tokens currently locked at any given time.

It would therefore be increasingly more beneficial for veFXS holders to encourage a high ratio as it lowers the costs of rage quitting for all users if the individual necessity manifests itself. Coupled with a stronger use case such as being able to take FRAX loans against your position (a suggestion for another day), this could potentially create an environment in which the economic incentives of deciding to lock your FXS becomes a much more attractive proposition.

For example, with a total supply of 100M FRAX, of which 10M FRAX is currently locked into veFXS, the price curve would be distributed along the equivalent 10% of the veFXS to quantify the cost of the penalty. Meaning that if someone tried to unlock 10% of veFXS (the max amount) with the previous parameters, they would be subject to the maximum point along the price curve, before being multiplied by their elapsed time ratio.

So hypothetically speaking, if someone locked a position that would equate to 10% of the veFXS supply for the maximum time horizon of four years, and instantly regretted that decision, the corresponding penalty would equate to the full amount of their position. Obviously this specific scenario is probably not practicably feasible but is presented only to demonstrate the theoretical upper limit of the penalty, ie a 100% rage quit fee.

Let’s examine a less egregious example for comparison. In a scenario with only 5% FXS locked, in which someone tried to unlock a position equivalent to 2.5% of the veFXS supply, they would be penalized at the halfway point of the price curve, or 50%, before being multiplied by their individual elapsed time ratio. By design this would need to be a logarithmic growth curve (think constant product rotated ninety degrees clockwise) since realistically speaking most positions would be relatively small in comparison, so the penalty needs to rise exponentially.

It would also be wise to implement a lower boundary equivalent to the minimum discount accepted at the zero elapsed time frame in order to account for small positions at the lower end of the price curve. I would like this parameter to also be dynamic but have not personally come up with an interesting way to programmatically quantify that.

Just to reiterate, the supply impact of your position being unlocked determines the elastic demand along the price curve, which can be represented by the following formula:

elastic_demand = position_size / ( locked_FXS / total_FXS ) * ( total_veFXS - protocol_veFXS )

I would like to mention that I do not have a math background so there’s probably a significantly more elegant way to quantify the rage quit fee than the option presented here. This is just a minimum viable prototype being used to initiate the discussion for what I think to be a relatively simple problem with a comparatively simple solution.

5 Likes

I believe it is a good idea for people who are genuinely in an emergency situation. But we have to balance the punishment to not penalize too harshly someone who wants to exit due to an emergency and the fact that weak hands will use it to sell out of fear and out of greed.

I have seen it being used on Defi Kingdoms and there it is a 50% penalty. For a more degen project I think 50% is suitable but for a more dignified and serious community like frax i think 35% would be more appropriate. A rate too high and it seems like a tokenomic mechanism designed to punish weak hands and extract their tokens. And if its too look its simply not enough of a disincentive from exiting the lock whenever the price has moved up significantly. If your bag rose 40x in price are you going to at all be deterred by a 15 % penalty?

4 Likes

Hi Hollowgrahm, Thanks for actively participating in our forum and governance system. I like your approach to formulating Rage Quitting fee calculation, and this is actually the spirit of Frax Finance. But I think first we need to figure out if our veFXS owners are interested in having any unlocking mechanisms for veFXS with a TEMP CHECK proposal, and then we can follow up with a more detailed proposal along with the formula and details.

2 Likes

I like this proposal

Where did we get to with this please? There’s been some recent activity but the original post is from Feb I believe?

Loose thoughts FWIW is that I’d be supportive. The dynamic element is a good one but needs to be worked through some different scenarios (particularly black swan type events).

Also what can we learn (if anything) from other ‘ve’ models (i.e. Velo, Aero) where you can just sell your veNFT position at the going market discount to exit?

This is a good proposal and a proposal vote should be launched

I think it is necessary to provide a mechanism, which has great significance for the upgrade and circulation of fxs tokens. 1: The mandatory 10-day unlock waiting time of the rage quit mechanism 2: Confiscate 10% of the money as penalty