Guide

Solana DeFi Lending Risks: Liquidation, Bad Debt & What Can Go Wrong

HittinCorners
0 · 0

How Solana DeFi Lending Works

Solana lending protocols operate like decentralized money markets. You deposit assets into a lending pool — SOL, USDC, JitoSOL, or other supported tokens — and the protocol makes those assets available for borrowers to use. In return, you earn interest paid by the borrowers.

Borrowing works the other way: you deposit collateral (say, SOL), and the protocol lets you borrow against it (say, USDC). You don’t sell your SOL — you keep exposure to its price — but you get liquid stablecoins to use elsewhere.

Three numbers govern every lending position:

Loan-to-Value (LTV) is the ratio of what you’ve borrowed to what your collateral is worth. If you deposit $10,000 in SOL and borrow $7,000 USDC, your LTV is 70%. Each protocol sets a maximum LTV per asset — Kamino allows up to 70%, MarginFi up to 75%, and Jupiter Lend up to 70%.

Liquidation threshold is the LTV at which your position becomes eligible for liquidation. This is typically slightly above the max LTV — for example, Kamino’s liquidation threshold for SOL is around 80%, even though max initial borrow LTV is 70%. That thin buffer is your margin of safety.

Health factor is the single number that tells you how close you are to liquidation. It’s calculated as (collateral value × liquidation threshold) ÷ borrowed value. A health factor of 1.5 means your collateral would need to drop 33% before liquidation. A health factor of 1.0 means liquidation can happen right now.

Every borrower on Solana should understand: the protocol does not care about your entry price, your conviction, or your timeline. If your health factor hits 1.0, you get liquidated. No warnings, no grace period, no appeals.

How Liquidation Works

Liquidation on Solana lending protocols is automated, permissionless, and fast. Here’s the step-by-step process:

Step 1: Your health factor drops below 1.0. This happens because the value of your collateral fell, the value of your borrowed asset rose, or accrued interest pushed your LTV past the threshold. On Solana, with 400ms block times, this transition happens quickly.

Step 2: Liquidator bots detect your position. Dozens of liquidation bots monitor every lending protocol on Solana in real time. These are automated programs — not humans — scanning every block for positions with health factors below 1.0. Competition between bots is fierce; liquidations typically execute within seconds of becoming eligible.

Step 3: A bot repays a portion of your debt. The liquidator bot sends a transaction to the protocol, repaying some of your outstanding borrow. On most Solana protocols, partial liquidation is the norm — the bot repays enough to bring your health factor back above 1.0, typically 50% of the outstanding debt in a single liquidation event.

Step 4: The bot receives your collateral at a discount. In exchange for repaying your debt, the liquidator bot receives an equivalent value of your collateral plus a liquidation penalty — typically 5% on Solana platforms (Kamino, MarginFi, Jupiter Lend, Save). This 5% discount is how liquidators profit and what incentivizes them to keep the protocol solvent.

Step 5: You keep whatever remains. After liquidation, your remaining collateral (minus what the bot took) stays in your account. Your debt is reduced by the amount the bot repaid. But you’ve permanently lost the liquidated collateral plus the 5% penalty. There’s no undo.

A Real-Numbers Example

You deposit $10,000 worth of SOL as collateral on Kamino. You borrow $7,000 USDC — a 70% LTV, right at the maximum. Your health factor sits at roughly 1.14 (($10,000 × 0.80) ÷ $7,000).

SOL drops 10%. Your collateral is now worth $9,000. Your health factor recalculates: ($9,000 × 0.80) ÷ $7,000 = 1.03. You’re still alive, barely.

SOL drops another 5% (total 15% from your entry). Your collateral is now worth $8,500. Health factor: ($8,500 × 0.80) ÷ $7,000 = 0.97. You’re below 1.0.

A liquidation bot repays $3,500 of your $7,000 USDC debt. It receives $3,675 worth of your SOL (the $3,500 debt plus a 5% penalty of $175). You’re left with $4,825 in SOL collateral and $3,500 in remaining debt. Your new health factor is ($4,825 × 0.80) ÷ $3,500 = 1.10.

