Tap into the equity of your home using Chainlink, IPFS, and NFT's.
Built for the Chainlink 2021 Fall hackathon.
HomeFi uses Chainlink and a combination of web3 services to administer and deploy smart contracts that represent home equity lines of credit.
Users can create the terms of the fundraise and allow others to deposit to it. Proof of ownership, such as a title or deed, is uploaded on HomeFi during the listing process. The app then collects the user's signature and uploads it as an image file to the IPFS folder for the property. After upload, prospective buyers/participants (up to the limit specified by the issuer) can discover previously-created listings and purchase units of ownership using attachments to the NFT metadata source of truth.
Each property gets deployed as its own smart contract. With the price/appraised value of the property fixed to the contract.
Note this app is a prototype and would need additional work to be production ready.
HomeFi has the following environment variables for interfacing with core blockchain services:
REACT_APP_NFT_PORT_KEY=XXX # your nftport.xyz api key REACT_APP_STORAGE_KEY=XXX # your web3.storage api key REACT_APP_MORALIS_ID=XXX # your moralis app id REACT_APP_MORALIS_SERVER=XXX # your moralis server id REACT_APP_ALCHEMY_KEY=XXX # your network-specific alchemy key
Sponsors: Chainlink: Each listed property is deployed as its own distinct smart contract. The smart contract maintains the owner and listing terms, as well as all the payers. A chainlink API call is made to fetch information ( appraise value, lat/lng location) dynamically about the property and save it to each contract. Moralis: Distributed mutable data storage for the marketplace metadata. Each contract/deployment is saved to a Moralis location. Moralis also facilitates app authentication. IPFS / Filecoin: Store property files, any signatures, and proof of ownership (ex: deed/title documents). NFTPort: NFT issuance for the issued real estate backed NFT (minting). The NFT is created at the time of contract creation. Alchemy: Maintains app high availability and serves app requests for the demo (could be updated to serve a production deployment). SmartZip: At or near the time of deployment, the property could be appraised. The smartzip oracle is integrated into the smart contract and can be (optionally) invoked to set the smartZipEstimate on the contract itself to track the property's value.
Define the above environment variables and run:
yarn && yarn start
By default, the app is configured for blockchain interactions against the rinkeby
eth testnet.
-->