Introduction
As operators of a lending protocol, maintaining the integrity and reliability of our price feeds is paramount. The staleness threshold—a metric that determines the maximum allowable time lapse between the latest price update and the current time—plays a crucial role in safeguarding our protocol against the risks associated with outdated price data. This proposal aims to standardize the staleness thresholds across all markets to enhance consistency and reduce transaction failures, thereby bolstering user confidence and system resilience.
Background
Chainlink price feeds are integral to our system, providing timely and accurate price data that is essential for valuing collateral and managing liquidations. Our current system deems a price feed “stale” if the time elapsed since the last update exceeds the predefined staleness threshold. When a feed is considered stale, transactions on that market are blocked, although liquidations remain permissible.
Historically, our staleness thresholds were set at a uniform 30 seconds across all markets. However, following reports from users experiencing transaction failures, we adjusted the thresholds to 60 seconds. The Risk Working Group (RWG) has identified that these adjustments were applied inconsistently, leading to discrepancies across different markets.
Proposal
To address these inconsistencies and streamline our operations, we propose a unified approach to setting staleness thresholds. This approach involves setting the staleness threshold for each market at 60 seconds more than the Chainlink price feed’s heartbeat, ensuring a buffer that accommodates potential delays in data transmission while minimizing the risk of transaction failures.
The current state of the markets on FiRM are as follows:
- INV: 86460 +60 seconds
- WBTC: 86460 +60 seconds
- CVX: 86460 +60 seconds
- st-yETH: 3660 +60 seconds
- WETH: 3630 +30 seconds
- DAI: 3630 +30 seconds
- wstETH: 86430 +30 seconds
- cvxCRV: 86430 +30 seconds
- cvxFXS: 86430 +30 seconds
- st-yCRV: 86430 +30 seconds
- CRV: 86430 +30 seconds
On-Chain Actions
- Set Staleness Threshold of wETH market to 3660
- Set Staleness Threshold of DAI market to 3660
- Set Staleness Threshold of wstETH market to 3660
- Set Staleness Threshold of cvxCRV market to 86460
- Set Staleness Threshold of cvxFXS market to 86460
- Set Staleness Threshold of st-yCRV market to 86460
- Set Staleness Threshold of CRV market to 86460