close
Skip to content

SentinelFi/core

Repository files navigation

Sentinel: Decentralized Parametric Insurance Framework

network

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.

⚠️ Security Notice

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.

📂 Project Structure

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

🔑 Key Contracts

  • 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.

📦 Project Dependencies

Key dependencies for this project:

Soroban SDK ↗ v23.0.0

OpenZeppelin Contracts ↗ v0.5.0

🚀 Getting Started

Prerequisites

  • Rust >= 1.90

  • Stellar CLI >= 23.0

  • Installed target wasm32v1-none

Navigate to the scripts directory:

cd scripts

Build

./build.sh

Optimize

./optimize.sh

Test

./test.sh

Deploy

./deploy.sh

Generate TypeScript Bindings

./bindings.sh

Other Useful Resources

🏗️ High-Level Architecture

Architecture Diagram

🤝 Contributing

Contributions 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.

📜 License

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.

About

Sentinel Decentralized Parametric Insurance Contracts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors