Recently the v2 cCOMP market has seen high utilization, with total borrowings currently at the 90,750 COMP borrow cap. This implies that market parameters are not well optimized and some users are taking advantage of artificially compressed borrowing costs.
The borrow cap on COMP was initially set to prevent governance manipulations, but with recent votes showing strong participation (typically 500,000 COMP or more) and proposal threshold already well below the cap (25,000 COMP required to submit a proposal) without negative effects, I think that it may be safe to increase borrowing caps to allow for more utilization and greater cCOMP yields (particularly valuable considering recent removal of COMP incentives to cCOMP suppliers).
Additionally, I think adjusting the interest rate model could help improve market dynamics. Higher base rate could help improve cCOMP yield, and higher optimal rate with a lower kink point could help avoid situations where borrow rate is kept artificially low when hitting the cap.
Set cCOMP borrow cap to 150,000 COMP
Update cCOMP interest rate model:
Base rate: 5%
Optimal Rate: 25%
Max Rate: 250%
Impact in existing market conditions:
Utilization is currently at 8.6% and running up against the 90,750 COMP borrow cap, with 5% borrow rate and 0.32% supply rate. After implementing the above changes, the borrow and supply rates would be 8.3% and 0.53% respectively. If borrowing returned to the new cap (150,000 COMP, 14.3%), this would result in borrow and supply rates of 10.7% and 1.1%.
If anyone has input on ideal rate model or borrow cap parameters please give your input! If there’s support for adjusting the cCOMP market, I’ll push forward a proposal for the final consensus parameters.
Planning to move this proposal on chain in the next week unless there are any objections!
Update on market status and impact on proposed changes:
While total borrowed remains at the 90,750 COMP borrow cap, utilization has increased to 15.8% due to recent withdraws. This yields a current borrow rate of 7.18% and supply rate of 0.82%.
Assuming constant utilization, the new interest rate model would set a borrow rate of 11.32% and supply rate of 1.34%. If borrowings increased to reach the new cap without any change in supply, this would lead to utilization of 25.8%, borrow rate of 15.32%, and supply rate of 2.96%.
Given current high yields for LPing COMP on Balancer/Aura, it seems possible that borrowing may hit the new cap of 150,000 COMP despite higher borrow rates.
Note that baseRatePerYear, multiplierPerYear and jumpMultiplierPerYear values above have been normalized to account for the 15 second block time hard coded into the interest rate model contract (versus current 12 second block time in Ethereum PoS). Values were multiplied by 0.8, which accounts for the difference in block times and will result in the intended APRs being achieved in the rate model contract.
COMP’s borrow balance has been hitting the 90,750 cap since early September. Gauntlet has limited market risk concerns with Monet’s borrower cap increase, but we want to note that around 90% of the borrowing is being driven by this one account. This user’s borrowing behavior will probably be elastic to the interest rate parameter changes.
As noted by @monet-supply, the borrow cap on COMP was initially set to prevent governance manipulations. Gauntlet doesn’t assess governance risk, but governance risk has been partially mitigated by stronger voter participation (550k+). From a market risk perspective, it is unlikely that increasing cCOMP borrower cap to 150k will add outsized risk to the protocol.
So, @arr00 pointed out that cCOMP rate model may be used in other assets as well, and after checking it looks like it was indeed used for cAAVE, cMKR, cYFI, and cSUSHI. Given that the existing rate model seems suitable for these other assets, I don’t think it would make sense to submit COMP rate adjustments in the existing IRM contract.
Instead, I plan to submit a proposal just for updating the cCOMP borrow cap (from 90,750 to 150,000). If the new borrow cap is reached, we can then consider creating a new rate model specifically for cCOMP to allow for adjusting rates separately from the other assets.
Ok last update on the proposal implementation before I put it up on chain!
The interest rate model currently in use for cUNI (0xd88B94128Ff2B8Cf2d7886cd1C1E46757418cA2A) is not used by any other markets, and has a somewhat higher path of interest rates compared with the cCOMP rate model (0xd956188795ca6F4A74092ddca33E0Ea4cA3a1395) which is also used across AAVE/MKR/YFI/SUSHI markets. While higher rates for cUNI were initially warranted to avoid unsafe utilization, it now makes sense to move the cUNI market over to match other defi tokens. On the other hand, cCOMP’s capped borrowing capacity makes it more suitable to switch to a higher rate model such as the one currently in use for cUNI.
The most expedient and simplest way to effect this is to move cUNI to the prevailing defi token interest rate model currently used for AAVE/MKR/YFI/SUSHI, and then move cCOMP to the rate model previously used by cUNI.
If the COMP market reaches the newly increased borrow cap despite the higher interest rate model, then further changes to the rate model or borrow cap can be submitted to alleviate excessive utilization and allow the market to reach equilibrium based on cost.
Impacts in Current Market Conditions:
At current utilization of 8.75%, borrow and supply rates would decline from 6.5% and 0.42% to 5.1% and 0.32% respectively. Reserve accrual would decline by ~22% ($9,800/year) assuming no change in utilization.
At current utilization of 15.7%, borrow and supply rates would increase from 7.1% and 0.82% to 9.8% and 1.1% respectively. If borrowing volume increased from current 90,750 to the new cap of 150,000 without any change in COMP supplied, this would push utilization up to ~25.7%, with corresponding borrow and supply rates of 14.5% and 2.6%.
With LP rewards on Balancer/Aura continuing to exceed these projected borrow rates, there is decent likelihood of the new cap being reached.
By the way, does it have some table or dashboard to see the current IRM status? in compound homepage(including document), it is hard to recognize which markets are using the same or different model. (it would be helpful to understand compound structure for voters and new developers.)