Atlas Parametric MGA: Architecture Overview with TrustWeave
How TrustWeave Powers Your Parametric Insurance MGA
Executive Summary
This document shows how TrustWeave serves as the trust and integrity foundation for your parametric insurance MGA platform. TrustWeave solves the “Oracle Problem” by providing standardized, verifiable EO data credentials that enable instant payouts with regulatory compliance.
The Problem TrustWeave Solves
Current Industry Challenge
The Oracle Problem:
- Each insurer builds custom API integrations for each EO data provider
- No standardized way to accept data from multiple providers (ESA, Planet, NASA, NOAA)
- Trust issues: Need cryptographic proof that data used for $50M payout is authentic
- Regulatory compliance: Need tamper-proof audit trails
TrustWeave Solution
Standardized EO Data Oracle:
- ✅ Accept EO data from any certified provider using W3C Verifiable Credentials
- ✅ Cryptographic proof of data integrity prevents tampering
- ✅ Blockchain anchoring for tamper-proof audit trails
- ✅ Multi-provider support without custom integrations
- ✅ Automated trigger verification for instant payouts
High-Level Architecture
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
┌─────────────────────────────────────────────────────────────────────┐
│ Atlas Parametric MGA Platform │
│ "Instant Catastrophe Protection" │
└─────────────────────────────────────────────────────────────────────┘
│
┌───────────────┴───────────────┐
│ │
┌───────────▼──────────┐ ┌──────────▼──────────┐
│ EO Data Providers │ │ Insurance │
│ (ESA, Planet, │ │ Operations │
│ NASA, NOAA) │ │ │
└───────────┬──────────┘ └──────────┬──────────┘
│ │
│ Issues VC │ Verifies VC
│ │
┌───────────▼───────────────────────────────▼──────────┐
│ TrustWeave Trust Layer │
│ ┌──────────────────────────────────────────────┐ │
│ │ DID Management │ │
│ │ - EO Provider DIDs │ │
│ │ - Insurance Company DIDs │ │
│ │ - Reinsurer DIDs │ │
│ │ - Broker DIDs │ │
│ └──────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────┐ │
│ │ Smart Contracts │ │
│ │ - Parametric Insurance Contracts │ │
│ │ - Contract Lifecycle Management │ │
│ │ - Automatic Execution │ │
│ └──────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────┐ │
│ │ Verifiable Credentials │ │
│ │ - EO Data Credentials (SAR, NDVI, AOD, LST) │ │
│ │ - Contract Credentials │ │
│ │ - Payout Credentials │ │
│ └──────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────┐ │
│ │ Blockchain Anchoring │ │
│ │ - Algorand / Polygon │ │
│ │ - Tamper-proof audit trails │ │
│ │ - Regulatory compliance │ │
│ └──────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────┐ │
│ │ Data Integrity Verification │ │
│ │ - Cryptographic digests │ │
│ │ - Replay attack prevention │ │
│ │ - Multi-source validation │ │
│ └──────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────────┘
│
┌───────────────┴───────────────┐
│ │
┌───────────▼──────────┐ ┌──────────▼──────────┐
│ Trigger Engine │ │ Payout │
│ - Threshold eval │ │ Automation │
│ - Tier calculation │ │ - Banking API │
│ - Auto verification│ │ - KYC/AML │
└──────────────────────┘ └─────────────────────┘
Product Implementation Map
1. SAR Flood Parametric
TrustWeave Components:
- EO Data Credential: Sentinel-1 SAR flood depth wrapped in VC
- Blockchain Anchor: Tamper-proof trigger record
- Payout Credential: Verifiable payout record
Flow:
1
2
3
Create Contract → Bind (VC + Anchor) → Activate →
Sentinel-1 SAR → EO Provider → Issues VC → Execute Contract →
Automatic Payout
2. Heatwave Parametric
TrustWeave Components:
- EO Data Credential: MODIS LST + ERA5 temperature data
- Multi-Day Verification: Consecutive days above threshold
- Payout Credential: Verifiable heatwave payout
Flow:
1
2
3
Create Contract → Bind (VC + Anchor) → Activate →
MODIS LST → EO Provider → Issues VC → Execute Contract →
Automatic Payout
3. Solar Attenuation Parametric
TrustWeave Components:
- EO Data Credential: AOD + Irradiance data
- Attenuation Calculation: Percentage drop verification
- Payout Credential: Verifiable solar payout
Flow:
1
2
3
Create Contract → Bind (VC + Anchor) → Activate →
AOD + Irradiance → EO Provider → Issues VC → Execute Contract →
Automatic Payout
Key TrustWeave Features Used
1. DID Management
Purpose: Identity for all participants
1
2
3
// Create DIDs for EO providers, insurers, reinsurers
val eoProviderDid = trustWeave.createDid { method(KEY) }
val insuranceDid = trustWeave.createDid { method(KEY) }
2. Smart Contracts
Purpose: Executable agreements with automatic execution
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Create parametric insurance contract
val contract = trustWeave.contracts.draft(
request = ContractDraftRequest(
contractType = ContractType.Insurance,
executionModel = ExecutionModel.Parametric(
triggerType = TriggerType.EarthObservation,
evaluationEngine = "parametric-insurance"
),
parties = ContractParties(...),
terms = ContractTerms(...)
)
).getOrThrow()
// Bind contract (issues VC and anchors)
val bound = trustWeave.contracts.bindContract(
contractId = contract.id,
issuerDid = insurerDid,
issuerKeyId = insurerKeyId
).getOrThrow()
// Activate contract
val active = trustWeave.contracts.activateContract(bound.contract.id).getOrThrow()
3. Verifiable Credentials
Purpose: Wrap EO data with cryptographic proof
1
2
3
4
5
6
7
8
9
10
11
12
13
// Issue EO data credential
val floodCredential = trustWeave.issue {
credential {
type("EarthObservationCredential", "InsuranceOracleCredential")
issuer(eoProviderDid)
subject {
// Add floodData properties
addClaims(floodData)
}
issued(Instant.now())
}
signedBy(issuerDid = eoProviderDid, keyId = eoProviderKeyId)
}
4. Contract Execution
Purpose: Automatically execute contracts based on EO data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Execute contract with EO data
val result = trustWeave.contracts.executeContract(
contract = active,
executionContext = ExecutionContext(
triggerData = buildJsonObject {
put("floodDepthCm", 75.0)
put("credentialId", floodCredential.id)
}
)
).getOrThrow()
if (result.executed) {
// Process automatic payout
processPayout(result)
}
5. Credential Verification
Purpose: Verify EO data before using for triggers
1
2
3
4
5
6
7
8
9
10
11
12
// Verify credential before trigger evaluation
val verification = trustWeave.verify {
credential(floodCredential)
}
when (verification) {
is VerificationResult.Valid -> {
// Accept trigger
}
is VerificationResult.Invalid -> {
// Reject trigger
}
}
6. Blockchain Anchoring
Purpose: Tamper-proof audit trails
1
2
3
4
5
// Anchor trigger to blockchain
val anchorResult = trustWeave.blockchains.anchor(
data = payoutCredential,
chainId = "algorand:mainnet"
).getOrThrow()
7. Multi-Provider Support
Purpose: Accept EO data from any certified provider
1
2
3
// Accept data from ESA, Planet, NASA, NOAA
val eoData = acceptEoDataCredential(dataCredential)
// All providers use same VC format - no custom integrations!
Business Value Delivered
For Your MGA
- Cost Reduction: Eliminate custom API integrations (80% cost savings)
- Speed to Market: Launch products faster with standardized format
- Regulatory Compliance: Blockchain-anchored audit trails
- Trust: Cryptographic proof of data integrity
- Scalability: Add new EO providers without code changes
For Reinsurers
- Objective Triggers: Verifiable EO data prevents disputes
- Low Moral Hazard: Cryptographic proof prevents fraud
- Automated Underwriting: Standardized data format
- Portfolio Analysis: Rich EO data for risk modeling
For Policyholders
- Transparency: Verify data used for payouts
- Speed: 24-72 hour payouts vs months
- Fairness: Standardized data prevents manipulation
- Trust: Cryptographic proof of integrity
Implementation Roadmap
Phase 1: MVP (Weeks 1-6)
TrustWeave Setup:
- ✅ Initialize TrustWeave with blockchain anchoring
- ✅ Create DIDs for EO providers
- ✅ Build SAR flood credential issuance
- ✅ Implement trigger verification
Deliverables:
- SAR flood product working
- EO data credentials issued
- Blockchain anchors created
- Basic trigger evaluation
Phase 2: Production (Months 2-12)
TrustWeave Enhancements:
- ✅ Multi-provider EO data acceptance
- ✅ Heatwave product with LST credentials
- ✅ Solar attenuation product with AOD credentials
- ✅ Regulatory compliance features
- ✅ Reinsurer dashboard with VC verification
Deliverables:
- 3 products live
- Multi-provider support
- Regulatory compliance
- Reinsurer integration
Phase 3: Scale (Months 12-24)
TrustWeave Scale:
- ✅ Hurricane product
- ✅ Drought/NDVI product
- ✅ Enterprise licensing
- ✅ Global expansion
Competitive Advantage
Why TrustWeave Gives You an Edge
- Only EO-First MGA: Full-spectrum EO integration (SAR, NDVI, AOD, LST, InSAR)
- Standardized Format: W3C-compliant VCs work with all providers
- Instant Verification: Cryptographic proof enables 24-72 hour payouts
- Regulatory Ready: Blockchain-anchored audit trails
- Multi-Provider: Accept data from any certified provider
vs. Competitors
| Feature | Atlas Parametric (TrustWeave) | FloodFlash | Arbol | Descartes |
|---|---|---|---|---|
| EO-First Design | ✅ | ❌ | ❌ | ❌ |
| Multi-Provider Support | ✅ | ❌ | ❌ | ❌ |
| Blockchain Audit Trail | ✅ | ❌ | ❌ | ❌ |
| Standardized Format | ✅ | ❌ | ❌ | ❌ |
| Instant Verification | ✅ | ❌ | ❌ | ❌ |
Technical Stack
Core Platform
- TrustWeave: Trust and integrity foundation
- Kotlin: Primary language
- Spring Boot: API framework
- PostgreSQL: Policy and payout data
EO Data Processing
- Sentinel-1 SAR: Flood detection
- MODIS LST: Heatwave detection
- AOD + Irradiance: Solar attenuation
- NDVI: Drought/agriculture
Blockchain
- Algorand or Polygon: Anchoring (via TrustWeave)
- Low Cost: Anchor digests only, not full data
Integration
- Banking APIs: Stripe, Plaid for payouts
- KYC/AML: Onfido, Jumio
- Broker Portals: React frontend
Getting Started
1. Review Implementation Guide
See Parametric Insurance MGA Implementation Guide for complete code examples.
2. Explore TrustWeave
3. Start Building
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Initialize TrustWeave
val trustWeave = TrustWeave.build {
factories(
kmsFactory = TestkitKmsFactory(),
didMethodFactory = TestkitDidMethodFactory()
)
keys { provider(IN_MEMORY); algorithm(ED25519) }
did { method(KEY) { algorithm(ED25519) } }
blockchains {
"algorand:mainnet" to AlgorandBlockchainAnchorClient(...)
}
}
// Create EO provider DID
val eoProviderDid = trustWeave.createDid { method(KEY) }
// Resolve DID to get key ID
import org.trustweave.trust.types.getOrThrow
import org.trustweave.did.resolver.DidResolutionResult
import org.trustweave.did.identifiers.extractKeyId
// Helper extension for resolution results
fun DidResolutionResult.getOrThrow() = when (this) {
is DidResolutionResult.Success -> this.document
else -> throw IllegalStateException("Failed to resolve DID: ${this.errorMessage ?: "Unknown error"}")
}
val issuerDoc = trustWeave.resolveDid(eoProviderDid).getOrThrow()
val eoProviderKeyId = issuerDoc.verificationMethod.firstOrNull()?.extractKeyId()
?: throw IllegalStateException("No verification method found")
// Issue EO data credential
val floodCredential = trustWeave.issue {
credential {
type("EarthObservationCredential")
issuer(eoProviderDid)
subject {
addClaims(floodData)
}
issued(Instant.now())
}
signedBy(eoProviderDid)
).getOrThrow()
// Anchor to blockchain
trustWeave.blockchains.anchor(
data = floodCredential,
serializer = VerifiableCredential.serializer(),
chainId = "algorand:mainnet"
)
Next Steps
- Read Implementation Guide: parametric-insurance-mga-implementation-guide.md
- Review TrustWeave Docs: Getting Started
- Build MVP: Start with SAR flood product
- Add Products: Heatwave, solar attenuation
- Scale: Multi-provider, global expansion
Questions?
- TrustWeave Documentation: docs/README.md
- API Reference: API Reference
- Scenarios: Scenarios
Built with TrustWeave - The Foundation for Decentralized Trust and Identity