Borrow Position
A Borrow Position is a modular adapter that encapsulates a single collateralized debt position on one lending venue. It provides the Position Manager with a uniform interface for supplying collateral, borrowing, repaying, and withdrawing — regardless of the specifics of the underlying lending protocol.
The first implementation is for Morpho Blue, but the adapter pattern is designed to support any lending protocol that offers collateralized borrowing.
One Position, One Market
Section titled “One Position, One Market”Each Borrow Position represents exactly one position on one lending market. If the Position Manager needs exposure to three different Morpho Blue markets, it registers three separate Borrow Position adapters — one per market.
This one-to-one mapping keeps the adapter logic simple and auditable. Each Borrow Position only needs to understand how to interact with its specific market, including its particular oracle, interest rate model, and collateral parameters.
Health Factor
Section titled “Health Factor”The health of a Borrow Position is determined by the relationship between collateral value and outstanding debt:
- The position’s collateral is priced in debt asset terms using the lending market’s oracle
- The maximum borrowable amount is the collateral value multiplied by an LTV threshold
- If the maximum borrowable amount exceeds or equals the current debt, the position is healthy at that threshold
- If the current debt exceeds it, the position is unhealthy at that threshold
isHealthy(ltv) takes the threshold as an argument, because the position is measured against two of them: the safe LTV for operations and the liquidation LTV for liquidation. Every borrow and collateral withdrawal checks the position against the safe LTV afterward and reverts if it would end above it.
Available Collateral
Section titled “Available Collateral”Not all collateral in a position is freely withdrawable. Some must remain to keep the position healthy. The available collateral is the amount that can be withdrawn while keeping the position at or below a given LTV threshold:
Available collateral = total collateral minus the collateral required to maintain the current debt at the given LTV threshold
This calculation is what the Position Manager uses when processing withdrawals through the withdrawal queue. It ensures that no withdrawal can push a position into an unhealthy state.
Morpho Blue Implementation
Section titled “Morpho Blue Implementation”The first Borrow Position adapter integrates with Morpho Blue, a permissionless lending protocol. Each Morpho Blue Borrow Position is configured with:
- The specific Morpho Blue market to interact with (identified by market ID)
- The Position Manager that owns and controls it
- The safe LTV and the liquidation LTV for this position
The adapter translates Position Manager instructions (supply, withdraw, borrow, repay) into Morpho Blue’s specific operations, handles interest accrual, queries the market’s oracle for collateral pricing, and enforces the safe LTV on every operation.
All Borrow Positions are deployed via a factory using the beacon proxy pattern, making deployment gas-efficient and allowing all instances to be upgraded together if needed.
Two Thresholds
Section titled “Two Thresholds”Every Morpho Borrow Position is configured with two LTV thresholds at creation, both immutable afterward and both readable on-chain:
| Threshold | View | Role |
|---|---|---|
| Safe LTV | safeLtv() |
The operational ceiling. Borrows and collateral withdrawals must leave the position at or below it |
| Liquidation LTV | liquidationLtv() |
The threshold above which the position is proportionally pre-liquidatable |
They satisfy safeLtv < liquidationLtv <= market LLTV. Keeping the liquidation LTV at or below the market’s own LLTV is what guarantees the position becomes liquidatable at the Grunt level before Morpho’s native liquidation is reachable.
The safe LTV is an operational ceiling, not a liquidation trigger. A position that drifts above it through interest accrual or a price move is not unhealthy: it simply cannot take on more debt or give up collateral until its LTV comes back down. That is what keeps a buffer between where the position operates and where it gets liquidated.
Three Liquidation Bands
Section titled “Three Liquidation Bands”preLiquidate accrues interest and then dispatches on the position’s current LTV:
| Band | Behavior |
|---|---|
LTV <= safeLtv |
Healthy. The call reverts with PositionHealthy() |
safeLtv < LTV <= liquidationLtv |
Offer band. Standing offers posted by trusted proposers can be consumed. If none is fillable the call reverts with NoConsumableOffer() |
LTV > liquidationLtv |
Proportional pre-liquidation. The liquidator repays a fraction of the debt and seizes the same fraction of the collateral |
The proportional path pays no Liquidation Incentive Factor. The bonus falls out of the proportionality itself: repaying a fraction of the debt to seize the same fraction of a more valuable collateral stack is worth 1 - LTV on the collateral seized, so the incentive grows as the position gets further underwater.
One adjustment applies when a position is deeply enough underwater that its LTV exceeds the Morpho market’s own LLTV. A purely proportional fill would preserve the LTV and fail Morpho’s internal health check, so the position computes the minimum repayment (in seizedAssets mode) or the maximum seizure (in repaidShares mode) that leaves the position healthy on Morpho after the withdrawal. For small partial fills on such a position, more debt may be repaid than the seized collateral is worth.
The offer band is new in v1.3.0. Because the safe LTV is also the operational ceiling, a position only enters that band through interest accrual or a price move, which is exactly where an early, controlled de-risking is worth having. Offer roles and per-collateral configuration live on a shared BorrowOffersRegistry rather than on the position, so existing proxies needed no migration.
Both bands are covered in detail on the liquidator pages: Pre-Liquidation for the proportional path and Offer Pre-Liquidation for the offer band.