Rent Protocol

Owner can transfer NFT to borrower with zero collateral and no escrow account
The protocol secures tokens by a set of contracts deployed that are managed by the smart contract. NFT Owner can simply invoke the smart contract and initialize, sets the rules of the contract, and deposits their NFT to the protocol. Borrowers, or customers, can claim the token, and get conditional ownership as parameters set by the issuer.
The protocol works permissionless without needing any collateral or integration and aims to solve the following :
  • The capability to share idle digital assets ( In-game assets, tokenized real estate, digital content, etc. ) for their utility and generate interest
  • Lowering the entry barrier for new consumers by providing a medium to experience at low cost and then make the buying decision
  • Simplifying asset management for institutional holders such as gaming guilds, and DAOs by enabling private rentals. They can simply whitelist the beneficiary's address ( Scholars, etc. ).

Initialize Smart Contract

The owner of the NFT can initialize a smart contract and Program derived address ( PDA ) is created from the mint key of the NFT to store specific data including payment rate, expiry, transferability, and state (issued, transferred, or terminated).
  • Owner invokes StreamMoney smart contract and transfers ownership of NFT to contract-owned PDA.
  • PDA is created using program ID and mint key as bump seed. Thus, every token is going to have a unique PDA.
  • Conditional ownership constraints are written to PDA's data including payment rate, initial owner, expiry, borrower, state, etc. Once issued, the state is set to "issued".
  • All NFTs held by StreamMoney smart contract can be queried with a specific filter to list on any marketplace.
  • When NFT is claimed by the relevant party, NFT moves to the borrower's wallet, state changes to "transferred" and borrower, and expiry parameters are updated.
  • Upon the expiry of utility, withdraw function can be invoked to revoke conditional ownership and to terminate the contract, one or more invalidators can be assigned as the only public keys that can perform an expiry.
The lifecycle of the contract is completed upon cancellation, necessary payments are settled, and the token is returned back to the issuer ( and can no longer be used in case of use-based expiry).