[NIP-51] List a Curve USDC/pyUSD leveraged vault (Mainnet)

Summary

We propose listing a USDC Convex leveraged vault on Notional V3 Mainnet. The vault would allow users to borrow USDC from Notional’s Mainnet deployment at a fixed or variable rate and LP the proceeds in the Convex boosted Curve USDC/pyUSD pool to earn pool rewards.

Proposal & parameters

We propose listing a USDC leveraged vault using the Convex boosted Curve USDC/pyUSD pool as a strategy. We propose listing that leveraged vault strategy with the following parameters:

Vault Parameters Proposed Value
LiquidationRate 1.03 (3%)
MinCollateralRatioBPS 0.11
MaxDevelerageCollateralRatioBPS 0.19
MaxRequiredAccountCollateralRatioBPS 1.00
Maximum vault capacity 8,000,000 USDC
Minimum borrow size 100,000 USDC
feeRate5BPS 20 (100 BPS)
ReserveFeeShare 80%
Strategy Parameters Proposed Value
maxPoolShare 20%
oraclePriceDeviationLimitPercent 1.50%

By adding this leveraged vault strategy to Notional, the protocol will effectively accept Curve USDC/pyUSD pool tokens as collateral. We propose setting the maximum vault capacity up to 8,000,000 USDC to cap the maximum amount of USDC that can be borrowed from Notional to enter that specific strategy. In practice Notional governors will increase the maximum capacity of the vault in line with demand and USDC liquidity up to the 8,000,000 USDC maximum vault capacity threshold. We propose setting the maximum pool share at 20% such that users won’t be able to enter the vault if the protocol already holds more than 20% of Curve USDC/pyUSD pool tokens.

We propose setting the maximum leverage at 10.1X such that if a user deposits 100,000 USDC, he can at a maximum borrow 909,100 USDC from Notional to LP in the Curve USDC/pyUSD pool. This maximum leverage ratio (minimum collateral ratio) aims to protect the protocol against a large decrease in the pool’s token value. Setting the strategy’s maximum leverage ratio at 10.1X ensures the protocol would be protected against a decrease of -7.2% in the pool’s token value (USDC/pyUSD LP tokens) relative to the vault’s borrow currency (USDC). It’s important to note that the vault’s maximum leverage ratio is set as a precautionary buffer to protect the protocol against a decrease in the value of pool tokens relative to users’ debts.

We propose setting the MaxDeleverageCollateralRatio at 0.19, this implies that a liquidator can lower an account’s leverage ratio to 6.3X if it ever breaches the max leverage ratio of 10.1X. This ratio is set such that an account that gets liquidated will subsequently be able to withstand another large decrease in the strategy token price before becoming eligible for liquidation again thereby lowering the risk of an account being liquidated multiple times in a short period of time.

We propose setting the minimum borrow size at 100,000 USDC and the vault liquidation discount at 3%. These parameters aim to maximize the likelihood of successful liquidations under stressed market conditions (ex: high gas environment). To do so, a liquidator’s revenue from the liquidation discount must be sufficient to cover liquidation expenses (gas cost, slippage, Dex fee, price basis). By setting the minimum borrow size at 100,000 USDC and the liquidation discount at 3%, liquidators will likely receive at a minimum 3,000 USDC. Based on historical market conditions such a liquidation discount is likely cover a liquidator’s expenses under most scenarios.

We propose setting the leveraged vault fee at 1.0% such that borrowers will pay a 1.0% premium on their borrow rate when entering the vault. We propose setting the reserve fee share at 80% such that 80% of the borrow premiums will go to Notional reserves and 20% are paid to nUSDC holders.

We propose setting the oraclePriceDeviationLimitPercent to 1.50%. The oraclePriceDeviationLimitPercent prevents users from entering or exiting the vault if the implied pool prices deviate from the oracle prices by more than 1.5%. This parameter mitigates oracle attack vectors while being flexible enough to ensure user can enter and exit the vault even if oracle prices slightly deviate from on-chain prices in between updates.

Risks

Oracle

We propose using the Chainlink pyUSD and USDC oracles to check that the implied Curve pool exchange rate is in line with the overall market.

Liquidity

There is a risk that pyUSD liquidity vs USDC decreases over time. In such a situation, it could be the case that it is impossible to flash liquidate an account breaching the Notional’s maximum leverage ratio. By listing this leverage vault Notional implicitly accepts pyUSD as a collateral asset.

The pyUSD liquidity risk can be somewhat mitigated by capping the protocol’s exposure at 20% of the pool and by setting the maximum vault capacity in line with Notional’s USDC liquidity.

Resources