No mainnet. No active market. No depositor funds at stake. Yet the most useful risk analysis in DeFi this quarter comes from a lending protocol that does not exist yet.
Model runs against LendingProtocolV1_1, the fixed-term uncollateralized lending framework proposed under XLS-66 on the XRP Ledger, produce a twenty-fold loss differential from one structural variable: loan granularity. A single defaulted 100,000-token loan at 10% coverage costs the reserve vault 90,000 tokens. Ten defaulted 10,000-token loans, with identical aggregate exposure, cost 4,500 tokens. Same debt. Same reserve. Same market shock. Different accounting, because the protocol releases reserve coverage per default, not per pool.
Protocol designers call the mechanism loss isolation. The model calls it risk amplification.
I did not start with the conclusion. I started with the payment ceiling, extracted from the 3.3.0 code version dated 2024-08-06, still listed in the XRPL amendments registry rather than activated on mainnet. This is the class of failure a code-first review is built to catch: structural, deterministic, and entirely independent of market sentiment. Panic can wait. The math gets the first word.
Context: What XLS-66 Actually Proposes
In the void of 2017, only structure survived. That year, I manually audited more than forty ERC-20 contracts during the ICO wave and found critical reentrancy vulnerabilities in three high-profile projects. The lesson was not that blockchains are unsafe. The lesson was that the safest trade is the one you refuse until the code says otherwise. The same discipline applies here.
XRPL has spent years building settlement rails and tokenization primitives. LendingProtocolV1_1, defined under the XLS-66 standard, is the attempt to add a credit market on top of those rails. The design is a broker model. A broker matches borrowers and depositors, originates fixed-term loans, and manages repayment. Crucially, these are uncollateralized loans. There is no liquidation engine that seizes borrower assets when a position turns bad. The security layer is instead a pool of reserved assets, often called the cover or insurance vault, funded by the protocol to absorb borrower defaults.
The vocabulary in the code matters. Three fields define the risk surface: CoverAvailable, the current usable reserve; CoverRateMinimum, the lowest coverage ratio the protocol will tolerate; and CoverRateLiquidation, the portion of that coverage that a single default event may draw down. Those three fields are the entire defense between a borrower walking away and a depositor taking a loss.
Compare that with the dominant design on Ethereum. Aave and Compound do not underwrite uncollateralized credit. They take collateral, enforce dynamic liquidation thresholds, and let a market of liquidators race to unwind positions when health factors deteriorate. The collateral is the control. The liquidation bot is the enforcement mechanism. XRPL's lending proposal inverts that model: no collateral, no liquidators, and a pooled guarantee that is released one event at a time.
That is not a new paradigm. It is a micro-innovation adapted to XRPL's asset classes, borrowing the vocabulary of insurance rather than the rigor of collateralized intermediation. The maturity level confirms the concern. The code is in development, the protocol is not live, and no independent audit has been published. The system depends on broker behavior at the origination layer and on a formula at the settlement layer. Both deserve scrutiny before a single deposit is accepted.
This is not abstract architecture criticism. The released modeling data exposes a payment formula that converts loan size into reserve destruction with alarming efficiency.
Core: The Per-Default Release Defect
The conventional way to think about a reserve is aggregate: a pool of 200,000 tokens should comfortably absorb a bad loan book of 100,000 tokens. The model says otherwise. In the LendingProtocolV1_1 framework, the cover paid in a default event is capped by a simple expression: the minimum of the debt multiplied by the coverage rate and the liquidation rate, the defaulted debt itself, and the remaining reserve.
That formula is defined as an upper bound. The problem is not the arithmetic. The problem is that the cap is applied per default, in isolation, rather than against the aggregate risk of the lending book.

Run the scenario once. One borrower takes 100,000 tokens. Coverage is set at 10%, the liquidation threshold sits at its modeled level, and the borrower defaults. The reserve releases 90,000 tokens in a single event. The pool is now impaired by 90% of the original loan amount. Run the scenario again with the same total exposure split across ten borrowers, each taking 10,000 tokens, and assume all ten default in the same stress window. The total loss to the reserve is 4,500 tokens.
Twenty times less damage. Not because the borrowers are better, not because the market recovered, but because the reserve release mechanism is event-scoped.
Why does splitting the exposure alter the outcome so dramatically? In the fragmented case, each claim draws against the reserve as a whole while earlier claims have already been settled. The pool absorbs small sequential draws, and the coverage available is recalculated after each event. Losses amortize. In the concentrated case, one drawdown consumes nearly all of the earmarked coverage in a single block. There is no replenishment cycle between claims, no accrued fee income to rebuild the buffer, and no opportunity for the protocol to re-rate its remaining exposure.
The reserve is the same in both runs. The debt is the same. The failure is not capital adequacy; it is event granularity.
This is where volume screams, but liquidity whispers the truth. Market participants will look at the size of the reserve and assume protection. The modeling shows that reserve size is close to irrelevant when the release logic is per default. Doubling the vault from 200,000 to 400,000 tokens does not meaningfully change the concentrated-loss outcome. The damage is driven by how much of the coverage ceiling one claim can consume, not by how much capital sits in the vault.

