Skip to content

Commit 692e6dc

Browse files
authored
Enhance README with detailed protocol information
Expanded the README to include detailed sections on the insurance protocol's abstract, motivation, specification, rationale, and security considerations.
1 parent a377674 commit 692e6dc

File tree

1 file changed

+121
-0
lines changed

1 file changed

+121
-0
lines changed

XLS-0098-insurance-protocol/README.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,124 @@
1+
<pre>
2+
xls: 98
3+
title: Institutional DeFi Insurance Protocol for XLS-0065 Vaults
4+
description: An ecosystem-layer insurance protocol enabling vault depositors to purchase coverage against borrower defaults in XLS-0066 lending vaults.
5+
author: Will Flores <wflores@wardprotocol.org>
6+
category: Ecosystem
7+
status: Draft
8+
proposal-from: https://github.com/XRPLF/XRPL-Standards/discussions/474
9+
requires: XLS-0020, XLS-0030, XLS-0065, XLS-0066, XLS-0070, XLS-0080
10+
created: 2026-02-23
11+
updated: 2026-02-23
12+
</pre>
13+
14+
# Institutional DeFi Insurance Protocol for XLS-0065 Vaults
15+
16+
## 1. Abstract
17+
18+
Ward Protocol is an ecosystem-layer insurance protocol for the XRP Ledger that enables vault depositors to purchase coverage against borrower defaults in XLS-0066 lending vaults. The protocol uses existing XRPL primitives: XLS-0020 NFTs for policy certificates, XLS-0030 AMM pools for capital aggregation, and native Escrow for claim settlement, without requiring any protocol amendments. The reference implementation is live on XRPL testnet at https://wardprotocol.org.
19+
20+
## 2. Motivation
21+
22+
XLS-0066 introduces fixed-term, fixed-rate lending using pooled liquidity from XLS-0065 single-asset vaults. While XLS-0066 includes First-Loss Capital protection, vault depositors face uninsured tail risk when defaults exceed that protection:
23+
24+
DefaultAmount = Principal + Interest
25+
DefaultCovered = min(FirstLossCapital x LiquidationRate, DefaultAmount)
26+
VaultLoss = DefaultAmount - DefaultCovered
27+
28+
Example: A $55,000 default with $1,000 First-Loss coverage leaves depositors absorbing $54,000. This prevents institutional participation because regulated entities require risk transfer before deploying capital at scale.
29+
30+
## 3. Specification
31+
32+
### 3.1 Overview
33+
34+
Ward Protocol operates as an off-chain service with on-ledger settlement. All financial obligations are backed by on-ledger AMM pool reserves. Policy ownership is represented by XLS-0020 NFTs. Claims settle via native XRPL Escrow.
35+
36+
### 3.2 Policy Issuance
37+
38+
A depositor purchases a policy by sending a premium payment to the Ward Protocol operator account. The operator mints an XLS-0020 NFT as the policy certificate with URI metadata:
39+
40+
{
41+
"protocol": "ward-v1",
42+
"vault_id": "<XLS-0065 VaultID>",
43+
"coverage_amount": "<drops>",
44+
"coverage_ratio": "<percent>",
45+
"coverage_start": "<ISO-8601>",
46+
"coverage_end": "<ISO-8601>",
47+
"pool_id": "<AMM AccountID>"
48+
}
49+
50+
### 3.3 Premium Calculation
51+
52+
epoch_premium = coverage_amount x base_rate x term_factor x risk_multiplier
53+
total_premium = epoch_premium x num_epochs
54+
base_rate: 1-5% annually (per vault risk tier)
55+
term_factor: term_days / 365
56+
risk_multiplier: 0.5x-2.0x based on vault utilization, First-Loss ratio,
57+
LossUnrealized impairment ratio, historical default rate
58+
59+
### 3.4 Claim Validation (9-Step Process)
60+
61+
1. Verify loan has lsfLoanDefault flag set on-ledger
62+
2. Calculate vault loss using XLS-0066 AssetsTotal delta
63+
3. Retrieve policy record linked to submitted NFT TokenID
64+
4. Verify policy status is active
65+
5. Verify default occurred within coverage window
66+
6. Verify defaulted vault matches policy vault_id
67+
7. Calculate payout: min(VaultLoss x CoverageRatio, FaceValue)
68+
8. Verify pool capital adequacy: ReserveBalance >= payout
69+
9. Approve or reject; log result on-chain via Memo field
70+
71+
### 3.5 Claim Settlement
72+
73+
Approved claims settle via native XRPL Escrow with a 48-hour dispute window. Operator creates EscrowCreate with FinishAfter = 48 hours. After window closes, EscrowFinish releases funds.
74+
75+
### 3.6 Capital Pool Solvency Constraint
76+
77+
TotalActiveCoverage <= ReserveBalance x MaxCoverageRatio / 100
78+
79+
MaxCoverageRatio defaults to 200 (200% minimum reserve). Enforced at policy issuance and pool withdrawal.
80+
81+
### 3.7 XLS-0070 Credential Integration
82+
83+
When a pool requires credentials, the operator validates the depositor holds a valid unexpired XLS-0070 credential before issuing a policy. The credential hash is recorded in the policy NFT URI metadata.
84+
85+
### 3.8 XLS-0080 Permissioned Domain Integration
86+
87+
When a pool sets domain restrictions, the operator validates the depositor is a member of the pool's XLS-0080 Permissioned Domain before issuing a policy.
88+
89+
## 4. Rationale
90+
91+
An ecosystem implementation allows rapid deployment and market validation before requesting protocol changes. XLS-0020 NFTs provide policy transferability and on-ledger metadata. XLS-0030 AMM pools provide transparent reserve verification. Native Escrow provides dispute resolution without smart contracts. If adoption warrants it, a future amendment (XLS-104) could add native InsurancePolicy ledger objects and PolicyClaim transaction types.
92+
93+
## 5. Backwards Compatibility
94+
95+
This proposal introduces no changes to existing ledger objects or transaction types. No backwards incompatibilities exist.
96+
97+
## 6. Test Plan
98+
99+
The reference implementation includes 60 automated tests with 75% code coverage covering policy issuance, premium calculation, 9-step claim validation, escrow flows, XLS-0070/0080 verification, and pool solvency enforcement.
100+
101+
Test suite: https://github.com/wflores9/ward-protocol/tree/main/tests
102+
103+
## 7. Reference Implementation
104+
105+
- Website: https://wardprotocol.org
106+
- API: https://api.wardprotocol.org
107+
- Docs: https://api.wardprotocol.org/docs
108+
- GitHub: https://github.com/wflores9/ward-protocol
109+
- XLS-0080 Domain ID: 0a0fb36bcd46e16b4391d5c0df0d1fbb1841b602b11d13c8d06c6ed5463dc17a
110+
111+
## 8. Security Considerations
112+
113+
**Oracle Risk:** Default detection uses only on-ledger state. No external oracles are used. Multiple monitoring nodes with 3-of-5 consensus prevent single points of failure.
114+
115+
**Capital Adequacy:** 200% minimum reserve enforced at policy issuance. Pool withdrawals violating solvency are rejected.
116+
117+
**Claim Fraud:** All claim inputs are verifiable on-ledger. The 48-hour escrow window provides a dispute period.
118+
119+
**Key Management:** Operator account uses multi-signature (3-of-5) with cold storage for reserve keys.
120+
121+
**No Smart Contracts:** All transactions use native XRPL transaction types only.
1122
---
2123
xls: 98
3124
title: Institutional DeFi Insurance Protocol

0 commit comments

Comments
 (0)