Hello imbrex community,

It is with great pleasure to announce the Tegula protocol, the engine that fuels worldwide real estate data interoperability, normalization, and standardization, is now open source!

Real estate agents know all too well the pains associated with listing and transacting property on a local scale, let alone nationally and internationally. Uncommunicative systems result in monthly subscription fees, stale listing data and third-party advertising that siphons off our leads to other agents.

Three years ago, I set out to solve data interoperability within my brokerage company. During the process, I learned there were 80,000 other real estate brokerages in the United States with similar connectivity challenges. To obtain listing exposure, firms like mine turned to Multiple Listing Services for regional exposure and larger portals for national. The problem was two-fold: First, we sacrificed control of our data in exchange for eyeballs and high subscription fees. Second, real estate is the largest asset class in the world, surpassing 217 trillion with no standard way of doing business digitally.

To solve this, the team and I turned to Ethereum, the Interplanetary File System, and OrbitDB to create a single, universal tool that transforms unstructured real estate data into normalized, standard schemas that can be shared universally between systems.

The Tegula protocol includes the Real Estate Standards Organization (RESO) Data Dictionary, that replaces unstructured schemas with portable, standard inputs, the InterPlanetary File System (IPFS) that replaces data silos and decentralizes storage, Ethereum that replaces opaque, proprietary central databases, with a public, validated, single source of truth and OrbitDB that serves as a decentralized, structured and immutable log for tracking listing data over time. OrbitDB stores a given listing’s UPI (Universal Property Identifier) and the IPFS hash relating to its encrypted data, all of which allows anyone using Tegula to read the log of those listings.

What does Tegula mean?

The name Tegula is closely aligned with imbrex. In ancient Greece, rainwater regularly penetrated roofing tiles, increasing disease and decreasing life expectancy. To decrease seepage, a small group of innovators replaced their wooden shingles with flat slats, predominantly made of fired clay. They called these slats “Tegula”. A tegula was a plain, flat tile, or a flat tile with raised edges, which was laid flat upon the roof. In a short period of time, the experiment seemed to be a success. However, due to the roof’s pitch, and with a gentle nudge from gravity, the tegula would gradually drift off the roof, eventually breaking upon impact. To fixate the tegula, a semi-cylindrical roofing tile called an imbrex was created. The imbrex laid over the joints between each tegula. When well-made and properly imbricated (overlapped), there was little need for further waterproofing or sealant. These two innovations led to the real estate industry’s first technological revolution. It seemed appropriate to name the protocol after the tegula, as it’s the primary infrastructure layer that, when connected, solves a ubiquitous problem in real estate. Tegula establishes the digital foundation that, when inserted between two disparate networks, provides a secure, cost-effective method for data exchange. Imbrex is a secondary layer on top of the Tegula protocol that provides consumer-facing tools while connecting real estate networks on a global scale. Together, these two technologies aim to provide the same timeless design as the tegula and imbrex.

Below, please find version 0.4.3. This version focuses on the US residential industry. The team will deploy commercial third quarter, 2019.

To promote the expansion and adoption of Tegula, imbrex will be offering bounties to developers that create new country schemas outside of the United States and open source them alongside the protocol. There will be additional details on the expansion program released in January. If you are interested in learning more, please email us at hello@imbrex.io.

If you’re less technical, we suggest you visit imbrex.io and create an account. Each time you add a listing you are directly interacting the with Tegula protocol!

Below, please find the necessary resources to get you started. If you have a question, feel free to contact our team anytime!


Github: https://github.com/dappcentral/tegula

NPM Package: https://npmjs.com/package/tegula

Crypto-JS – node crypto library universally available and used here for encryption
IPFS – decentralized file storage
OrbitDB – database methods atop IPFS
Web3 – Ethereum wrapper used here for address validation and sha3 hashing
Babel – ES2015 transpiling
Eslint – linting
Gulp – build tools for packaging
Mocha – unit testing
Prettier – opinionated code formatting

The core of the package is three main classes:

Decentralizer: the raw connection layer enabling adding and retrieving data directly to IPFS as well as in a structured event log via OrbitDB on IPFS

Encrypter: the encryption layer that securely encrypts/decrypts JSON data with a given key

Identifier: the identification layer for uniquely and consistently generating UPIs (Universal Property Identifiers) for listings based on their geo-coordinates.

These three classes come together in the ListingController and are then abstracted one step further in the Tegula class, which is what gets exposed by default. At the Tegula level, the three agnostic classes listed above are wrapped in listing-specific logic that enables the easy addition and retrieval of listings given a user’s address and an encryption key.