Part 1 — General
Summary
This proposal suggests introducing a mechanism where collateral does not immediately provide full borrowing power after deposit. Instead, borrowing capacity increases gradually over a configurable period of time.
The goal is to reduce risks associated with manipulated, illiquid, or compromised collateral, while preserving reasonable capital efficiency for users.
Motivation
Recent incidents in DeFi have highlighted a recurring issue in lending protocols:
- Collateral is trusted instantly upon deposit
- Borrowing power becomes fully available immediately
- If the collateral is manipulated or loses backing, users can extract real liquidity before the system reacts
This creates a pathway for bad debt and systemic risk.
A recent example is the KelpDAO exploit, where compromised collateral (rsETH) was used in lending markets such as Aave to borrow real assets. Although the lending protocol itself was not directly exploited, it inherited the risk through collateral composability, resulting in significant bad debt exposure.
This case demonstrates that even well-designed lending protocols remain vulnerable when external collateral assumptions fail.
Existing controls such as LTV limits, oracles, and caps help mitigate risk, but they do not address the problem of instant trust.
This proposal introduces time as an additional dimension of risk control.
Proposed Change
When a user deposits collateral, only a portion of the borrowing power becomes available immediately. The remaining portion unlocks progressively over a defined cooldown period.
The activation parameters should be configurable per asset, allowing different treatment based on risk profile.
For example:
- Stable assets may have near-instant activation
- Highly liquid assets may have short delays
- Riskier or complex assets may have longer activation periods
Example
Assume a user deposits $10,000 worth of ETH with the following parameters:
- LTV: 75%
- Initial activation factor: 20%
- Cooldown period: 24 hours
This results in:
At deposit time (t = 0):
- Borrowing power available: $10,000 × 75% × 20% = $1,500
After 6 hours:
- ~50% of full borrowing power becomes available
- Borrowing power ≈ $5,625 × 75% = $4,218 (approx. depending on curve)
After 24 hours:
- Full borrowing power is unlocked
- Borrowing power = $10,000 × 75% = $7,500
This creates a gradual exposure curve instead of instant full leverage.
Expected Benefits
- Reduces effectiveness of short-term manipulation and flash-based attacks
- Provides time for price feeds and markets to stabilize
- Limits the immediate impact of compromised collateral
- Allows more granular risk control across different asset types
Trade-offs
- Reduces immediate capital efficiency for users
- Introduces additional complexity in user experience
- May create competitive disadvantage if other protocols offer instant borrowing
Governance Parameters
Each asset should have configurable parameters:
- cooldown duration
- initial activation factor
- LTV (existing parameter)
Optional extensions may include volatility thresholds or alternative activation curves.
Edge Cases
- Flash loan scenarios
Deposits within the same block should only receive the initial activation factor, preventing immediate full borrowing. - Multiple deposits
The weighted average timestamp ensures that small new deposits do not reset the activation state. - Withdraw and re-deposit
Timestamp averaging prevents users from resetting cooldown through simple withdrawal and re-deposit cycles. - Liquidation
Full collateral value should be used in liquidation calculations. Activation applies only to borrowing power, not to collateral valuation. - Partial liquidation
Must not modify the average timestamp in a way that artificially increases the perceived age of the position. - Oracle instability (optional)
Activation growth may be paused if price deviation exceeds a predefined threshold. - Parameter updates
Governance may choose to apply parameter changes only to new deposits or globally, depending on risk tolerance.
Limitations
This mechanism does not eliminate the risk of bad collateral. If an asset is fundamentally compromised, losses may still occur. The mechanism is intended to reduce the speed and scale of such events, giving the protocol time to react.
Conclusion
This proposal introduces a time-based constraint on borrowing power as an additional layer of risk management.
As demonstrated by the KelpDAO incident and its downstream impact on Aave, lending protocols can inherit risks from external collateral without direct faults in their own logic.
This design adds a buffer against such scenarios by slowing down the rate at which risk can accumulate.
It complements existing mechanisms such as LTV limits, oracle pricing, and supply caps, and aims to improve overall resilience without fundamentally changing the lending model.
Part 2 — Technical Specification (WIP)
* Formulas are provided for illustrative purposes only and may not be fully accurate or complete.
Core Mechanism
Borrowing power is calculated as a function of both collateral value and time since deposit.
Each deposit contributes to borrowing capacity with a time-dependent weight.
Activation Function
For a given deposit:
f(t) = initialFactor + (1 - initialFactor) * min(1, (t_now - t_deposit) / cooldown)
Where:
initialFactordefines the immediately available portion (e.g. 0.2)cooldowndefines the time required to reach full activationt_nowis the current timestamp (block)t_depositis the deposit timestamp (block)
Borrowing Power
Total borrowable amount is:
borrowable = LTV * Σ (C_i * f_i(t))
Where each deposit C_i is weighted by its activation function.
Gas-Optimized Implementation
To avoid per-deposit storage, a weighted average timestamp can be used:
t_avg = Σ(C_i * t_i) / C_total
Then:
f(t) = initialFactor + (1 - initialFactor) * min(1, (t_now - t_avg) / cooldown) borrowable = C_total * LTV * f(t)
State Updates
On deposit:
t_avg_new = (C_old * t_avg_old + C_new * t_now) / (C_old + C_new) C_total = C_old + C_new
On withdrawal:
C_total = C_old - C_withdrawn
t_avg remains unchanged proportionally