|
| 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. |
1 | 122 | --- |
2 | 123 | xls: 98 |
3 | 124 | title: Institutional DeFi Insurance Protocol |
|
0 commit comments