GIP-38: Remove no-cost FIDU to backer NFT swap

Authors: landakram

Summary

GIP-03 introduced a way for FIDU holders to move their Senior Pool positions into open backer pools without incurring withdrawal costs (colloquially referred to as “zapping”), given available USDC liquidity in the Senior Pool. This functionality should be removed, as it siphons USDC liquidity from pending withdrawal requests and makes withdrawal timing uncertain.

Motivation

  1. As of block 16385812, the Senior Pool currently has ~20.8M FIDU of withdrawal demand. As described in GIP-25, as USDC liquidity becomes available in the Senior Pool, either by borrower repayments or new deposits, available USDC liquidity is allocated pro-rata to withdrawal demand, so long as withdrawal demand exceeds available liquidity.
  2. Based on the high withdrawal demand, borrower repayment schedule, and current macroeconomic environment, the Senior Pool likely faces a low liquidity environment in the short to medium term (~1 year). If we assume no additional deposits and full repayment by borrowers, current withdrawal demand will be met in Feb 2024, when several backer pools repay principal.
  3. In accordance to GIP-03, when FIDU holders “zap” their positions to backer pools, they move available USDC in the Senior Pool into a backer pool of their choosing, with a maximum value constrained by their position size and available USDC in the Senior Pool.
  4. Since zapping uses available USDC, it takes this liquidity away from pending withdrawal demand. This means that withdrawal demand may not be met in Feb 2023. In fact, it is not possible to estimate when a given withdrawal request may be fully fulfilled as it depends on the volume of zapping over the same time period. In short, zapping unfairly takes precedent over withdrawal demand with respect to use of Senior Pool available USDC liquidity, which is unfair and makes capital planning even more difficult.
  5. The unfairness problem is exacerbated if Goldfinch brings deals with shorter time frames. Currently all backer pools have loan terms of 3 years. If Goldfinch brings a deal with a 6 month term, for example, then a savvy investor might zap their Senior Pool position to this pool and exit within 6 months, bypassing the pro-rata distribution enforced by GIP-25.

Specification and Requirements

Specifics

  • The ability to zap Senior Pool positions to backer pools would be removed at the smart contract level, as well as from the UI present at app.goldfinch.finance.
  • Removal would involve removing the following functions: zapMultipleToTranchedPool, unzapMultipleFromTranchedPools, claimMultipleTranchedPoolZaps, zapFiduStakeToTranchedPool, zapStakeToTranchedPool, claimTranchedPoolZap, unzapToStakingRewards, as well as associated internal functions and specialized roles that allow zapped funds to bypass withdrawal fees.
  • The functionality to move Senior Pool positions to FIDU-USDC curve pool would not be affected by these changes. Moving a Senior Pool position to the curve pool involves only a FIDU transfer and does not affect any USDC liquidity in the Senior Pool, and therefore is not in scope for this proposal.

Benefits

  • It would no longer be possible for investors to bypass the withdrawal queue and use available USDC liquidity on a non-pro-rata basis to exit the Senior Pool to another Goldfinch investment.
  • Investors with pending withdrawals would have better visibility into when their withdrawal becomes fully liquid, based on the loan repayment schedule.

Downside

  • Zapping allows available USDC liquidity to be re-invested to grow Goldfinch’s loan-book and TVL (by reinvesting interest payments). By removing zapping, we would be removing a tool for growth, in favor of meeting withdrawal demand that is ostensibly more clear and fair for Senior Pool LPs seeking liquidity.

Voting

“Yes” - Remove ability to zap Senior Pool positions to backer pools

“No” - Continue to allow zapping Senior Pool positions to backer pools

Resources

1 Like

It seems that these changes will really make the whole situation more fair for those expecting to withdraw from the senior pool. So at the current stage I support this proposal, and if the situation with liquidity in the senior pool normalizes in the future, we can return the previous functionality

I support this proposal. I vote YES