Stabilizers
Last updated
Last updated
A Stabilizer is a smart contract that lends to wholesale borrowers. Sweep provides a set of tools for collateralized lending from DeFi pools.
Our initial implementation of Stabilizers meets the needs of the Sweep protocol. Other protocols can also use Stabilizers to place money into collateralized deals.
Stabilizers can fund several types of assets:
On-chain assets. These are pre-programmed DeFi strategies. The borrower gets leverage to invest in these strategies. The Stabilizer gets ownership of the resulting assets and an ability to liquidate.
Off-chain assets such as loans
Liquid securities funded by collateralized margin loans
Stabilizers enforce a junior/senior tranche structure. The senior tranche is borrowed from a savings protocol.
Collateral and liquidation rights protect the interests of the lenders. Off-chain placements gain protection from off-chain legal agreements and representation by a collateral agent.
The lending protocol must decide what Stabilizers to fund, and what the borrow limits are for each funded Stabilizer. The SWEEP contract expresses this as a "minter list." The lending protocol must approve the terms that are configured in the stabilizer, at the time that it is added to the minter list.
Each stabilizer is controlled by one borrower. The Stabilizer engages human talent, reaction speed, and capital to make allocations with profitable spreads.
Borrowers have the right to borrow up to a limit that is set by the lending protocol and their junior tranche capital contribution. They have the right to repay at any time. The obligation to repay is set by the specific terms of the Stabilizer.
Borrowers can propose deals for funding. They can create a stabilizer from a factory contract, and set its initial configuration. For on-chain strategies, they will provide an audited strategy vault. For off-chain strategies, they will organize off-chain collateral pledges with a collateral agent. Then they can propose the Stabilizer for funding from a savings protocol, and negotiate the final terms.
Stabilizers can be programmed and configured with differing terms. The most important are often:
Capital ratio. How much junior tranche capital does the borrower need to provide, for each unit of senior tranche borrowing? Capital should be adjusted to cover the the risk of loss.
Compensation. Do borrowers pay a floating rate (typical of DeFi), a fixed rate, or a pass-through? How much additional interest should the borrower pay over a base rate? Spreads will often compensate for liquidity management - long durations and delays in getting money bank.
Stabilizers can control the use of funds with:
On chain investment scripts
Destination wallets with pre-configured workflows
Off-chain legal agreements
Off-chain collateral pledges, made to a real-world collateral agent that represents the Stabilizer lenders
The Sweep protocol composes these tools into a reliable deal structure.
The Stabilizer will expect asset value estimates at least daily. It uses the asset value to estimate the value of the junior tranche and equity coverage.
Stabilizers will be liquidated if specific terms are violated. The most important terms are a minimum capital ratio (junior tranche / senior tranche borrowing) and repayment terms.
A liquidator will deposit SWEEP or stablecoins into the stabilizer, and repay as much of the SWEEP loan as possible.
If there are remaining funds, they will be allocated to the junior tranche and the borrower can withdraw them.
If there is a remaining balance in the loan, then it remains as a liability of the borrower. This might move to a write-off process where the Stabilizer is closed and the remaining balance is moved to a bad debt account and handled according to the write-off policies of the protocol.
Each Stabilizer should be pre-packaged for liquidation. The Stabilizer and collateral agent should avoid workouts. The collateral agent should be prepared to sell a problematic asset to a liquidator with more expertise. Sweep provides tools for several types of liquidation.
On-chain asset code should be able to execute repayment requests from the Stabilizer.
Liquid securities can be liquidated according to an account control agreement. A collateral agent can request a liquidation. The collateral agent will receive the proceeds and deliver them to the Stabilizer
A collateral agent may have ways to sell other off-chain assets and deliver the proceeds.
In more complex cases, the protocol will sell the entire Stabilizer along with all of its off-chain agreements. Off-chain agreements and collateral pledges should be written so they are transferrable. The protocol will include code that liquidators can use to bid for a Stabilizer with loan repayment amounts.
Each Stabilizer is a separate smart contract that encapsulates the terms of an agreement between a funding protocol and the borrower.
Borrowers and protocols can use a factory contract to deploy a new Stabilizer. This standard Stabilizer can ask for repayment at any time, and it pays interest (global funding rate plus a spread) with no pass-through returns. It has functions for trading SWEEP with USDC.
Customized Stabilizers will implement the iStabilizer interface.
Stabilizer code cannot be upgraded. The code for a Stabilizer represents a specific agreement between the protocol and a borrower. To change this agreement, the protocol and the borrower should create and fund a new Stabilizer. The protocol will then set the borrow limits to zero on the old Stabilizer and request repayment.