Min Read

Unlocking Efficiency with Insurance Claims on Blockchain

Ray Chen
Product Manager
February 14, 2024
Unlocking Efficiency with Insurance Claims on Blockchain
Since this post was written, Hyperledger FireFly has reached 1.0. Learn more here!

Our platform makes it simple to quickly stand up blockchain applications across industries, and some of our most successful projects have been in the insurance and healthcare space.

The ability to build collaborative business networks, tokenize claims, then automate payments on receipt of a claim has the potential to bring enormous efficiency to an expensive, paper-intensive process.

In this tutorial, we’ll look at how you can use the Kaleido platform’s FireFly Sandbox to set up a basic insurance claim application.

By the end of this article you’ll have:

  • Set up your own blockchain
  • Set up your own FireFly Sandbox
  • Uploaded Claims data to IPFS
  • Minted an NFT of a Claim
  • Created two nodes that represent two different insurance organizations
  • Transferred the Claim NFT and broadcast messages on the chain

This process will show how data can be transferred off and on the blockchain and demonstrate the ways Kaleido makes it easy to track and trace information.

Step 1: Create a Kaleido account

If you haven’t already, sign up for a Kaleido account here. Create an account and password and you will be all set. Everything in this tutorial can be done on the starter tier, which is free!

Step 2: Create a blockchain network

To get started, use the Create a Network button. This will prompt you to select your home region. Next you will set up your environment. For this tutorial, we will be using the FireFly Private Network Sandbox.

Create a blockchain environment screenshot

Next you will choose your protocol. For this example, choose Ethereum. Next you can deploy via cloud and select Besu as your provider and PoA as your consensus algorithm. For a more detailed look at protocols, consensus mechanisms, and other features, check out our blog on how to build a blockchain.

Hyperledger Besu chain selection in Kaleido console

In this tutorial, you will need to create two memberships, two FireFly nodes, two Blockchain Nodes, and two IPFS nodes. You can name these whatever you want however we will be referring to them with the following names.

Memberships (2): Insurance Company A, Insurance Company B

FireFly Nodes (2): FF_A_Insurance, FF_B_Insurance

Blockchain Nodes (2): Node_A, Node_B


Create a FireFly Supernode in Kaleido console

Setting up blockchain middleware in Kaleido app

You will work through a screen like the one above for both your Insurance Company A and Insurance Company B memberships.

Once your network loads, which may take a couple minutes, you will be brought to a dashboard that looks like this.

Kaleido blockchain console dashboard

Click the “Initialize” button which will begin the process for setting up your FireFly node and network. Check out the FireFly docs to get a more in-depth understanding on what FireFly does. A namespace is an isolated environment within a FireFly runtime. In this case, we will want to build a multi-party namespace for our two FireFly nodes that will give the two organizations the ability to establish on-chain and off-chain communication. Give your Namespace a name such as “Insurance_Namespace” and click “Initialize”. Then in the next screen reuse the Node and Organization (membership) names you created above and click “Register”.

FireFly node initialization in Kaleido console

FireFly node registration in Kaleido console
Namespace management in Kaleido console

Your Namespace should now be created and you may find this under “Namespaces” for your FF_A_Insurance FireFly node in the left nav. Repeat this process for the FF_B_Insurance FireFly node and make sure that the Namespace is also designated as “Insurance_Namespace”.

Node registration in Kaleido console
Network sandbox in Kaleido console

After completing the steps above, verify that both FireFly nodes are correctly registered to the Namespace. You can do so by clicking “Open Web UI” for the FireFly Explorer. You can find this by going to either of your FireFly nodes and selecting “Dashboard” in the left nav. If both nodes are registered correctly you will see something like the screenshot below where the Network Map shows both Insurance_Company_A and Insurance_Company_B.

FireFly dashboard in Kaleido console

Step 3: Deploy your ERC721 contract

Click on Digital Assets > Tokens to create your ERC721 contract. You can choose the signing account and utilize the Token Factory. For template type, select KaleidoERC721MintableBurnable and follow the instructions.

Smart Contracts in Kaleido console
Deploy smart contract in Kaleido console

Click “Deploy Token Instance” to deploy the smart contract to the chain. Now head over to Digital Assets > Tokens and you will see your deployed token. What we have just done is use the ERC721 contract template that was preloaded to create your own NFT contract. You may deploy as many NFT contracts as you want, however, for this demo we will only be using one.

Step 4: Teach FireFly about your NFT

Now that we have deployed an ERC721 contract, the next step is to mint a NFT of the Claim to Insurance Company A so that they can send it to Insurance Company B. First we’ll have to teach FireFly about your NFT. Copy the address of your contract from the screen below and then head to the FireFly Sandbox. To do so, go to FireFly > FF_A_Insurance > Dashboard and click “Open Web UI” for FireFly Sandbox.

Insurance claim token example

Navigate to the “Tokens” tab of the Sandbox and click into the Create a Token Pool box. Create a token pool by entering the Name & Symbol of the NFT you just created. Make sure Type is “Non-Fungible” and for the contract address paste the address that you copied in the previous step and click “run”. Once the operation is done, FireFly can now interact with your contract. You’ll see that balances for your token now appear as FireFly is now indexing your smart contract.

Insurance claim events dashboard

Step 5: Upload the Claim to IPFS

Head back to the Kaleido console and go to Blockchain > IPFS > IPFS_A and click “Open Web UI”.

IPFS dashboard in Kaleido console

IPFS view in Kaleido console

Click the “Files” tab and upload a Claims Form. For this tutorial we found an example claim off Google.

