Ensuro 2.0 is here!

One year ago, we developed the first version of the Ensuro protocol. It was the first approach to the problem we were solving: implementing on the blockchain the cash flow of a reinsurance company, providing solvency guarantees to the policyholders and partners, and offering a yield opportunity to liquidity providers.
This first version went really well and met its objectives: we were able to obtain a license from the Bermuda Monetary Authority, processed over 24,000 policies, collected 780k in premiums, and paid out $496k. While running the first version, we realized several improvements could be made to harvest the business opportunities we were seeing.
Around Q2 of this year, we started to develop Ensuro 2.0 with these ideas in mind:
- Better risk segregation
- Different levels of risk for liquidity providers
- More flexibility in the asset management strategies
- More flexible and predictable fees
Risk Segregation
In a single instance of the protocol, we wanted to support several kinds of risks. But even where, in some cases, risk diversification is desirable, we wanted to have control of that diversification and to be able to isolate some risks from others.
In version 1.0 we were mixing the premiums from different risk modules in a single pool. Now in 2.0, we have created the concept of Premiums Accounts that collect the premiums of a set of risk modules that are connected in some form (same partner, same kind of risk, etc.). This way, we can isolate one set of risks from others.
Different levels of risk for liquidity providers
While working with Ensuro 1.0 and trying to raise liquidity, we discovered a wide range of investors expecting different levels of risk and returns ranging from single-digit APYs to high double-digit APYs. This has led us to the Junior and Senior liquidity pools model.
In this model, we split the solvency capital (the part that doesn’t come from pure premiums but from external liquidity providers) into two tranches.
The first tranche, the Junior eToken, covers the losses immediately after pure premiums are exhausted. This eToken is linked to a single PremiumsAccount (see section above), thus to a specific set of risks.
The Junior eToken, being specific to a Premiums Account, is usually linked to a single risk partner, and allows the risk partner to provide capital either themselves or from other known investors to support their product and access the more lucrative capital returns.
The second tranche, the Senior eToken, comes into play only when the Junior eToken is exhausted. It’s exposed to more extreme scenarios of the loss probability distribution, being less risky. At the same time, this capital pool can be exposed to several PremiumsAccounts, achieving greater diversification.
Each tranche has different returns according to the different levels of risk assumed, thus attracting different profiles of investors.

Flexibility in the asset management strategies
From the beginning, asset management has been one of Ensuro’s core features. The main goal of Ensuro is to guarantee the solvency of the risk portfolio, but that doesn’t mean the funds need to sleep in a blockchain address when they can be invested in safe yield strategies that generate additional returns.
In Ensuro v1, all the assets under the control of the protocol were managed by a single Smart Contract (PolicyPool) and delegated to a single asset manager contract. This design had several challenges: security, lack of visibility, and lack of flexibility.
Now in Ensuro v2, the assets are spread into different reserves. Each eToken is a reserve, and each PremiumsAccount is a reserve. Each of these reserves can apply a different asset management strategy based on the specific regulatory, liquidity, or risk requirements.
Also, in Ensuro v1, the asset manager was a different contract, implying a transfer of the assets and more complex visibility. Now, in Ensuro v2, the asset manager is a pluggable contract that operates in the context of the reserve contract — with delegatecall -, being more efficient and transparent.
More flexible and predictable fees
Finally, the Ensuro 1.0 design had some limitations around the fees. The main one was that the fees (the part of the premium that’s not the pure premium, but the fees for Ensuro, our risk partner, and for LPs) remained part of the solvency capital, locked in the protocol and untouched until the expiration of the policy. Moreover, the parties’ fees accrual was subject to each policy’s outcome. This was causing cash flow problems, making the outcome for the parties harder to predict, and in some cases, causing adjustments to the solvency calculations.
So, for Ensuro v2 we made it simple: commissions from the premium for Ensuro and our risk partners are taken upfront on the creation of the policy and are not part of the solvency capital. The fees for the LPs (renamed as “Cost of Capital” in v2) are also not part of the solvency. The difference is they become available progressively as an interest rate for the duration of the policy.
Code and gas improvements
More than 400 commits, 75 pull requests, and dozens of new unit tests. All these changes have been a great technical effort. We took the opportunity to clean the code, prune complexity, clarify the concepts with better names for variables and methods, make a more flexible permission system, and apply many gas optimization strategies.
We reduced the average gas used per policy (including creation and expiration or resolution) by 15%. We added the SignedQuoteRiskModule, an alternative implementation to the TrustfulRiskModule that gives us much more control over the pricing process.
And we went through an exhaustive audit by Quantstamp, one of the leading smart contract audit firms, with the highest grades in documentation and code quality.
Final thoughts
Evolution never ends. We know this will not be the final version of Ensuro as we will need to keep thinking and making changes to accommodate upcoming requirements or just make improvements. But we are confident this updated version represents a big step forward that keeps Ensuro in pole position for the future challenges.
We invite you to jump into our docs to know more.
About Ensuro
Ensuro is the first decentralized, licensed (re)insurer on a public blockchain. We use smart contracts to curate competitive insurance portfolios. We allow anyone to invest in insurance risk and reap its benefits. By opening up the insurance market to new players, we fuel innovation for established and upcoming insurance partners.
If you want to know more about what we are doing, do not hesitate to reach out to us by email at info(at)ensuro.co or through the following channels: Telegram | Discord | Linkedin | Twitter | Github | Website