Our first insurance product on the platform will be Android battery insurance. How this product will work in contracts layer:

The insurance product contracts

Main contract will be Product contract which holds all insurance product properties, balance and, list of policies and reference to the Premium calculator contract. Policies contain all audit-able details about policy evaluation dates, premium, payout size, device details on policy writing date and all details about the payout. Premium Calculator contract will hold a risk model with calculation formulas, base premium, and fees.

From the UI User will be able to select this product from the list:

Insurance products list

After product is selected and terms and conditions are met custom product wizard will popup with instructions what user should do and how to pair the device with the system:

Pairing

After system knows user Device id we will be able to calculate the premium:

Platform API will connect device data API and takes data required for insurance risk calculations. Sends that data to public Ethereum contract, receives a premium, claim amount, and with that data forms draft policy.

On the next step, the user can review policy and if it is acceptable make a payment which will activate policy.

Policy Activation

When payment is created and transaction succeeds our Transaction listener submits the policy to Product Contract and activates it.

Transactions Listener

Our Transaction listener service will work as background worker and helps to display transactions statuses in the user profile. It will help to make extra actions after transactions reach the final state.

Claim process will be very similar.

User comes to the active policies list, select policy and tries to claim.

Policies list

Claim process

In the battery insurance policy platform backend will call to Mobile data collector API for latest battery state, then validate received data in Premium calculator contract and if the battery is broken — update policy status. If battery wear level falls in levels, defined in the risk model, the payout process will start, else nothing will happen.