Policy Lifecycle
From quote request to settlement — the full lifecycle of an Ensuro-backed weather derivative.
A weather derivative policy moves through six stages from initial quote to final settlement.
Stage 1 — Quote Request
The client selects a derivative structure on the dashboard (or Cliff Horizon structures one during onboarding):
- Trigger variable — temperature, rainfall, irradiance, or wind
- Trigger condition — threshold and measurement window
- Payout — maximum amount
- Duration — contract period
The engine calculates lossProb for this specific configuration.
Stage 2 — Premium Calculation
The engine's lossProb feeds into Ensuro's premium decomposition:
purePremium = payout × lossProb × MoC
+ jrCoc (junior capital cost)
+ srCoc (senior capital cost)
+ ensuroCommission
+ partnerCommission
= Total Premium
The client sees the full waterfall on the Derivatives tab.
Stage 3 — Policy Creation
When the client accepts the quote:
- Cliff Horizon's PRICER role signs the quote cryptographically
- Signed quote is submitted on-chain to the SignedQuoteRiskModule
RiskModule.newPolicy()is called on the PolicyPool- PolicyPool mints an ERC721 NFT representing the policy
- Solvency capital (jrScr + srScr) is locked from eToken pools
- Premium is allocated: purePremium → PremiumsAccount, CoC → eTokens, commissions → recipients
The client receives their premium invoice in fiat. The blockchain settlement is invisible to the client — handled by Cliff Horizon's infrastructure.
Stage 4 — Active Monitoring
During the policy period:
- The engine continues to monitor weather conditions at the insured location
- The dashboard's Forecast and Scenario tabs show real-time probability updates
- Alert thresholds notify the client if trigger probability increases significantly
- All monitoring data is logged for audit trail
Stage 5 — Resolution
At policy expiration (or when a trigger event occurs during the measurement window):
- Oracle data is gathered — NWS Climatological Reports, SatSure satellite observations, or other agreed data sources
- Cliff Horizon's RESOLVER role submits the oracle outcome on-chain
RiskModule.resolvePolicy(policy, payout)is called- The smart contract compares the oracle data against the trigger condition
Stage 6 — Settlement
Two possible outcomes:
Trigger Hit → Payout
Oracle confirms trigger condition met
→ Smart contract releases payout from USDC pool
→ Client receives payout (fiat via Ensuro's front-end entity)
→ Policy NFT marked as resolved (paid)
No claims process. No loss adjustment. No waiting for approvals. The oracle data determines the outcome; the smart contract executes it.
No Trigger → Premium Earned
Oracle confirms trigger condition NOT met
→ Locked SCR released back to eToken pools
→ Earned premium distributed to LPs and commission recipients
→ Policy NFT marked as resolved (not triggered)
The capital providers earn their return, Cliff Horizon earns its commission, and the client's risk was covered for the period.
Settlement Timing
| Event | Timing |
|---|---|
| Oracle data available | Typically within 24 hours of measurement period end |
| Resolution submitted | Within 48 hours of oracle data availability |
| Payout (if triggered) | Immediate upon on-chain resolution |
| Fiat conversion (if applicable) | 1–3 business days |
Dispute Resolution
If there is a discrepancy between data sources:
- The primary oracle source (defined in policy terms) takes precedence
- Secondary sources serve as verification
- If primary source is unavailable, the fallback hierarchy defined in the policy terms applies
- Ensuro's protocol governance provides a final arbitration mechanism