Skip to content

NFT-based RentPluz prototype implemented on XRPL.

Notifications You must be signed in to change notification settings

ravinsp/rentpluz-xrpl

Repository files navigation

RentPluz XRPL prototype

Demo: https://rentpluzweb.z8.web.core.windows.net/

NFT generation helpers: nft-helper.js

Ripple API helpers: ripple-helper.js

Compile and run

npm install -g @ionic/cli
npm install
ionic serve

Introduction

RentPluz (https://www.rentpluz.com/) is a self-management platform for property owners to get their properties rented to tenants and perform rental inspections. It was historically implemented as a conventional cloud application. In this prototype, we propose a XRPL trust-line/NFT-based way of representing legal relationships within the RentPluz system.

In this prototype proposal, we choose a subset of original RentPluz concepts and get them represented on the XRPL blockchain as NFTs. We have limited the scope of this proposal, to only establish the rental agreement between the property owner and the tenant. The discovery of potential properties and vetting of tenant candidates is intentionally left out for brevity.

Primary entities in the prototype

  • Property
  • Property owner
  • Tenant

On XRPL, each RentPluz entity will be represented by an XRPL Account.

Relationships

On XRPL, we represent connections between entities as relationship pairs which will be implemented as XRPL Trust Lines issued between XRPL accounts. Issuing trust lines between each other signifies the mutual agreement between the two parties to engage in the bi-directional relationship.

In essence, each relationship pair will become a NFT (Non-fungible token). This approach goes hand-in-hand with the premise of NFTs because each relationship pair is made UNIQUE and SINGULAR by the participants and the timeframe of the relationship.

Modeling relationships with NFTs

The following NFTs are generated to represent the above relationships. The NFT itself will be encoded in the Currency field of the issued trust lines.

Proof-of-ownership NFT: Encapsulates the Owns/Owned by relationship. Generated by hashing the property ownership information supplied by the owner.

Rental agreement NFT: Encapsulates the Rental agreement acceptance by the tenant and the fact that the property is no longer vacant. Generated by hashing the rental agreement supplied by the owner and the tenant. Owner and the tenant must independently arrive at the same NFT, granted they are both in possession of the same rental agreement.

Usage flow

Property owner setup

  1. Property owner creates an XRPL account for themselves and stores the account keys in their RentPluz wallet app locally.
  2. Owner creates an XRPL account for the property they own and stores the account keys in their RentPluz wallet app locally.
  3. Owner uses the RentPluz wallet app to create a scanned document bundle of their property ownership documents and generate a token hash for the document bundle.
  4. RentPluz wallet app then issues a trust lines containing Proof-of-ownership NFT from the Owner XRPL account to Property XRPL account and vice versa.
  5. After the above steps, the owner's property ownership is established on the public XRP ledger.

Tenant setup

  1. Tenant creates an XRPL account for themselves and stores the account keys in their RentPluz wallet app locally.

Finalizing the rental agreement

  1. The property owner and the tenant works out the terms of the rental agreement. (Happens outside of the RentPluz wallet app).
  2. Property owner feeds the rental agreement details to the wallet app and issues a trust line containing the Rental agreement NFT from the Property XRPL account to Tenant XRPL account.
  3. Tenant feeds the rental agreement details to the wallet app and issues a trust line containing the Rental agreement NFT from the Tenant XRPL account to Property XRPL account. a. RentPluz wallet app will first check whether the Property's XRPL account already has an active Rental Agreement trust line issued by someone, and fail to proceed if that's the case.
  4. The rental agreement is considered Finalized if the there are two trust lines issued containing the Rental agreement NFT between the Property XRPL account and the Tenant XRPL account.

Termination of the rental agreement (Not implemented in prototype)

  1. The tenant disables the Rental agreement NFT trust line that has been issued from Tenant XRPL account to the Property XRPL account.
  2. Then, the property owner disables the Rental agreement NFT trust line that has been issued from the Property XRPL account to the Tenant XRPL account.

Future scope expansion

RentPluz wallet combined with an appropriate smart contract could support following features in the future.

  • Making rental payments.
  • Rental marketplace to bring prospective candidates and property owners together.
  • Conduct rental inspections and sign off via NFTs.
  • Particpation of inspection agents and maintenance workers.
  • Provide end-to-end encrypted channel for the particpants to communicate.

About

NFT-based RentPluz prototype implemented on XRPL.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published