The result: you started with $10,000 in SOL. After a 15% price drop and liquidation, you have $4,825 in collateral and owe $3,500 — a net position of $1,325. If you’d simply held your SOL without borrowing, you’d have $8,500. Liquidation cost you $7,175 in this scenario. That’s the penalty for borrowing at maximum LTV with no buffer.

Partial vs. Full Liquidation

Most Solana protocols — Kamino, Jupiter Lend, Save, MarginFi — use partial liquidation. The bot only repays enough to restore your health factor, typically liquidating up to 50% of the position. This is better for borrowers than full liquidation because you keep part of your collateral.

However, during extreme volatility, partial liquidation can cascade: your position gets partially liquidated, the remaining collateral drops further, triggering another partial liquidation, and so on. Each round takes another 5% penalty. After two or three cascading partial liquidations, you’ve lost most of your collateral anyway.

Cascading Liquidation Scenarios

Individual liquidations are painful. Cascading liquidations are catastrophic — and they’re one of the biggest systemic risks in Solana DeFi.

The Cascade Mechanism

When a large number of borrowers use the same collateral (SOL is the most common), a sharp price drop triggers liquidations across multiple positions simultaneously. Liquidator bots sell the seized SOL collateral to realize their profit. This selling pressure pushes SOL’s price down further, triggering the next wave of liquidations.

Each wave is larger than the last because the price drop from forced selling pushes more positions below their liquidation thresholds. It’s a feedback loop: price drops → liquidations → forced selling → more price drops → more liquidations.

During Solana’s March 2024 correction, SOL fell roughly 30% in 48 hours. Kamino processed over $15 million in liquidations during that period. The protocol handled it — but only because liquidators remained active and the network stayed operational.

LST Collateral Amplification

Using liquid staking tokens (JitoSOL, mSOL, bSOL) as collateral introduces a compounding risk. These tokens are pegged to SOL but can temporarily de-peg during high-stress events when stakers rush to unstake.

If you’ve deposited JitoSOL as collateral and SOL crashes 20%, your JitoSOL might simultaneously de-peg by 2–3% as arbitrageurs and panicking holders flood the market. Your health factor takes a double hit: the underlying SOL price drop plus the JitoSOL de-peg. What should have been a manageable 20% drawdown becomes a 22–23% effective loss on your collateral, potentially the difference between surviving and getting liquidated.

Network Congestion During Mass Liquidation

Solana’s Achilles heel during cascading liquidations is network congestion. When hundreds or thousands of liquidation transactions compete for block space simultaneously, transaction fees spike and some transactions fail entirely.

If liquidator bots can’t execute — because their transactions are dropped, because priority fees become uneconomic, or because the network degrades — liquidations don’t happen. The positions that should have been liquidated at a 5% loss continue to deteriorate. By the time the network clears and liquidations finally execute, the collateral may be worth less than the debt. That’s how bad debt forms.

Historical Precedent: Mango Markets ($114M, 2022)

The most dramatic failure in Solana DeFi history wasn’t a cascade — it was deliberate market manipulation, but it illustrates the same vulnerabilities. In October 2022, Avraham Eisenberg manipulated the MNGO token price on Mango Markets by using large positions to artificially inflate the oracle price, then borrowed $114 million against the inflated collateral. When the manipulation was unwound, the protocol was left with $114 million in bad debt.

Mango Markets used a different architecture than current lending protocols, but the core lesson applies: any system that relies on accurate price feeds and timely liquidation is vulnerable when those assumptions break down.

Oracle Risk

Every lending protocol on Solana depends on price oracles — external systems that feed real-world asset prices on-chain. The two dominant oracles on Solana are Pyth Network and Switchboard. If the oracle reports wrong prices, the entire lending system misprices risk.

Stale Price Risk

