GIP-10: Remove 12-month Vesting Requirement for Senior Pool Liquidity Mining

Summary

To encourage continued capital in the Senior Pool, maintain growth, and reduce complexity, we propose removing the 12-month GFI unlock schedule of Senior Pool Liquidity Mining. We also propose a fair way to treat existing Fidu stakers while rate-limiting the total amount of GFI that unlocks at once.

Motivation

The Goldfinch protocol has been consistently growing. The Senior Pool is currently at 87% and will soon be near 100% utilization after the Cauris pool closes. So it’s necessary to increase and encourage more Senior Pool capital in order to facilitate more growth. While there are many ways to help increase Senior Pool capital, the Warbler Labs team has conducted LP research and has heard from a number of LPs that the current vesting system which requires 1 year to achieve full rewards makes the Senior Pool a non-starter. We believe therefore that removing Senior Pool unlock schedule will drive more capital to the Senior Pool. It also has a few other benefits. Here is the core reasoning:

  • During our interviews, LP’s consistently said that the current unlock schedule is confusing. “Is the GFI locked?” “Is it vesting?” “What rate do I actually earn?”
  • We’ve also heard feedback that the fact that you don’t actually earn the full rate for 12 months makes the Senior Pool a “non starter” even though it would otherwise be attractive. This is because a.) 12 months is an eternity in crypto and most LPs compare protocol rates across shorter durations, and b.) The volatility of the GFI price means that over a 12 month time period, the actual returns could vary significantly, which pushes LPs to heavily discount the GFI APY
  • The non-standard unlock schedule has also led to increased technical complexity and reduced the Senior Pool’s composability. One specific example was in implementing GIP-03. Basically anytime we want to allow Goldfinch funds to be used for other purposes from the Senior Pool, we need to think about or track the vesting and unlock of other funds, and this adds significant complication. Removing the vesting would pave the way for simplifications at the smart contract level, thereby increasing security and reducing attack vectors.

Specification and Requirements

Removing vesting is pretty easy from a technical perspective. It would require a small smart contract change on the Staking Rewards contract. For existing stakers, we also propose having an unlock period for the rewards that would have been forfeited.

Before diving in, here’s some principles we tried to adhere to for the approach

  • Make sure the approach does not hurt existing FIDU stakers in any way compared to new stakers. So our proposed system allows existing stakers to simply unstake and re-stake to start earning new yield without unlocks
  • We wanted to create a more controlled release of GFI, rather than a significant jump all at once.

Effect on circulating supply

See the data section below, but as an upper bound we estimate this proposal could lead to an additional ~500k GFI, or about 6.5% of circulating supply. That is an upper bound, because it assumes all LPs withdraw and sell at once, which is unlikely. Another ~1.1M GFI would unlock over the next 8 months, which is the same as what would have happened if the LPs maintained their positions the whole time.

Specifics

  • Everyone (including existing FIDU stakers) would be eligible to remove their stake at any time and receive the full value of their earned GFI liquidity mining rewards for the time they have vested at withdrawal.
  • When existing FIDU stakers withdraw, the part of their GFI rewards that would have been slashed will instead not be slashed and will unlock over their remaining 12 month period.
    • This will create a more controlled release of GFI. See more on why below for data and rationale.
  • Existing FIDU holders can re-stake to earn the new rate with no unlock going forward.
  • Example: Sally stakes $1000 FIDU on Jan 15th. Now let’s say that 5 months later, on June 15th, she has earned 100 GFI. Let’s compare her experience of withdrawing under the current and the newly proposed system.
    • Current system: On June 15th, Sally is 5/12 into the 12 month vesting period, so her 100 GFI would be slashed and she would only earn 5/12 of that, or 41.67 GFI now and 0 GFI later.
    • New system: She would receive 41.67 GFI now, and the remaining amount — that would have been slashed — of 58.33 GFI would unlock over the remaining 7 months between June 15 and the next Jan 15.
  • Thus, for all existing holders, they receive the same GFI now, and more GFI in the future. Existing holders can also simply restake at any time to begin earning rewards with no unlock or vesting.
  • For new FIDU stakers after this is implemented, they can also stake and unstake at will, with no unlock period or slashing.

Data