Parameter sensitivity makes the flaw even more visible. A sweep of CoverRateLiquidation across the tested range produces an exponential-looking response in tail loss. When the liquidation coverage threshold is set to 5%, a single large default can destroy roughly 95,000 tokens of value. Raise the threshold to 20%, and the modeled loss approaches zero. A few percentage points of parameter movement separates a catastrophic pool event from a negligible one. That is not the behavior of a robust system. That is the behavior of a system with a single point of failure hiding inside a configuration variable.
There is a second layer to the model that deserves attention: asset-type blindness. The protocol intends to support XRP, trust-line tokens, and multipurpose tokens, or MPTs. Yet the default-handling logic does not differentiate among asset types when releasing reserve funds. A default denominated in a volatile MPT draws against the same reserve as a default denominated in XRP. This creates a cross-asset contamination risk that most depositors will not notice until the first exotic token defaults and drains cover that was implicitly protecting the more conservative side of the book.
Finally, there is the operational sequence embedded in the code. Broker debt reduction and reserve reduction occur as synchronized operations. When a broker marks a loan as defaulted, the debt line is removed from the book at the same moment reserve funds are released. If the reserve has already been depleted by prior events, the next default simply continues the sequence, amplifying losses with no circuit breaker. The protocol does not stop lending when coverage drops below a safe level unless CoverRateMinimum is enforced at origination. That enforcement depends entirely on the broker, not on an automated on-chain constraint.
Seen as a whole, the core finding is unromantic but precise: LendingProtocolV1_1 turns a reserve into a per-event payout machine, and the payout schedule rewards borrowers who take large positions and punishes depositors who expect the reserve to behave like an aggregate backstop.
Contrarian: The Reserve Is Not The Problem
The predictable response to this analysis will be a call for a bigger vault. Raise the coverage ratio. Add more capital. Make the reserve ten times larger. The model rejects that intuition before the debate starts. Doubling the reserve changes almost nothing when the release logic is per default. The variable that matters is maximum single exposure relative to the coverage ceiling, not the absolute size of the pool.
The second predictable response is a parameter tweak. If raising CoverRateLiquidation to 20% makes the loss approach zero, an administrator could simply set the parameter higher and declare the risk solved. That is a dangerous shortcut. A higher coverage threshold expands the amount of reserve that any single default can claim. Under adverse selection, the borrowers most likely to default will be the ones who size loans to the maximum available coverage. A parameter that looks protective at the model level becomes an invitation at the origination level.
The real fix is concentration discipline, not parameter optimism. A lending protocol that underwrites uncollateralized credit needs a hard cap on any single borrower's exposure as a percentage of the vault. The cap should be encoded in the contract, not left to broker discretion. If no single position can consume more than 2% or 3% of the reserve, the per-default release mechanism loses its destructive potential regardless of the coverage setting. The contract should also aggregate related exposures, because ten correlated loans from one entity are economically equivalent to a single large loan even when they are issued under different wallet addresses.
There is a deeper misalignment that most retail readers will miss. The brokerage layer controls loan origination and default triggering, but it does not bear the full risk of default. The reserve absorbs the loss. In traditional lending, an originator who sells risk without retaining a stake produces exactly this kind of moral hazard: underwriting standards drift, loan sizes grow, and the originating party earns fees while the guarantee pool absorbs the tail. The same incentive structure appears here. A broker earns origination revenue from a 100,000-token loan and from ten 10,000-token loans, but the reserve exposure is twenty times worse in the concentrated case. The party selecting loan size is not the party bearing default risk.
That is the blind spot in almost every conversation about uncollateralized DeFi lending. The conversation treats the borrower as the only adversarial actor. In this architecture, the broker is the far more privileged party. A broker faces commercial pressure to say yes to large borrowers, and the modeled loss amplification gives large borrowers a structural edge over the depositor base.
Let me be equally clear about the opposite risk: interpreting this analysis as a verdict on XRP or the XRPL base layer. It is not. The finding is protocol-specific, and it sits entirely at the application layer. XRPL's consensus layer and settlement mechanics are not implicated by a flawed coverage formula in a lending protocol that has not activated on mainnet. In fact, the critique is a gift to the protocol team. They have received a falsifiable model showing exactly where the release logic breaks, and they are still early enough to change it before any real capital is at risk. In 2022, the Terra collapse was a reminder that hope is not a reserve strategy. But it would be equally naive to treat every flawed early-stage protocol as insolvent. It is not insolvent. It is unfinished.
The responsible position is neither bullish nor bearish. It is conditional. The protocol becomes acceptable only if the release logic is changed from per-default to aggregate, concentration caps are hard-coded, and broker authority over default timing is constrained by an automated review process.
Takeaway: What to Watch Before This Protocol Ships
Trust the code, verify the human, ignore the hype. Those three rules map directly to the action items for anyone tracking XRPL's lending roadmap.
First, track mainnet activation through the official XRPL amendments registry. No audit has been published, and the LendingProtocolV1_1 code is development-grade. Do not accept any early-access deposit scheme that asks retail users to test the underwriting before the reserve release logic is corrected.
Second, watch the parameter set in the code. If CoverRateLiquidation moves toward the upper tested range without an accompanying per-borrower exposure cap, the loss-amplification problem has not been solved; it has been deferred. Demand to see the aggregation logic that would prevent one entity from splitting ten related loans across wallets.
Third, monitor the concentration of the actual loan book once the protocol goes live. The signal that matters is not total value locked. It is the largest single uncollateralized position as a percentage of CoverAvailable. If that ratio can exceed 10%, the reserve's pricing is worse than the network's own consensus fee schedule. If the protocol enforces a hard cap below 3%, the per-default release design becomes survivable rather than existential.
For depositors, the practical conclusion is blunt: a lending pool with double the reserve and a single-whale concentration is still a fragile pool. Capital does not protect a mechanism that cannot keep one default from eating ninety percent of the available cover. Only structure protects against that outcome. The structure just is not there yet.
The question is not whether XRPL can support uncollateralized lending. The question is whether the team will treat its own model output as a specification requirement rather than an inconvenient finding. A protocol that fixes the granularity flaw before mainnet will have learned the most expensive lesson in DeFi for free. A protocol that ships without the fix will teach depositors the same lesson at their expense. Code is patient. Losses are not.