Update FiRM Borrow Controller for the PT-sUSDe-27MAR25 Market
Summary
This proposal aims to update the borrow controller for the PT-sUSDe-27MAR25 market on FiRM to implement an improved method of handling the daily borrow limit. The changes will introduce a rolling 24-hour limit, replacing the current system, which resets the borrow limit at midnight (00:00 UTC).
Background
The borrow controller in FiRM serves as a gatekeeper for borrowing transactions, determining if users are permitted to borrow based on the following criteria:
- Market Daily Borrow Limit: Verifies that the requested borrow amount does not exceed the remaining daily borrow limit for the market.
- Smart Contract Verification: Checks whether the borrowing address is a smart contract and, if so, ensures it is on the whitelist.
The daily borrow limit is a key risk management feature designed to:
- Mitigate potential DAO losses in the event of an exploit
- Limit the financial gain for would-be exploiters
Currently, the daily borrow limit resets entirely at midnight (00:00 UTC), leading to the following drawbacks:
- Double Borrowing Exploitability: A borrower can execute a transaction just before midnight and another immediately after, effectively doubling the daily limit in a short period.
- Non-Linear Competition: In competitive markets like PT-sUSDe, borrowers who act first after midnight can consume the entire limit, leaving no capacity for others.
To address these issues, we propose shifting to a rolling 24-hour borrow limit. This updated mechanism will replenish borrowing capacity incrementally with each passing second, rather than resetting at a fixed time.
Implementation
The new borrow controller logic has been rigorously tested and deployed in production by Grace protocol for over 6 months. By adapting this proven system for FiRM, we can enhance risk management while maintaining operational consistency. The updated borrow controller has undergone thorough internal and external reviews to ensure its reliability and security.
This proposal focuses initially on the PT-sUSDe-27MAR25 market, which has the highest demand and urgency for improvement. Once validated, the changes will be incrementally rolled out to other FiRM markets.
On-Chain Actions
- setBorrowController of the PT-sUSDe-27MAR25 FiRM Market to the new borrow controller
- Add the new borrow controller as a FiRM minter
- Whitelist the ALE smart contract
- Whitelist user 0x495886947EAce9788360F46be55c758f92Ecd074
- Whitelist user 0x496a3Fc15209350487F7136b7c3c163F9204eE70
- Whitelist user 0x0591926d5d3b9cc48ae6efb8db68025ddc3adfa5
- Whitelist DBR helper: 0x0aBb47c564296D34B0F5B068361985f507fe123c
- Set the daily borrow limit of the PT-sUSDe-27MAR25 market to 2,000,000
- Set the minimum debt of the PT-sUSDe-27MAR25 market to 3,000
- Set the staleness threshold of the PT-sUSDe-27MAR25 market to 86,460 seconds