Due to the slashing mechanisms, it’s difficult to get an exact amount of GFI that will be unlocked, but here’s an estimate using a few variables from the the StakingRewards contract.

  • currentEarnRatePerToken = 1940349979
  • stakedSupply = 85523065007405452356446258 .
  • Thus, earn rate * supply / GFI decimals = 1.65E17 = 0.165 GFI per second .
  • As of May 2nd, it’s been 111 days since Jan 11th (launch day)
  • 0.165 * (60 * 60 * 24 * 111) = 1,582,416 GFI earned since launch
  • Which is 1.38% of the total GFI supply (1,518,416 / 114,285,714)
  • It also is a roughly 20% increase in the circulating supply (~7.6M) **** if we unlock everything at once
  • With the version outlined above, however, we would instead unlock roughly 1/3 of that now (4 / 12 months) and thus a ~6.5% increase in circulating supply would unlock now , and the rest would unlock over the course of the next 8 months

Benefits

  • It should encourage more Senior Pool capital, which can in turn be lent out for continued growth.
  • If capital continues to flow in, then as the target is reached and exceeded, the rate of rewards will decrease due to the dynamic distribution rate. This could in fact save the protocol tokens.
  • This reduces complexity and increases composability of the overall system, and makes it easier to allow for capital to move between various “places” that the Goldfinch ecosystem may want to incentivize (eg. Borrower Pools, or in the future, other protocols or staking mechanisms)

Downside

  • It could encourage more sell pressure on the GFI token, which could have a negative price effect. However price movement is hard to predict, and this is countered by the long-term positive impact of growing TVL and active loans, which is much more important for the protocol’s lasting health and success than short term price movement.
  • Though it does not actually affect Backers, it would make being a Backer less attractive from a relative standpoint compared to the Senior Pool.

Voting

“Yes” - Remove Senior Pool unlock schedule so that the same reward rate is earned regardless of the length of time that FIDU is staked.

“No” - Do nothing and maintain the current unlock schedule.

Resources

5 Likes

Much needed. I believe the proposal is aligned with the long-term value of protocol and its growth.

I vote “Yes”

I’m in favor of the proposal. We’ve heard the same feedback. Plus this helps facilitate GIP-03.

Thank you for putting it together.

An additional downside not mentioned would be increased supply volatility of the senior pool. Having no incentive for keeping the FIDU in place for the full 12 months means that more FIDU investors are likely to jump in/out, which makes senior leverage for borrowers more difficult to predict (though the USDC-FIDU Curve Pool may help mitigate this somewhat).

The challenge with RWA DeFi is that the DeFi yield curve is extremely compressed, so a 1 year duration in DeFi feels extremely long, but in the real world, 1-3 years duration is still considered very much short term.

Removing the vesting mechanism basically turns the FIDU from a 1-year investment into essentially a 0-day money market. So removing the vesting mechanism without decreasing the rewards/interest rates means the borrowers and Goldfinch are getting a less-than-optimal deal (paying out 1-year returns on a 0-day deposit account).

Perhaps what might make more sense is having a super-senior tranche - the super senior tranche would act as a deposit account (so a slightly lower yield, slightly lower rewards), and the senior FIDU would remain as-is. In this case, the super senior depository tranche would effectively compete against the likes of aUST at an all-in APY+rewards rate of ~10-15%, and the FIDU can still retain the 12 month reward vesting structure. This would bifurcate the crypto-native FIDU holders with very short investment horizons from the FIDU holders who still see a 12 month duration as a short term investment, and may either lower the overall cost of capital for borrowers, or increase the returns for the back tranches even further (depending on how these deals are structured, there may be a way to capture both).

2 Likes

@JeremyKim This is an interesting point, and that could be a potential downside. However, I think this is unlikely to be an issue because the current yields on Goldfinch are higher than what DeFi appears to be demanding today, so I would expect excess capital to come into the pool until the rates net out to the 10-15% rate you mentioned. This means there would always be some excess capital in the senior pool that would give borrowers more assurance of capital availability, and make it more predictable.

Net-net, I think this excess capital will provide more predictability than the current 12-month vesting, because our research at Warbler with potential LPs suggests a lot of capital is sitting on the sidelines due to this vesting.

That said, I think the super senior tranche idea is really interesting and definitely worth exploring. And to expand on that even more broadly, to think of different ways to allow people to receive higher yields for a willingness to commit to longer durations.

3 Likes

I vote “Yes”. Thanks for putting up this proposal!

I thought the original thesis for 12 month staking was highly compelling. It provides a differentiated product than the rest of defi by ensuring liquidity incentives are aligned with the longer-term nature of its investments. And all things equal, 12 months is not long - I thought it was well thought out and a great middle ground. Otherwise the protocol is throwing it’s hat in the ring with the rest of the market - short-term, yield seekers that have made defi very difficult to articulate to tradfi.

I think this will help TVL in the short-term.

I think this will bring the protocol back many steps in the long-term.

Agreed. More specifically - a formal term structure/yield curve does not exist in DeFi yet, and its these sort of lock-up/vesting structures that form the beginnings of such a yield curve.

If the 12 month vesting was the main blocker for these sources of capital to participate, what is the expected “stickiness” of this capital? What would motivate them to call back this capital to redeploy it elsewhere? I think if the main impetus for removing the vesting structure is to access this capital sitting on the sidelines, then it’d be important to better understand the motivations behind this capital.

This sort of super senior tranche idea isn’t new - a lot of existing term ABS structures have a super short duration (in TradFi terms) money market-type tranche that attracts a specific type of investor.

Hey Chris,
Always appreciate your thoughts. It sounds like the main concern you have is around attracting the shorter term capital. Which I think is fair. I think there’s two potential ways to balance that concern with the issues raised in this GIP (namely attracting more absolute amount of capital, and also reducing complexity/improving interoperability by not having the lockup)

One would be to have a “base rate” that people earn when they LP into the Senior Pool, but then they earn a higher and higher rate as they leave capital in. This might attract some more of the capital that’s “on the side lines”, because at least they’d be earning something. Rather than right now, I think the fact that you earn effectively zero additional yield until you’re in for 3-6 months pushes a lot of people away. This approach would, however, maintain the existing complexities of having to track individual yields for everyone, and people worrying about “losing their place” if they were to move over to say, a Borrower Pool from the Senior Pool.

Secondly, you could have a base rate with no lockup, but also a “lockup” multiplier. That is, if you want to be long-term oriented, you could get a 2X multiplier (for example).

Between those two, I like the second system because you maintain the simplicity. There’s only one rate. It’s much easier to explain a “lock up boost” than what we have now. Also, no one worries about “losing their place”. But you still reward long-term capital.

I’m not necessarily suggesting this proposal should include either of those right now. But I’m curious what you think about something along those lines? Like basically if there was a way to encourage long-term capital while still simplifying the story and explanation of the system.

My feeling on this questions is that the key thing that’s missing is “liquidity”. More specifically in this case it’s that the number we tell them isn’t actually the number. The additional complexity makes it hard to understand and seem like they’re getting a bad deal.
A bit more abstractly… I think there will always be an array of different “liquidity profiles” that want to participate in Goldfinch. And right now we’re only catering to long-term aligned people, which has implications for the total TVL that is available. There’s perhaps a separate question of how much should the protocol pay for those different liquidity profiles. Because it’s perhaps worth remembering that the protocol can simply decrease the rate if we think we’re giving away too many tokens. And @chrisadamhuang , let’s say we had more short term capital show up, but we didn’t give away any tokens, are you still concerned (ie. a volatility issue)? Or do you implicitly think the problem is that we’ll “pay too much” for the capital?

I think fundamentally this comes down to a supply/demand cost of capital issue. If we think we’re “giving away too many tokens” or “attracting short term capital”, then I would say let’s decrease the rate, but still remove vesting.
That’s because I think removing vesting gives us a simpler system that’s more flexible. We can then adjust the other parameters to get what we want. We can add lockups to encourage long term capital, or we can reduce the rate if we think we’re “paying too much” for it.
Side note: on the “paying too much bit”, it’s important to remember there already is a dynamic rate of tokens. So @chrisadamhuang , this actually gets at your issue. If we see a flood of short term capital, well guess what, the token rate is going to drop a lot (actually to zero if it crosses $200M right now). That means we will automatically “find the level” of what short term capital is willing to pay. But we could still reduce it further if we wanted.

Curious to hear y’alls thoughts @JeremyKim and @chrisadamhuang

In support of the proposal… I vote ‘Yes’.

Not so much that somebody “pays too much” for capital, but rather, in tradfi securitizations, it is not uncommon to see a money market tranche that amortizes very quickly relative to the rest of the deal, paying money market rates. Rating agencies will rate these against their money market ratings scales rather than their traditional structured finance rating scales.

Some examples (note that these are super-senior to even the AAA rated tranches):

  • COPAR 2022-1 class A-1 (credit card deal, rated A-1+/F1+)
  • EART 2022-2 class A1 (subprime auto deal, rated A-1+)

