# fCash residuals

## fCash residuals

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*".

## nToken redemptions

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.&#x20;

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.

## ifCash residuals

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](https://docs.notional.finance/notional-v2/quarterly-rolls/tenors) and ifCash [here](https://docs.notional.finance/notional-v2/quarterly-rolls/idiosyncratic-fcash). 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.&#x20;

## Residual purchase incentive

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).&#x20;

### Purpose of the residual purchase incentive

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.

### Selected parameters&#x20;

We selected a residual purchase incentive value of 20 (200 BPS) for every cash group initially supported:

| Cash Group        | Residual purchase incentive |
| ----------------- | --------------------------- |
| **Stablecoins**   |                             |
| USDC              | 20 (200 bps)                |
| DAI               | 20 (200 bps)                |
| **Crypto assets** |                             |
| ETH               | 20 (200 bps)                |
| WBTC              | 20 (200 bps)                |

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 buffer

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.

### Selected parameters&#x20;

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:

| **Cash Group**    | Cash witholding buffer |
| ----------------- | ---------------------- |
| **Stablecoins**   |                        |
| USDC              | 130 (1300 BPS)         |
| DAI               | 130 (1300 BPS)         |
| **Crypto assets** |                        |
| ETH               | 80 (800 BPS)           |
| WBTC              | 80 (800 BPS)           |

## Residual purchase time buffer

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.

### Purpose of the residual purchase time buffer

The purpose of the residual purchase time buffer is to mitigate the possible manipulation of the oracle rate before a quarterly roll.

### Selected parameters

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:

| **Cash Group**    | Residual purchase time buffer |
| ----------------- | ----------------------------- |
| **Stablecoins**   |                               |
| USDC              | 24 hours                      |
| DAI               | 24 hours                      |
| **Crypto assets** |                               |
| ETH               | 24 hours                      |
| WBTC              | 24 hours                      |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.notional.finance/governance/ntokens/fcash-redisuals.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
