Lendlexyz borrowing created debt that needed repayment before a full lending exit
Lendlexyz borrowing created collateral-backed loans on Mantle, and closing an outstanding loan required repayment of its debt. The market known as Lendle announced a shutdown and asked users to close positions and remove liquidity. Borrowing capacity, recorded debt, and supplied deposits represented different parts of an account.
Updated -
Settling a historical Lendle loan required clearing its debt; withdrawing supplied assets remained a separate operation subject to pool conditions.
The shutdown instruction changed the borrowing task
Lendle's shutdown notice directed existing users toward closing positions and removing liquidity. The instruction did not itself set an exit deadline. The September 25, 2023 update of SourceHat's Lendle Smart Contract Audit Report covered the earlier Mantle Mainnet deployment. Those historical permissions did not establish which actions remained enabled during shutdown; an existing borrower's task concerned outstanding debt and applicable withdrawal conditions.
Collateral separated available capacity from an actual loan
Borrowing capacity described an upper bound under collateral rules; only a successfully executed borrowing operation created debt.
The supplied balance that could support borrowing
Collateral eligibility
The historical LendingPool accepted supported assets, with corresponding aTokens recording each supplied position. A supplied balance had to count as collateral before it could support borrowing. Merely holding an asset in a wallet did not establish collateral in the pool.
Valuation and lending limits
An asset's loan-to-value setting limited how much borrowing its collateral value supported. Valuation used the pool's price oracle, so changing prices could alter capacity without another deposit. Available pool liquidity was a separate constraint: collateral established borrowing capacity, while the selected reserve supplied the underlying asset. A displayed capacity figure therefore could not establish that the reserve could fund an operation under its current configuration. The requested asset amount still had to satisfy both the collateral limits and the reserve's available liquidity.
The amount selected for borrowing
The amount requested for borrowing was the proposed addition to debt. Existing obligations remained in the account; unused capacity was not an additional loan. Account limits and reserve conditions still applied to the requested amount.
Historical operations changed different balances
The contracts supported several ways to alter a loan or its backing, with different effects on debt and deposits. These were historical contract options, subject to their account and reserve conditions.
| Operation | Effect on the account | Balance or condition involved |
|---|---|---|
| Borrow against own collateral | Created debt for the borrower | Sufficient eligible collateral for the selected borrowing amount |
| Borrow through credit delegation | Created debt for the authorizing account | Credit delegation allowance from that account |
| Make a partial repayment | Reduced outstanding borrowing | The portion of debt covered by repayment |
| Repay an outstanding debt in full | Cleared the debt covered by payment | Outstanding principal and accrued interest |
| Supply additional collateral | Added collateral backing without repaying debt | Eligible supplied assets counted as collateral |
| Switch between stable and variable borrowing | Switched the debt between stable and variable rates | Existing stable or variable borrowing and permitted reserve settings |
| Withdraw supplied assets | Burned aTokens and returned underlying assets | A supplied balance eligible for withdrawal |
| Historical scope | Mantle lending operations | Availability depended on active pool settings |
Repayment and withdrawal affected different records. A full lending exit required both the borrowing obligation and the remaining supplied position to be resolved, within the actions that the pool allowed.
Authorization identified the address taking on debt
Ordinary borrowing used an account's collateral to back its own obligation. Credit delegation allowed another caller to borrow against the authorizing account's collateral, with debt recorded for that account.
The historical LendingPool required a credit delegation allowance when borrowing assigned debt to another address. That allowance authorized the caller.
A wallet authorization and a completed pool operation represented different states. A signature alone did not establish that assets had moved or debt tokens had been minted. The borrowing state change required successful execution.
StableDebtToken and VariableDebtToken tracked the applicable borrowing mode. The balance to check was the corresponding debt token balance of the address that owed the loan. Confusing the caller with the debt-bearing address could therefore lead to examining the wrong account balance.
What established that a loan had been repaid?
Repayment in the historical LendingPool burned the corresponding debt tokens. Full repayment left no outstanding debt in the relevant reserve and borrowing mode. Closing all borrowing required clearing every debt balance in the account.
Residual debt after repayment
A partial repayment reduced the debt calculated at execution by the amount repaid. A remaining balance did not by itself mean that payment had failed. Comparing that balance with an older display also required accounting for interest accrued between the readings.
If an account carried additional debt, clearing one balance did not resolve the other obligation. The relevant reserve and debt mode kept those obligations distinguishable. Any remaining loan continued under its applicable interest conditions.
Deposits after debt closure
Deposit aTokens tracked a separate supplied position. Settling debt did not itself withdraw those assets, and a remaining deposit could still require withdrawal. LEND token locking and reward balances belonged to separate contracts, with their own exit conditions.
Accrued interest changed the amount needed for closure
Interest increased outstanding debt over time under the historical lending model. Repaying only the original principal could therefore leave an interest-bearing balance. The relevant amount was the outstanding obligation when repayment occurred, including interest accrued since borrowing.
Variable borrowing rates moved with reserve utilization, while stable rates had documented rebalancing conditions. Ordinary loans historically had no fixed repayment deadline. That feature did not establish an unlimited withdrawal window during shutdown, and the shutdown instruction did not itself record repayment.
Loan health could worsen while an account remained open
An outstanding loan remained exposed to collateral value, debt value, and the configured liquidation threshold. Additional interest or adverse valuation changes could weaken loan health before the borrower completed an exit.
Historically, repaying borrowed funds or adding eligible collateral could improve health. Adding collateral left the debt obligation in place, whereas repayment reduced it. Below the liquidation boundary, another user could repay part of the borrowing and receive collateral with a liquidation bonus.
Reserve restrictions bounded the next available action
Account collateral did not override reserve restrictions in the historical LendingPool. Pool administration could disable borrowing or freeze a reserve. A reserve freeze restricted deposits, borrowing, and rate swaps; a pool-wide pause was a broader control over transactions.
A frozen reserve and a paused pool therefore represented different restrictions. The historical Emergency Admin had authority to pause pool transactions, so repayment or withdrawal access could not be inferred solely from an account's collateral balance. If a pause or reserve restriction blocked an operation, that restriction had to be lifted before a retry could succeed. The active implementation also had to permit the operation.
Frequently asked questions
Did a referral address become responsible for a historical loan?
A referral address did not take on debt merely because it accompanied a borrowing operation. The debt belonged to the borrowing account, including the authorizing account in credit delegation. Referral information and permission to borrow against another account served different functions.
Could a liquidator receive aTokens when resolving a historical Lendle loan?
A historical Lendle liquidator could choose collateral aTokens or the underlying collateral asset. This choice concerned how the liquidator received collateral after covering part of the borrower's debt. Any debt left after that liquidation remained part of the borrower's obligation.
Who could replace the LendingPool implementation behind existing positions?
The owner of the historical LendingPoolAddressesProvider could replace the LendingPool implementation. That power was separate from the Pool Admin's authority to change reserve configuration and the Emergency Admin's authority to pause transactions. A familiar pool address therefore did not imply immutable contract behavior.
Was excess native currency returned after a historical gateway repayment?
The historical WETHGateway returned excess native currency to the user during repayment. This applied to its native-token repayment path, which wrapped the native token for the LendingPool.
Did locking LEND count as repayment of an outstanding loan?
Locking LEND did not itself repay a historical LendingPool loan. The staking system recorded locked tokens separately from the pool's borrowing debt. Its withdrawal and reward conditions applied to the locked position, while repayment affected the relevant loan obligation.