Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redemption fee and ability to regain traction #4

Closed
cvalkan opened this issue Jan 18, 2022 · 2 comments · Fixed by #104
Closed

Redemption fee and ability to regain traction #4

cvalkan opened this issue Jan 18, 2022 · 2 comments · Fixed by #104

Comments

@cvalkan
Copy link
Contributor

cvalkan commented Jan 18, 2022

Redemption fee and ability to regain traction

ChickenBonds rely on sLQTY trading at a "premium" over its redemption value to work properly. When the price of sLQTY drops below the redemption value, redemptions become profitable and bonding (including chicken-ups/ins by existing bonders) becomes unprofitable. The aim is to avert these situations as far as possible and design the system such that it can regain traction should it ever happen.

If we assume sLQTY to be trading at its fair price given by (POL+outstanding_bonds)/sLQTY_supply, there should be a "bond premium" as long as there are outstanding bonds. In addition to that, if we go with approach (2) or (4) for DEX liquidity, i.e. exclude the AMM from redemption and don't count it to the POL, sLQTY should also benefit from a (permanent) "DEX premium" as the DEX returns (swap fees) are reinvested to the POL, making it grow faster than based on its own yield. Nevertheless, there's a chance the market would price sLQTY differently from its fair value, so that it could even fall below the redemption value, leading to arbitrage opportunities for redeemers.

We could charge a redemption fee by simply retaining a percentage of the redeemed LQTY. The protocol could use the retained fees in two different ways:

  1. add it to the POL
  2. keep it separate and only compound its yields to the POL (as we do in approaches (2) and (4) for DEX liquidity)

In general, redemptions will result in a larger percentual reduction of the sLQTY supply than the POL, increasing the premium. What doesn't kill us makes us stronger!

However, the two approaches have a different impact on the redemption value, fair price and the premium:

Approach POL fair price overall premium
Add to POL increased increased increased indirectly through higher impact of outstanding bonds (and DEX liquidity)
Keep separate unchanged increased increased directly through a separate premium category

(see this table for numbers)

The premium increase in the second approach is larger than in the first one and permanent, making the overall premium consist of 3 components:

Type Effect
Bonding premium temporary
DEX premium permanent
Redemption premium permanent

On the other hand, the first approach should have a more direct positive impact on the market price, allowing for a faster price recovery (note that the presence of redemptions implies that the market price is below the redemption value, and that the market is currently ignoring the fair price). In other words, the first approach could be better in the short term, while the second one seems better in the long term.

There are different approaches to determine the redemption fee:

  • fixed fee
  • variable fee based on the relative amount redeemed with an exponential decay (similar to Liquity's redemption fee)
  • variable fee based on the total percentage of sLQTY redeemed so far

Fixed redemption fee

The protocol simply charges a fixed percentage of the redeemed sLQTY as a fee on the LQTY. So, if 5 sLQTY is redeemed from a total supply of 100, and the POL is currently 1000 LQTY, then a 1% redemption fee means that the protocol would retain 1%*5/100*1000 = 0.5 LQTY as a fee.

Redemption fee as a percentage of total redemptions (so far)

The fee could be based on the following fraction

fee = total_redemptions/sLQTY_supply

The fee thus has an eternal memory effect.

Decaying redemption fee

Similarly to Liquity, the fee could be a function of the current base rate and the redeemed fraction of the current sLQTY supply:

b(t+1) := b(t) + α * redeemed/sLQTY_supply

In contrast to Liquity, there's no need to cap the fee at a minimum of 0.5% since there are no third parties negatively affected by redemptions.

The advantage of a decaying fee is that it leverages a price segmentation technique: impatient redeemers would usually pay the highest fee since they are not waiting for it to decay to lower levels. This could allow the protocol to generate more redemption fees (and thus lead to a higher premium increase) for the same POL reduction as in case of a fixed fee.

@cvalkan
Copy link
Contributor Author

cvalkan commented Feb 22, 2022

Instead of calculating the redemption fees as a decaying curve like in Liquity, we could potentially use a much harsher fee schedule where the fee goes up to 100% as the system's Acquired Bucket (POL) gets drained. Instead of applying a time decay,
one could subtract any newly minted sLQTY from the total redeemed sLQTY, and use this difference to determine the fee rate. Thus, when new sLQTY gets minted from chicken-in's, the redemption fee would go down again, potentially to 0%.

If the fees accumulate separately as permanent liquidity, redemptions would lead to a decreasing redemption value, while increasing fair price and premium, as depicted in the following chart:
image (1)
(note that the x axis stands for the percentage of sLQTY redeemed so far).

You can see some simple numbers here

While this fee model breaks the invariant of an ever-increasing backing ratio, it likely makes it easier for the system to regain traction due to the increased premium. Eventually, when the system recovers and people start bonding, the redemption fee would decrease, increasing the redemption value again.

@bingen
Copy link
Contributor

bingen commented Jul 2, 2022

During last call we agreed to move the redemption fee to increase the permanent bucket (“keep separate” above) instead of the acquired bucket (“increase POL”).
The reason is that if the fee stayed in the acquired bucket, it would make the backing ratio increase, so it could have the effect of encouraging more users to redeem in a scenario of bank run or massive redemptions, where the backing ratio increase would be significant and would make it harder for the market to react and have the fair price overtake the redemption price again. While it’s true that Liquity-like redemption fee schema would counteract this issue, it would do it only temporary, as users could wait for the decay to make redemptions attractive again, and there’s no certainty that the market price would have gone up enough by then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants