Author
- Will Johnston
Summary
The Senior Pool’s system of “first come first serve” withdrawals is not serving Senior Pool liquidity providers (LPs) when utilization is high. High utilization has encouraged secondary market sales, which has created a secondary market discount that is attractive for bots to instantly arb once native liquidity is available. This has created a lot of frustration for LPs that are willing to wait for some liquidity. A new system is needed that more fairly distributes incoming capital.
We propose to replace the current system with a bi-weekly withdrawal system where LPs may submit a request to withdraw from the Senior Pool by depositing their FIDU into a withdrawal request.
If there is enough capital to honor all outstanding withdraw requests at the end of the period, all withdrawers will have 100% of the value of the FIDU they requested to withdraw allocated to them in USDC.
If there is not enough capital to honor all outstanding withdraw requests at the end of the period, all available USDC will be allocated to withdrawers pro-rata. In other words, if there is only 80% of the USDC necessary to fulfill all withdraw requests, all withdrawers will receive 80% of the value of the FIDU they’ve requested to withdraw. Withdraw requests that are partially filled will be automatically rolled over to the next period.
Withdrawers may choose to withdraw their allocated USDC at any time. The standard protocol withdraw fee of 0.5% still applies.
LPs may cancel their request to withdraw at any point for a cancellation fee. The fee will be applied to the outstanding FIDU balance of the withdraw request. Proceeds from the cancellation fee will be sent to the protocol reserve.
To prevent small withdrawal requests from receiving an infinitesimally small amount of USDC from a pro-rata allocation, withdraw requests under a certain threshold value will be fulfilled 100% — subject to capital available. This means that if the value of your withdraw request is under the threshold value, you will be able withdraw 100% of the USDC value of your position.
Specifications And Requirements
- The current withdrawal system will be fully replaced by the periodic withdrawal request system.
- LPs seeking to withdraw their FIDU position will deposit their FIDU into the Senior Pool to
request to withdraw. - At the end of the period, any amount of USDC that’s available in the Senior
Pool will be allocated to outstanding withdraw requests. - As soon as USDC has been allocated to a withdraw request it becomes
withdrawable. This means that even if a withdraw request has been partially
filled, whatever has been allocated to it can be withdrawn. If an LP chooses not
to withdraw their USDC in the current period, they may do so any point going
forward. - If the amount of USDC needed to fulfill a withdraw request is below a
threshold amount, the request will be completely filled ignoring their pro-rata
allocation. - If a withdraw request cannot be fulfilled in a single period, it will
automatically be submitted to all following periods until it’s fulfilled.
This proposal requires the creation of the following protocol parameters:
- Senior Pool Withdraw Period Length: The length of the withdraw request period. We are proposing two weeks, but this time period will be configurable by governance.
- Withdraw Request Cancellation Fee Percentage: The percentage fee on outstanding FIDU when a withdraw request is cancelled.
- Pro Rata Withdraw Threshold: The threshold USDC amount below which a withdraw request is fulfilled in full instead of being fulfilled pro-rata.
Examples
Imagine we have two LPs, Alice and Bob, who want to withdraw some FIDU in the first week of January. So they submit withdraw requests:
Name | FIDU Amount | % of total |
---|---|---|
Alice | 100,000 | 25% |
Bob | 300,000 | 75% |
At the time of deposit 1 FIDU is worth 0.9 USDC.
Covered Case (Requests <= Capital)
During the first week of January the Senior Pool receives 400,000 USDC from deposits, principal payments, and interest payments. Because interest payments were received the value of FIDU has appreciated to 1 USDC per FIDU.
USDC Received | USDC Needed | Coverage % |
---|---|---|
400,000 | 400,000 | >100% |
At the end of the two week period, the received USDC is allocated to withdrawers without their intervention:
Name | FIDU Amount | USDC Allocation | % allocated |
---|---|---|---|
Alice | 100,000 | 100,000 | 100% |
Bob | 300,000 | 300,000 | 100% |
Because there was enough capital to cover all withdraw requests, Alice and Bob have 100% of their request allocated.
Some time later, Alice and Bob choose to withdraw their allocated USDC.
Shortfall Case (Requests > Capital)
During the first week of January the Senior Pool receives 200,000 USDC from deposits, principal payments, and interest payments. Because interest payments were received the value of FIDU has appreciated to 1 USDC per FIDU.
USDC Received | USDC Needed | Coverage % |
---|---|---|
200,000 | 400,000 | 50% |
At the end of the two week period the received USDC is allocated to withdrawers without their intervention:
Name | FIDU Amount | USDC Allocation | % allocated |
---|---|---|---|
Alice | 100,000 | 50,000 | 50% |
Bob | 300,000 | 150,000 | 50% |
Because there was not enough capital to honor all outstanding withdraw requests, the USDC is allocated pro rata to the size of the withdraw request.
Alice and Bob can choose to withdraw the capital that’s been allocated to them to partially honor their withdraw request if they want to without penalty.
Without their intervention, Alice and Bob’s remaining FIDU balance is automatically rolled over into the next period’s withdraw requests.
Name | FIDU Rolled Over |
---|---|
Alice | 50,000 |
Bob | 150,000 |
During the following two weeks, the Senior Pool receives 200,000 USDC in principal repayments. Because no interest was received in this time period the value of FIDU remains the same at 1 USDC per FIDU.
At the end of the two week period, the USDC is allocated:
Name | FIDU Amount | USDC Allocation | % allocated |
---|---|---|---|
Alice | 50,000 | 50,000 | 100% |
Bob | 150,000 | 150,000 | 100% |
Because the USDC received was enough to cover all withdraw requests Alice and Bob both receive 100% of the remaining FIDU that they’ve requested to withdraw.
Some time later, Alice and Bob choose to withdraw their allocated USDC.
Analysis
Assuming all FIDU holders simultaneously submitted a request to withdraw 25% of their position, after 6 months they would be able to withdraw 17% of their position. This is pessimistically assuming that the Senior Pool receives no further deposits or principal payments and only receives the current ~500,000 USDC of interest payments from outstanding loans.
Below is a table that shows what a withdrawer should expect to receive after 1, 3, and 6 months given their position size:
Percentile | FIDU Position | 1 Month | 3 Months | 6 Months |
---|---|---|---|---|
50% | 34.63 | 0.95 | 2.84 | 5.64 |
75% | 475.43 | 13.09 | 39.04 | 77.46 |
90% | 4,513.84 | 124.23 | 370.67 | 735.39 |
95% | 21,363.64 | 587.99 | 1,754.33 | 3,480.52 |
99% | 288,209.02 | 7,932.37 | 23,667.05 | 46,954.40 |
99.9% | 2,667,448.09 | 73,416.07 | 219,0444.63 | 434,574.95 |
99.99% | 10,032,068,96 | 276,112.23 | 828,810.17 | 1,634,403.25 |
We have created a model using current FIDU data to simulate how the proposal would effect LPs. The model is available for viewing here.
Benefits
- LPs are able to receive some percentage of their position every period.
- Senior Pool revenue is fairly distributed to those seeking to withdraw.
Downsides
- More complex withdrawal flow. LPs must submit a request and then withdraw
allocated USDC at some point in the future.
FAQ
Will I be able to participate in staking rewards while I’m withdrawing?
No, LPs must deposit their FIDU in order to withdraw it. While their FIDU is deposited they cannot stake it to participate in staking rewards.
Staked FIDU must be unstaked before it can be withdrawn.
Will I earn interest while I’m withdrawing?
Yes, FIDU that was unable to be exchanged during a period will continue to appreciate in value. LPs will still benefit from interest payments that the Senior Pool receives. However, USDC that has been allocated to a withdraw request but the owner has not yet chosen to withdraw will not accrue interest.
Why not a queue?
In a withdraw queue system, if a large FIDU holder were to submit a large withdraw request, they could reserve 100% of the incoming capital to the Senior Pool until their withdraw request was completely filled. This would prevent other FIDU holders from withdrawing any amount of their position.
How will this solution affect bots?
Speed of withdrawal will no longer be an advantage for withdrawing capital from the Senior Pool. Bots will need to submit a request to withdraw that will be withdrawn at the end of the period and will receive their pro-rata amount like all others.
How will this impact the secondary market?
Arbitraging between the FIDU USDC Curve Pool will no longer be possible because it will become impossible to acquire and withdraw FIDU from the Senior Pool in a single transaction.
It will still be possible for individuals to trade on the price difference between the Senior Pool and Curve pools. However, those purchasing FIDU on the secondary market wishing to immediately withdraw it will only be able to withdraw at the start of each period.
It’s reasonable to assume that this proposal could lead to a larger spread between primary and secondary markets.
Voting
Yes: Replace the current withdrawal system with periodic withdrawal requests.
No: No change