fCash residuals refer to an nToken’s net fCash position after converting its liquidity token holdings into their constituent cToken and fCash components. If an nToken account is a net borrower (if end users have been net lenders) it will hold a negative fCash asset position or what we call "negative residuals". Conversely, if an nToken account is a net lender (if end users have been net borrowers), the account will hold a positive fCash asset position or have "positive residuals".
The existence of residuals can pose risks in the nToken redemption process as redeeming nTokens involves trading fCash for cTokens. If an nToken account has positive fCash residuals (the nToken account is a net lender and the users are net borrowers) an nToken redemption will cause the nToken to borrow from that liquidity pool and push interest rates and the pool's proportion higher. As redemptions occur, the residuals become larger relative to the pool's liquidity and the pool’s proportion sits closer to the boundary.
To mitigate this redemption risk, we set the liquidity pool's AMM curves such that we expect that market forces will lower interest rates and liquidity pools proportions if large redemptions start to occur.
Upon a quarterly roll, an nToken account will keep any existing fCash residuals in its portfolio, and they will become idiosyncratic fCash (ifCash). Read more about quarterly rolls here and ifCash here. This is true for all tenors except for the 6 month as 6 month liquidity pools are rolled into the 3 month pools. Thus only the liquidity pools with maturities longer than 6 months have to buy or sell their fCash residuals upon a quarterly roll.
If an nToken account holds ifCash residuals the nToken can no longer be redeemed. Thus an nToken holding ifCash could not be flash liquidated.
To ensure that an nToken account does not hold ifCash residuals upon a quarterly roll, we introduce an incentive for third parties to purchase ifCash from the nToken account through the residual purchase incentive parameter.
Residual purchase incentives are adjustments made to the oracle rate to calculate the purchase price of residual fCash sitting in the nToken account. The adjustment is denominated in 10 bp increments (i.e. a value of 10 would equate to 100 bps).
The residual purchase incentive purpose is to act as an appropriate incentive for market participants to buy residuals. Thus, the residual purchase incentive should cover the expected trading costs to buy and potentially hedge residuals.
We selected a residual purchase incentive value of 20 (200 BPS) for every cash group initially supported:
In our opinion, the expected trading costs (gas fees and bid-ask spread) associated with buying and hedging the residuals should be ~75 BPS and the premium to attract liquidators should be ~125 BPS for a total incentive of 200 BPS.
Cash withholding buffers are adjustments made to the oracle rate used to calculate the amount of Cash that nTokens need to withhold in order to purchase fCash in the event that the nToken account is left with negative fCash residuals after a quarterly roll.
We selected a cash withholding buffer of 130 (1300 BPS) for stablecoin cash groups and 80 (800 BPS) for crypto asset cash groups. These adjustments to the oracle rates are set at the leverage thresholds interest rates:
The residual purchase time buffer is the amount of time, in hours, that users are unable to purchase nToken fCash residuals following a quarterly roll.
The purpose of the residual purchase time buffer is to mitigate the possible manipulation of the oracle rate before a quarterly roll.
We selected a residual purchase time buffer of 24 hours for every cash group initially supported as we believe it is a sufficient time window for the oracle rate to adjust to market forces upon a quarterly roll: