Insurance markets on Rholo
R-Sure
R-Sure is a set of contracts for a Lloyd’s-style insurance market on Rholo: syndicates put up capital, a broker places a risk, the policy collects the premium, and claims are assessed and paid once.
R-Sure is the insurance layer of the Rholo stack. It models a Lloyd’s subscription market: backers form syndicates, a broker places a risk for a customer, several syndicates subscribe to a share, the policy collects the premium, and a claim is reported, assessed, agreed, and paid once by each syndicate. The design comes from Dan Robles’ 2016 NAIC/CIPR paper, which argues that pooling risk on a shared ledger can reduce the cost of capital. R-Sure tests whether a set of Rholang contracts can express that market: premiums and claims settle through R-Cash, and engineering evidence comes from R-Gen.
- What
- A set of contracts for an insurance market: syndicates, brokers, placing slips, policies, claims, and a central fund. A syndicate is capital and a claims purse. A broker opens slips. A slip offers a risk to several syndicates, whose shares sum to 100%. A policy is the bound slip, with premium distribution and an aggregate limit. A claim is notified, assessed, agreed, and settled once by each subscribing syndicate.
- Why
- Insurance moves the cost of an uncertain loss from one party to a pool that agrees to share it. Lloyd’s does that with syndicates, brokers, and a central fund; the complexity is in the paperwork and the coordination. On-chain contracts can make the shares, premium split, claim decision, and payout atomic and auditable. R-Sure tests that model, and connects it to the rest of the stack: R-Cash for money, R-Gen for engineering evidence and adjudication.
- The combination
- Syndicate capital, broker placement, slip subscriptions, policy premium, claim assessment, and a governed central fund, settled through R-Cash and evidenced by R-Gen.
What R-Sure does
An insurance market needs capital, a way to place a risk, a contract, and a claims process. R-Sure models the Lloyd’s version of that market in five parts.
| Part | What it holds | What it does |
|---|---|---|
| Syndicate | Capital, risk appetite, and a contract-owned claims purse. | Backs a share of risks and pays claims pro rata. |
| Broker | Registration, a licence hash, and a commission cap. | Places a risk for a customer and opens the slip. |
| Slip | The risk, terms, shares, and premium. | Offers the risk to syndicates; subscriptions sum to 100%; the first line is the lead. |
| Policy | The bound slip, the premium, and an aggregate limit. | Collects the premium, splits it between broker, fund, and syndicates, and caps what it can pay. |
| Claim | Notification, classification, assessment, and agreement. | Each syndicate pays its share once; a disputed engineering claim can go to an R-Gen oracle. |
A syndicate contributes capital and reserves capacity. A broker registers and opens a slip. Syndicates quote and subscribe. The customer accepts and funds the premium. The policy binds. A claim is notified, classified, assessed, agreed, and settled. The central fund covers a shortfall under governed, capped rules. Those five parts are the market; the rest of the page explains why it is built this way and what the contracts guarantee.
Why Lloyd’s
Lloyd’s is a marketplace, not an insurance company. Syndicates supply capital; brokers represent customers; a slip is the placing document; the lead syndicate sets the terms and followers subscribe; a policy binds it; claims are assessed and paid by each syndicate’s share.
That structure spreads a large risk across many backers and lets specialist capital take only the risks it understands. Its cost is coordination: the same risk, shares, premium, and claim record must be reconciled across firms. A shared ledger can remove some of that reconciliation.
The design comes from Dan Robles’ 2016 NAIC/CIPR paper, which argues that the point of a blockchain is to reduce the cost of capital by decentralising risk, and that insurance is where that happens. The paper also ties insurance to engineering: the engineering stamp is evidence of a project’s value, and insurability depends on engineering sign-off. R-Sure takes that as its brief. A risk submission records the three insurability questions — what is exposed, how likely is the loss, and what would it cost — and a claim can carry R-Gen claim, validation, K-Asset, and provenance references. A disputed claim can open an R-Gen oracle case for a credentialed adjudicator.
The core
Seventeen contracts cover the market. A syndicate contributes capital and reserves capacity; a broker registers and opens a slip; syndicates quote and subscribe; the customer accepts and funds the premium; the policy binds; a claim is notified, classified, assessed, agreed, and settled. Each line pays once.
Subscriptions sum to 10,000 basis points, and the first line is the lead. The policy splits the premium between the broker, the central fund, and the syndicates, and applies a per-claim limit, the remaining aggregate, and the deductible. A claim has one terminal state; a line cannot pay twice. The central fund is a levy-funded, capped, one-shot backstop that requires 2-of-3 signatures; it is not an automatic payer.
The contracts are grouped by object: the root and books; syndicates and lines; brokers; risks; slips; policies; claims; distributions; and the fund. Each object owns its state and exposes a capability rather than an admin API. The reusable pieces are Distribution, Line, and Policy, which R-Share can use for rentals and staged payments.
Concurrency and proof
A mutating operation consumes the object’s state, checks the operation against what it consumed, and posts the new state once. A second operation sees the new state and refuses. That is what makes a subscription sum to 100%, a policy bind once, a claim settle once, and a line pay once. Capabilities are held in contract closures; a caller receives a specific authority, not an admin key.
Lean proves the insurance economics over a shallow state model: capacity, subscription, premium allocation, payable bounds, settlement conservation, exactly-once guards, terminal claim states, and the central fund. In plain terms, it proves the arithmetic and the state machine, not that the deployed contracts implement them, that R-Cash or R-Gen behave as assumed, or that the economics are solvent under real conditions.
Evidence
On 5 November 2026, the devnet install completed all 17 contracts and the node proposed blocks. The campaign records 37 runs, 375 assertions, and 0 assertion failures. The registered test set has 39 suites: 36 pass and 3 process gates are not run. Coverage is 120 of 145 public arms (82.8%) and 133 of 162 registered arms (82.1%).
The Lean model has 261 theorems, 33 vectors, 51 flow rules, and 11 proved-model core arms across 14 critical primitives. The audit records 25 findings: 22 fixed and 3 accepted boundaries, with 35 hazards and 25 improvements; 30 of 30 concurrency reviews and 42 of 42 composition interfaces are complete. The React/Vite client and the Rust workspace tests pass, and the Playwright journey covers placement through claim settlement.
| Measure | Value | Source |
|---|---|---|
| Contracts | 17 deploy terms; 30 components; 19 state cells | Project status |
| Behavioural campaign | 37 runs; 375 assertions; 0 failures; 5 November 2026 | Project status |
| Registered suites | 39; 36 passing, 3 process gates not run | Project status |
| Lean | 261 theorems; 33 vectors; 51 flow rules; 11 proved-model core arms | Formal model |
| Audit | 25 findings: 22 fixed, 3 accepted; 35 hazards; 25 improvements | Audit report |
| Concurrency and interfaces | 30/30 reviews; 42/42 composition interfaces | Project status |
| Coverage | 120/145 public arms (82.8%); 133/162 registered (82.1%) | Project status |
| Clients | React/Vite and Rust workspace tests pass; Playwright journey passes | Verification |
Sources: project status, formal model, audit report, and verification record, as of 5 November 2026. Counts drift; the linked artifact is authoritative. The audit is internal and is not an independent audit.
Limits
- Maturity. Devnet-only; not an insurer and no regulatory approval; no real funds.
- Audit. The audit is an internal desk, tabletop, and install review, not an independent audit. No primitive is audited or production-safe.
- Accepted boundaries.
Line.paytrusts the policy’sclaimId; the risk tri-test checks that the three answers are present, not that they are correct; external R-Cash and R-Gen reply shapes are assumed to match their published interfaces. - Process gates. Three process gates — install pipeline, deep codec, and no-manual-propose — are registered
not_runrather than claimed as passing suites. - Settlement. The R-Cash installer stops at its pool step with a parse-depth error. R-Sure does not depend on that step.
- Case studies. The engineering-cover and share-damage-waiver mappings are planned, not run as behavioural suites.
- Out of scope. Reinsurance, coverholders, endorsements, renewals, subrogation, instalments, and pro-rata cancellation.
- Verification boundary. Lean is model-level, not a Rholang refinement. It does not prove that the contracts implement the model, that R-Cash or R-Gen behave as assumed, or that the economics are solvent.