Oracles update on a schedule — Pyth typically updates every 400ms (matching Solana’s slot time), but during network congestion or high volatility, updates can lag. If SOL’s market price drops 10% but the oracle still reports the old price, borrowers who should be liquidated aren’t. Liquidators who act on the stale price may lose money. And when the oracle finally catches up, a wave of liquidations hits simultaneously rather than being spread over time.

A few seconds of staleness is manageable. Minutes of staleness during a crash is dangerous. Pyth’s confidence intervals help — they widen when the oracle is uncertain about the price — but protocols implement this unevenly.

Oracle Manipulation

Flash loan attacks on oracles follow a pattern: an attacker borrows a massive amount of a token (using a flash loan that’s repaid in the same transaction), uses it to manipulate a DEX price that the oracle references, triggers unfair liquidations or borrows at inflated collateral values, then repays the flash loan.

Solana lending protocols mitigate this with time-weighted average prices (TWAPs) instead of spot prices, multi-oracle setups (checking Pyth against Switchboard), and circuit breakers that pause operations when prices move beyond expected ranges in a single block.

These mitigations reduce but don’t eliminate oracle risk. A novel attack vector that circumvents existing protections is always possible. Every lending protocol on Solana carries this risk, regardless of TVL or audit count.

Bad Debt: When Liquidation Fails

Bad debt is the lending protocol’s nightmare scenario. It occurs when a borrower’s collateral value drops below their debt value before liquidation can complete. The borrower has no rational incentive to repay (they’d be paying more than their collateral is worth), and the liquidator can’t profitably liquidate (the collateral doesn’t cover the debt plus penalty).

How Bad Debt Accumulates

The causes stack: extreme volatility collapses collateral value in minutes. Network congestion prevents liquidation transactions from executing. Oracle lag means the protocol doesn’t recognize the underwater position immediately. Illiquid collateral (long-tail tokens with thin order books) means even when liquidators try to sell, they can’t get a fair price.

Each of these factors individually is manageable. When they happen simultaneously — which is exactly when they’re most likely, because market crashes cause volatility, congestion, and illiquidity at the same time — bad debt becomes inevitable.

Protocol Insurance Funds

Some Solana protocols maintain insurance funds to absorb bad debt:

Drift maintains an insurance fund funded by a portion of trading fees. It’s designed to cover bad debt from its perpetuals and lending markets, but its size is small relative to Drift’s total open interest during peak periods.

MarginFi has a limited insurance fund, but exact coverage amounts are not always transparently disclosed. During their team leadership changes in mid-2024, the fund’s adequacy was questioned by the community.

Kamino and Jupiter Lend do not maintain dedicated insurance funds. Bad debt, if it occurs, would need to be addressed through governance or alternative mechanisms.

Socialized Losses

If bad debt exceeds the insurance fund (or no fund exists), the remaining options are grim. The protocol can socialize losses — meaning depositors (lenders) collectively absorb the loss. Your supplied USDC might be worth less than what you deposited because the pool is now short. This has happened on other chains (Aave on Ethereum absorbed bad debt from the CRV incident in 2023 through its safety module), and there is no structural reason it can’t happen on Solana.

The uncomfortable truth: when you supply assets to a lending protocol, you’re trusting that the protocol’s liquidation system will always work fast enough. If it doesn’t, your deposits are the backstop.

Supply-Side Risks (For Lenders)

Many users think of supply-only lending as “safe yield.” You’re not borrowing, you’re not getting liquidated — just earning interest. This framing misses real risks.

Smart Contract Risk

Every dollar you supply to a lending protocol sits inside a smart contract. If that contract has an exploitable vulnerability, an attacker can drain the pool. Your deposit is gone. Audits reduce this risk but don’t eliminate it — audited protocols have been exploited across DeFi history. Euler Finance (audited, $197M exploit in 2023), Mango Markets (audited, $114M in 2022), and Cream Finance (audited multiple times, exploited three times) all demonstrate this.

Kamino, Jupiter Lend, and MarginFi have all been audited by reputable firms. This is table stakes, not a guarantee.

Utilization Risk

Lending pools have a utilization rate: the percentage of deposited assets currently being borrowed. When utilization hits 100%, there are no assets left in the pool for you to withdraw. You’re stuck until borrowers repay or new deposits arrive.

In practice, protocols use interest rate curves that dramatically spike borrow rates at high utilization (sometimes to hundreds of percent APR) to incentivize repayment and new deposits. But during market dislocations — exactly when you might want to withdraw — utilization can pin near 100% for hours or even days.

Rate Risk

Supply APY is not fixed. It fluctuates with borrow demand. A pool showing 8% APY today could drop to 0.5% next week if borrowers repay their loans. If you’re depending on lending yield for a specific financial outcome, understand that rates are entirely market-driven and can change in any block.

Risk Comparison by Platform

PlatformTVLMax LTVLiquidation PenaltyInsurance FundRisk Assessment
Kamino$2.19B70%5%No dedicated fundLowest risk — largest TVL, most audits, deepest liquidation market. Systemic importance is itself a risk (too-big-to-fail concentration).
Jupiter Lend$1.02B70%5%No dedicated fundLow risk — strong team, shorter track record than Kamino. Benefits from Jupiter ecosystem integration.
Save (formerly Solend)$124MVaries by asset5%No dedicated fundMedium risk — lower TVL means shallower liquidation markets. Governance controversies in 2022 (attempted wallet takeover) raised trust concerns.
MarginFi$102M75%5%Yes (limited)Medium risk — highest max LTV is more aggressive. Team transparency concerns during 2024 leadership changes. TVL dropped significantly from peak.
Drift$463MVaries5%YesMedium-low risk — strong perpetuals platform with lending as secondary feature. Insurance fund funded by trading fees.

Note: TVL figures and parameters are approximate and change constantly. Always verify current values on each protocol’s dashboard before making decisions.

How To Protect Your Lending Positions

If you’re going to borrow on Solana lending protocols, these practices reduce (but never eliminate) your risk:

Keep your LTV under 50%. If the max LTV is 70%, borrowing to 50% gives you roughly a 30% price buffer before liquidation. This is the single most impactful thing you can do. The difference between 70% LTV and 50% LTV is the difference between getting liquidated on a routine 15% dip and surviving a major 30% correction.

Borrow stablecoins against volatile collateral, not the reverse. If you deposit SOL and borrow USDC, only one side of your position moves with the market (your SOL collateral). If you deposit USDC and borrow SOL, your borrowed amount increases in dollar terms when SOL pumps — you get liquidated on upside moves. Most borrowers should be in the first category.

Monitor your health factor daily during volatile markets. Set up alerts through DeFi dashboards (Step Finance, Sonar Watch) or protocol-native notifications if available. A health factor of 1.5 can drop to 1.0 in hours during a crash.

Set price alerts for your collateral asset. Use TradingView, CoinGecko, or exchange alerts to know when SOL or your collateral drops to predefined levels. Decide in advance at what price you’ll add collateral or repay debt.

Never borrow at maximum LTV. Protocols set maximum LTV to define the theoretical limit, not a recommended position. Borrowing at 70% or 75% LTV means a 5–10% price move can liquidate you. There is almost no scenario where max LTV borrowing is a good risk-adjusted strategy.

Use protocols with the deepest liquidity. Kamino and Jupiter Lend have the highest TVL on Solana, which means deeper liquidation markets and more liquidator competition. More competition means faster, more efficient liquidations — which paradoxically protects borrowers by reducing the chance of cascading failures and bad debt.

Have a plan before you need one. Decide before you borrow: at what health factor will you add collateral? At what point will you repay and exit? Making these decisions during a market crash, when you’re emotional and the network is congested, leads to worse outcomes. Write your plan down. Follow it.

DeFi lending on Solana is a powerful tool — you can access liquidity without selling your assets, earn yield on stablecoins, and lever up on convictions. But every lending position is a bet that your collateral won’t drop faster than you can react. Understand the risks before the market teaches you the hard way.

Discussion

New Discussion