Blockchain Technology in Real Estate Industry

Application Development

Our client is a Fortune 500 company, which is a leading title insurance and accounting service provider in the real estate domain. In particular, this company assists in protecting estate owners' rights from unforeseeable legal and financial claims once a transaction has been closed. Our team has been working with this customer for 20 years.

Business Challenge

The business domain our client works with assumes processing a large number of documents, namely, 100K daily or more. The parties of real estate agreements should exactly know who uploads documents into the system, who views them, and whether anyone makes changes to them.

For that reason, the client asked us for a blockchain based solution.


To see how blockchain would fit the client's system and whether there could be any hidden hazards, we started with creating a prototype. In particular, we needed to add the following features to the existing document repository:

  • Calculating hashes required to protect the documents from unauthorized changers by third parties; and
  • Integration with a distributed blockchain network that would enable storing the unchanged hashes transparently.

At the first stage, we enabled the app client side to work with the Metamask crypto wallet.

Establishing the connection with the client app and uploading any document automatically triggers execution of a smart contract, a piece of software that contains data and functions, has a certain blockchain address and runs on blockchain servers.

Once the smart contract has been run, the document receives a hash, a unique ID calculated based on a certain algorithm and subsequently converted into a line with symbols. Any changes made to the document also change the hash, which prevents any unauthorized third party access.

Thanks to using Metamask, we managed to quickly prototype the smart contract and its interaction, as well as demo such prototype to the client.

Such an approach, however, would require all users to install the Metamask extension and have some crypto money on the account to run transactions. This requirement was unlikely to be met.

This was how we arrived to the second stage, when we integrated blockchain interaction on the app's server side, so that all internal processes might run unnoticed for users. Thanks to this, having a Metamask wallet was no longer necessary.

The new approach required a dedicated node connected to the blockchain network, which would host running the transactions of the relevant smart contract. In our demo app, we used Infura, an IaaS platform that enables connecting to Ethereum free of charge, without running your own node. As for the blockchain network itself, we used a test net called Rinkeby.

Here is how it works:

  • When the user uploads a document on the platform, it receives a hash.
  • The document hash sum and some other data, such as document ID and order ID, are injected into the blockchain.
  • Since blockchain is a distributed network that enables storing unchanged data transparently, one can basically guarantee no one made changes to the hash sum. To check whether the document was changed, you can compare its hash sum with the one stored in the blockchain.

As a result, our demo app was a .NET Core web service working with Ethereum compatible smart contracts that were temporarily running based on Rinkeby.


The Software Country team managed to develop a prototype of an app that enabled safe real estate transactions, in just three weeks. Thanks to blockchain, any user now can get true information on who uploaded the document, who it was forwarded to, and whether anyone made changes to it. Our client highly valued our solution.

Related Cases

Read all

Online Robotics Simulation Application

An educational robotics kit—a browser app simulating the whole process of building, programming and testing a robot.

Implementing LTI 1.3 for LMS

Implementation of the latest version of the standard, LTI 1.3 and in particular LTI Advantage.

OneRoster 1.2 Integration for LMS

A solution for passing grade information from the LMS to a student information system (SIS)