A smart contract framework for building configurable parametric insurance products across multiple verticals, enabling premium coverage purchases and risk underwriting. Built on the Stellar Soroban smart contracts platform.
This project is under development and has not yet undergone formal security audits. Use at your own risk. Security audits are planned for the future. Please report any issues here.
Warning
While we strive to ensure this software functions as intended, it is provided “as is” with no warranties or guarantees of any kind. Smart contracts are inherently complex and may contain bugs, vulnerabilities, or unintended behaviors. By using this software, you acknowledge and agree that: You use it entirely at your own risk. You should perform your own due diligence, and it is strongly recommended to consult qualified professionals (e.g., security auditors, legal advisors). We do not accept any liability for any loss of funds, damages, or other consequences resulting from the use or misuse of this code.
core/
├── packages/ # Soroban smart contracts
│ ├── framework/ # Core contracts: controller, factory, and registry logic
│ ├── mocks/ # Mock contracts for dependency replacement in local development
│ ├── modules/ # Modular components such as guardrails and fee mechanisms
│ ├── oracle/ # Oracle contract logic
│ ├── pools/ # ERC-4626 style pool/vault implementations
│ └── primitives/ # Common types and traits
├── scripts/ # Utility scripts
└── Cargo.toml # Rust workspace manifest
- Factory – The official entry point for deploying new insurance contracts.
- Registry – A global index of all deployed Sentinel insurance contracts, available for querying and integration.
- Controller – The central contract that manages user interactions with insurance contracts. It coordinates logic across oracles and pools, handles payouts, and enforces core rules.
- Oracle – Reports trusted external data. Can be configured to require attestations from trusted providers.
- Hedge Pool – An ERC-4626 pool/vault for premium buyers.
- Global Pool – An L1 ERC-4626 pool/vault for underwriters, backing all insurance products.
- Vertical Pool – An L2 ERC-4626 pool/vault for underwriters, backing a specific insurance vertical.
- Risk Pool – An L3 ERC-4626 pool/vault for underwriters, backing a specific insurance case.
Key dependencies for this project:
Soroban SDK ↗ v23.0.0
OpenZeppelin Contracts ↗ v0.5.0
-
Rust
>= 1.90 -
Stellar CLI
>= 23.0 -
Installed target
wasm32v1-none
Navigate to the scripts directory:
cd scripts./build.sh./optimize.sh./test.sh./deploy.sh./bindings.shContributions are welcome. To get started, open an issue describing your proposal or the bug. Then, fork the repository and create a new branch for your changes, making sure to follow the existing code style. Run tests to confirm everything works as expected, and open a Pull Request for review.
Please follow standard GitHub conventions for issues and PRs.
This project is licensed under the Apache License 2.0
⚡ Notice: This is a work in progress. Expect updates. Join our community ↗ to stay updated on the latest developments.