Not so much of a concern, but rather an inefficiency. There is clearly capital willing to be locked in a senior credit for 12 months, and lots of capital not willing to be locked in a senior credit for 12 months. Why not have two separate senior tranches to address both sets of investors?

… Is what my non-developer, structured credit mind is thinking. However, I do understand that there are benefits in just keeping things as simple as possible for the crypto-native, non-structured credit savvy investors by keeping the structure to be unitranche (as-is) and just adjusting the vesting to 0 days, and adjusting the different levers as you go.

Perhaps it may be too soon (at least for the Goldfinch platform) to impose a traditional yield curve/term structure, and this sort of “reset” is needed to come up with a better way to marry the term structure of the underlying RWA with DeFi investing sometime in the (hopefully near) future.

1 Like

@lakhan from Discord asked a great question in the #fintech-tradfi-lounge channel, and I wanted to address it here so all could see. His question was…

So, as far as I can tell the proposal on Frax for an authorization of upto 100M$ in Senior Pool has passed. Congratulations to the team.
I wanted to understand how does that impact GIP-10. The primary objective for this proposal was to increase the capital in the Senior Pool by making the GFI rewards structure simpler for LPs. With the addition of 100M$ in the Senior Pool, is it crucial to remove the existing vesting schedule to attract more capital? Secondly, the total pool balance will cross 200M$ in a matter of time (given the 100M$ boost) and post which, the GFI rewards will anyways stop for the Senior LPs. (Unless the governance votes to increase the target balance)
Curious to know what the team thinks about this

Great question. My thoughts are the following…

  1. Regarding Frax… do we still need this proposal if Frax is going to put in $100M? I think the answer is yes. And the reason I think that is because removing the vesting simply creates a simpler and more flexible design. As I alluded to in other reply’s here, any contentions (ie. short term capital will flood in) can be addressed through other mechanisms (eg. by lowering the base rate, even to zero! But giving tokens away to those who specifically lock up). Rather than what we have now which forces everyone to lock up all the time. I think for me personally, I’ve come to the general principle that when designing these systems, we should default to having the most flexible thing “on the bottom”, and then build in other things on top. And having no vesting is definitely the most flexible, and we can build in lockups on top if we want. We’ve already run into numerous engineering complexities because of this forced lockup thing, and I believe it will still be best to remove it.
  2. Regarding the rewards hitting zero if it crosses $200M. → Yes that’s totally correct. Rewards would go to zero after $200M. I think in this case, then yeah we would consider raising the cap if we think that will be helpful.
1 Like

Hey everyone,
Sid here from Index Coop. I am a big fan of the Goldfinch community, and have been following the progress closely.
At Index Coop, we proposed the $REAL index where we aim to provide tokenised access to yield from various uncollateralized RWA lending protocols like Goldfinch, Centrifuge etc.

The senior pool position ie FIDU token is an attractive component of the index as it is inherently diversified with debt provided accross Goldfinch borrowers, can be acquired easily from the Curve pool, and LM rewards to make the yield more attractive.

However, a vesting schedule on the LM rewards complicates things quite a bit. Index Coop products are built on top of Set Protocol, which has limited infrastructure ready to work with intrinsically productive positions like staked or LP positions, and a vesting schedule adds to the complexity of the integration. It also makes deriving the Net Asset Value(NAV) of a position a little bit more complex, as traders/bots make sure the Index price on DEXs is close to NAV by minting and redeeming when the NAV to DEX price deviation crosses a certain threshold. A vesting schedule make this process slower and confusing.

While some of the LM reward integration is still being discussed, I believe removing the 12-month vesting requirement is a huge positive step for us to work alongside Goldfinch to distribute access to attractive Real World Yield to our community.

Big thanks to Blake, @greg & @alvinh for answering my questions over the last few months as we navigate this.

3 Likes

Yes
it can be useful

I am ValJean, one of the strategists working on Goldfinch’s Senior Pool integration with Yearn.

Goldfinch protocol would be a great addition to the USDC yVault as it includes stable yield from RWA financing, which is uncorrelated with crypto.

The current linear vesting structure poses a challenge as yVault requires semi-frequent adjustments according to user deposits & withdrawals, and re-balancing of vault strategy weights.

I am personally in favor of removing vesting, given the potential for capital inflow and composability with other protocols such as Yearn, which far outweigh the downsides discussed above.

1 Like

Update:

Council has approved the proposal.

Update: executed.