BlockHouse
Buy, sell and list NFTs representing fractional real estate ownership affordably and securely on Aurora.
- Get your fraction of the rent every month directly in your wallet!
- Exit your investment easily on our marketplace.
- Compound your rent revenues automatically.
- Borrow liquidity using your tokens as collateral.
The Marketplace is live on Aurora: https://blockhouse.jonathanlehner.com/
Disclaimer: The houses and prices displayed on the marketplace are not real. These tokens do not yield monthly income and are just listed temporarily for the Hackathon demo.
Inspiration
We are big fans of RealT (https://realt.co/). They make the US real estate market, an illiquid and heavily regulated form of investment, easily accessible and affordable, directly on-chain. We believe that we need more project like these, that brings real-world forms of investments assets on-chain. However, we think that the idea behind RealT can be pushed further. In fact, not only is RealT limited to the US market, we noticed that RealT tokens are difficult to sell as there are no dedicated marketplace for these kind of assets. Also, there are no easy way to automatically compound the revenue from RealT tokens. In addition, the scalability of RealT is limited since they manage all houses directly, while we plan to work with a global network of established real estate professionals.
With these limitation of existing projects in mind, and after discussions with real estate brokers in Switzerland, we decided to build BlockHouse. We aim at (i) facilitating the tokenisation and Web3 development process to real estate brokers who are not yet familiar with blockchain but who are interested in the possibilities offered by technology, and (ii) leverage the most recent innovations from the decentralised finance (DeFi) ecosystem to propose Real Estate NFTs owners good exit liquidity, collateralised loans, automatic compounding and multi-chain interoperability.
We do not position ourself as a competitor to projects like RealT, but rather as a complementary platform. We aim to be a dedicated marketplace where users can exchange and list their RealEstate tokens, and leverage the full benefits of DeFi with their illiquid assets. We provide liquidity with our marketplace, buybacks, and collateralised loans, and bring together real estate partners from different countries (Switzerland, Singapore, Korea).
What we accomplished
We are working closely with a real estate broker in Switzerland, Carlos Kuk from ImmoTrust AG. Our project is ambitious and we did not have the time to finalise everything during the Hackathon. Still, we have accomplished several important milestones:
- For real estate broker partners, we built a specialised minting UI where they can, after our vetting, mint new tokens for the houses they want to tokenise.
- We built the BlockHouse marketplace, where users can buy, list and sell real estate tokens
- We implemented collateralised loans, where users can stake their Real Estate NFTs to borrow FungibleBlockhouse (FBH). FBH is a stablecoin overcollateralised by Real Estate Tokens and that can always be exchanged to USDC with a 1:1 ratio through a price stability mechanism (PSM) similar to the PSM in MakerDAO.
What's next for Blockhouse
- Implement automatic compounding of the monthly revenues from the rent
- Implement real estate investment pools where users can invest in a collection of houses rather than a single one in order to reduce the risk.
- Acquire more Real Estate partners
- Smart contract audit
- Deal with the complex regulation associated to our services
How we built it
Smart contract: We coded our contracts in Solidity and used OpenZeppelin libraries for most of our functions. Our NFTs were implemented as ERC721. All our contracts are upgradable and we used hardhat to deploy, test, interact and update our contracts.
WebApp: We built the application with ReactJS on the frontend, and MeteorJS, a NodeJS framework, on the backend. We deployed our application with docker on an AWS virtual machine. We upload the metadata and images of our NFTs to IPFS with the Infura API through our backend. We interact with the smart contracts with web3.js. We also used the web3modal to enable login both with MetaMask and with Wallet Connect. We deployed our smart contracts on NEAR's Aurora Mainnet.
Challenges we ran into
Programming and interacting with upgradable solidity contracts was challenging. We are still relatively new to blockchain and we find on-chain code particularly difficult to debug. Still, we eventually managed ! Regarding our webapp, it was challenging to only show the "approve" buttons for unapproved spendings and afterwards hide them and show the buttons for the actual contract calls. It was challenging to adapt our application to both work well on mobile and on desktop, in particular to not rely on MetaMask for the mobile views or any general RPC calls (e.g. when a user is not connected). Another challenge was uploading the images to our server and then passing them on to the Infura API for pinning to IPFS.
Accomplishments that we're proud of
Overall, we are really happy that we have a working prototype. Our contracts and UI really works and that we feel ready to actually mint and sell tokens representing house ownership in Switzerland. Feel free to try and buy some of the sample tokens listed on our marketplace.
Built With
- amazon-web-services
- aurora
- hardhat
- meteor.js
- near
- react
- solidity
Log in or sign up for Devpost to join the conversation.