Presentation
Inspiration
In many countries, flat tenants and landlords agree on a certain amount of money (called security deposit) to be given by the tenant and stored in the landlord’s or a third party’s bank account. This amount of money is returned in total or in part to the tenant at the end of the rental period if the flat didn't get damaged.
This system has multiple problems. When using a third party, both tenant and landlord need to trust the company they store the deposit to. When the deposit is just sent to the owner's bank account, the tenant still needs to trust this person. In any situations, some people in the deal are never really sure they'll see their money again. In addition to that, the process is cumbersome, especially in underprivileged parts of the world, because both parties need a bank account, because sending the funds can take long enough to threaten the conclusion of the deal, and because you might even need a clerk to oversee the whole process. Imagine having to do this for amounts smaller than in real estate, like car rentals, construction machinery rentals etc.
What it does
Thanks to SmartDeposit, all these problems are sorted. Any owner of any item can create a Vault in which the renter will send the deposit into. At the end of the rental period, owner & renter agree on an amount to be returned and both can withdraw their funds. During the rental, the funds are used for liquidity providing in the Aave protocol and a chainlink keeper automatically withdraw the funds from the protocol at the end of the rental.
How we built it
We've used Hardhat & Solidity to build the Smart Contracts, following the Factory pattern in order to create multiple Vault contracts following the same upgradable implementation. We've used some Netlify serverless functions to query more easily the vaults related to a single user. And we used React & ethers.js to present all this in the frontend.
Accomplishments that we're proud of
We're proud to have a fully functional product, smart contract, backend & frontend, at the end of this hackathon. We've been able to prioritize the key features we wanted to implement and build up from there iteratively. The test coverage of the smart contracts is also something we're proud of given the importance of the tests with this technology.
What we learned
Some team members didn't have any exposure to blockchain technologies prior to this hackathon so it's been a great adventure with tons of learnings for them. We dived a lot in what Chainlink had to offer too in terms of oracles, keepers etc and it's definitely something we are now comfortable using in other projects.
What's next for SmartDeposit
Keep building! There's still a ton of features we'd like to build, such as dispute resolution mechanisms, off-chain determination of the deposit chunk to return to the renter, storing of the image of the rented object on an ipfs etc..
Log in or sign up for Devpost to join the conversation.