Insurance claim in IPFS

Take note of the URL of the file and copy it. Then go to your favorite text editor and input the following, replacing the IPFS url with what you just copied. Save the file as “claim.json”. This will be the metadata of your NFT. You can have any fields you want but we will use name, description, and image for now.


  "name": "User 1 Claim",

  "description": "Example of a Claim",

  "image": "https://u0ft4pca4s-u0kk2wcils-ipfs.us0-aws.kaleido.io/ipfs/Qmbo8PfVs4WWanjFPMboP8Gx5hunN1Tn5kLMmhvB3L1LVd/#/files/preview/Claim%20Form.png",


Now take note of the url path for your new JSON path. You will use this to input into the URI of your NFT. The URI is a reference that points to a resource. In this instance the resource is a JSON file but it could be any other form of data. The URI refers to the metadata or attributes associated with a specific token.

Step 6: Mint a Claim NFT

Head back to the Kaleido console and click on Digital Assets > Tokens and select your Claims token. Then select a signing account, give your token an ID, and click MINT. The token index keeps track of NFTs minted by the contract. Since NFTs are non-fungible, each NFT must have a unique index (i.e. no other token created can have an index of “1”).

Insurance claim mint in Kaleido console

You have now minted a NFT. Go to your FireFly Explorer UI and you will see your token transfer.

Token Transfer in Kaleido console

​​Step 7: Transfer the NFT and Broadcast a Message

Click on Transfer Tokens in the Sandbox and attach a message to let Insurance Company B know that the claim has been sent.

The message could be a simple text saying “sent” or you could attach files such as proof of claim or any other details. The message or file that you attach will be stored off-chain into IPFS.

If it is public the message will be viewable by all parties in your FireFLy network. If it is a private message only parties privy to the message will see the content. Other parties will see a hash of the message signifying that something has happened on the blockchain but not necessarily what.

Make sure to enter a token index of 1 (matching your minted NFT), select the correct recipient, and enter a Tag and Topic if you wish. The Tag and Topic are constructs that allow FireFly to better index and organize your messages and events.

Token Transfer in Kaleido console

Step 8: Explore the FireFly UI

Messaging is a powerful tool in FireFly as messages themselves are entirely off-chain. What this does is protect sensitive information by keeping it off-chain but having an on-chain proof that it has occurred. In this case, the NFT that is minted will forever be on-chain and tied to a hash. From those looking at on-chain transactions, this hash is indecipherable but those who have received the message off-chain would be able to see that the Claim is tied to the NFT.

Messages in FireFly are encrypted with 2 layers of encryption and what we’re essentially doing is using messages, encryption, and events to exchange information but using blockchain as the state machine or safekeeper or source of truth. Check out this article for an overview on deciding what goes on-chain vs. off-chain and tradeoffs in the decision.

In the FireFly UI click on Off-Chain > Messages and you will see the message you sent above from Insurance Company A to Insurance Company B.

FireFly dashboard in Kaleido console

Head to Blockchain > Events and you will see everything that has happened on chain. In this case this would include a token transfer (minting and transfer of a NFT) as well as BatchPins of off chain messages.

Blockchain events in Hyperledger FireFly

This Process Works Across Industries

The tutorial we just went through is a very simplified example of an insurance claims use case. In the real world, Insurance Company B would likely need to send some payment for the claim. But this example serves as a model for how Kaleido can help in delivery vs. payment (DvP) scenarios. Essentially, using this process, two parties could send assets to an escrow contract and utilizing various messaging, subscriptions, and event-listening operations, the application will facilitate a secure transaction between the two parties.

If an insurance claim app or another use case for DvP is your goal, schedule a demo with one of our blockchain specialists and we can help you get started.

Launch Your FireFly Sandbox

Start testing your blockchain use case by simulating a multi-party system for free.

Try it Free

Launch Your FireFly Sandbox

Start testing your blockchain use case by simulating a multi-party system for free.

Try it Free
Interested in Blockchain?

Start learning blockchain and creating enterprise solutions today with a free Kaleido account!

Create Free Account
Don't forget to share this article!
Interested in Blockchain?

Start learning blockchain and creating enterprise solutions today with a free Kaleido account!

Create Free Account

Launch Your FireFly Sandbox

Start testing your blockchain use case by simulating a multi-party system for free.

Try it Free

Launch Your FireFly Sandbox

Start testing your blockchain use case by simulating a multi-party system for free.

Try it Free

The Ultimate Enterprise Blockchain Glossary

Your guide to everything from asset tokenization to zero knowledge proofs

Download Now

Swift Utilizes Kaleido in New CBDC Sandbox

Learn how Swift, the world’s leading provider of secure financial messaging services, utilizes Kaleido in its CBDC Sandbox project.

Download Now

Related Posts

Comparing Hyperledger Fabric and Hyperledger Besu: A Deep Dive

Powerhouse Enterprise Protocols: A Comparison of Hyperledger Fabric vs Hyperledger Besu

How to Use the ERC-1400 Standard for Compliant Blockchain Securities

How to Use the ERC-1400 Standard for Compliant Blockchain Securities

Marc Lewis
Managing Editor
How to Manage Digital Asset with Our Next-Gen Asset Manager Service

Asset Manager Service: A Next-Gen Engine for Managing Digital Asset & Tokenization Projects

Marc Lewis
Managing Editor

Blockchain made radically simple for the enterprise

No Credit Card Required
ISO27K & SOC2 Type 2 Compliant
Free Training & Support