---
# System prepended metadata

title: Compound Arbitrum Incident Follow-up

---

# Compound Arbitrum Incident Follow-up

As an update, the [Abitrum USDC Comet Interest Rate curve proposal](https://compound.finance/governance/proposals/231) is expected to be executed on-chain on March 28 (there is a one day timelock for execution on Arbitrum). Gauntlet has analyzed the impact of the unintended high interest rate on borrowers from March 19 to 26 as detailed below. 

There are approximately # users impacted by the IR in which Gauntlet is working to reimburse $##k to users as of this post. We are working to provide a path for reimbursing the USDC reserves earned during this time back to users, and will keep the community updated on next steps.


### Plan for Disbursement to Impacted Users - UPDATE
![image](https://hackmd.io/_uploads/HJmz1jkk0.png)



### Timeline for Reimbursement
- Step 1: Gauntlet will provide calculated funds and return them to users. 
- Step 2: Users will need to visit this site to confirm reimbursement of funds and verify all information is correct. 
- Step 3: Gauntlet will create a proposal to `withdrawreserves` from Arbitrum USDC Comet and send them to Merkl to have the funds disbursed to users. 
- Step 4: Users will go to Merkl's platform to withdrawal funds. 

### Calculation of Reimbursement 

The incorrect borrow APR resulted in borrowers and suppliers receiving or paying interest rates that deviate significantly from what they would expect based on the expected IR curve. Overall, this impacted user experience within the protocol.

The Supplier's interest rate was not impacted by an abnormal IR curve but through low USDC utilization driven by the Borrow APR. This low utilization impacted suppliers with a lower than expected APY for USDC (4-5%). As such, Gauntlet is recommending to reimburse suppliers. 
![image](https://hackmd.io/_uploads/By36tCxyA.png)

![image](https://hackmd.io/_uploads/Hy9-qRg1R.png)

When estimating expected Borrow APY and Supply APY, Gauntlet used historical averages of APY/utilization to estimate the expected Borrow and Supply APY. Utilization, which is used as a key input for APR calculations, did not fully represent the actual demand for borrowing or supplying assets within the Comet during the implementation of the abnormal Borrow APY. The abnormal APY had unintended impact to user behavior. As such, the use of historical APYs is the best indicator in estimating reimbursed reserves. 

Gauntlet caluculated the reimbursed amount per users based on their positions, abnormal APR and expected APR. With these assumptions, Gauntlet calculated how much of interest a user should of paid/received vs actual interest paid/received. The difference between actual and expected is how we calculated the reimbursement amount. 

#### APR Calculations
Supply APR(u) = \begin{cases}
supply\_per\_year\_interest\_rate\_base + u \times supply\_per\_year\_interest\_rate\_slope\_low, & \text{if } u \leq \text{supply_kink} \\
(supply\_per\_year\_interest\_rate\_base + supply\_kink \times supply\_per\_year\_interest\_rate\_slope\_low) + (u - \text{supply_kink}) \times supply\_per\_year\_interest\_rate\_slope\_high, & \text{otherwise}
\end{cases}

Borrow APR(u) = \begin{cases}
borrow\_per\_year\_interest\_rate\_base + u \times borrow\_per\_year\_interest\_rate\_slope\_low, & \text{if } u \leq \text{borrow_kink} \\
(borrow\_per\_year\_interest\_rate\_base + borrow\_kink \times borrow\_per\_year\_interest\_rate\_slope\_low) + (u - \text{borrow_kink}) \times borrow\_per\_year\_interest\_rate\_slope\_high, & \text{otherwise}
\end{cases}


#### Borrower Reimbursed Amount
$$
\text{Cumulative Borrower Owed} = \sum_{i=1}^{n} \left( \frac{{\text{borrow_balance} \times \text{abnormal_borrow_apr}}}{{365 \times 24}} - \frac{{\text{borrow_balance} \times \text{historical_borrow_apr}}}{{365 \times 24}} \right) \times \Delta t_i
$$

#### Supplier Reimbursed Amount
$$
\text{Cumulative Supplier Owed} = \sum_{i=1}^{n} \left( \frac{{\text{supply_balance} \times \text{historical_supply_apr}}}{{365 \times 24}} - \frac{{\text{supply_balance} \times \text{abnormal_supply_apr}}}{{365 \times 24}} \right) \times \Delta t_i
$$


### Growth of Reserves During Abnormal IR Curve
![image](https://hackmd.io/_uploads/r1f-Z0xyR.png)
<!--- https://app.mode.com/gauntlet/reports/9f25c30a0c2a --->


$$
\text{Borrower Payment} = \sum_{i=1}^{n} \left( {\text{borrow_balance} \times \text{unintended_borrow_apr}} - {\text{borrow_balance} \times \text{historical_borrow_apr}} \right) \times \Delta t_i
$$

---
$$
\text{Supplier Payment} = \sum_{i=1}^{n} \left( {\text{supply_balance} \times \text{historical_supply_apr}} - {\text{supply_balance} \times \text{unintended_supply_apr}} \right) \times \Delta t_i
$$

---

\text{SupplyRate} = \begin{cases}
\text{supplyPerSecondInterestRateBase} + \text{supplyPerSecondInterestRateSlopeLow} \times \text{utilization}, & \text{if } \text{utilization} \leq \text{supplyKink} \\
\text{supplyPerSecondInterestRateBase} + \text{supplyPerSecondInterestRateSlopeLow} \times \text{supplyKink} + \text{supplyPerSecondInterestRateSlopeHigh} \times (\text{utilization} - \text{supplyKink}), & \text{otherwise}
\end{cases}