P

Prêt - A Peer to Peer lending & borrowing platform

A decentralised peer to peer platform to borrow and lend crypto from peers without the need for pools.

P

Prêt - A Peer to Peer lending & borrowing platform

A decentralised peer to peer platform to borrow and lend crypto from peers without the need for pools.


The problem Prêt - A Peer to Peer lending & borrowing platform solves

The inspiration for this idea occurred when I was trying to find opportunities to arbitrage in various lending and borrowing platforms like Aave and Compound; when it came to my attention that most of the platforms, while instant and extremely secure, have a huge difference in the APYs from the borrower's perspective and the lender's. For example, at the time of writing this, the Deposit APY for $DAI was about 10.75%, whereas the borrow APY is at 19.2% on Aave's markets.

These kinds of differences, while generated due to the pool logic, and totally fair, leave a lot of room for yearning better rates to both - the lender and the borrower. I wanted to find a way to close this gap and allow the lenders and the borrowers to come to a better rate between the markets' - a sort of a win-win situation, where the borrower can potentially get better (lower) rates and the lender gets a better bang for their buck (as they can negotiate a better rate than the markets).

Additionally, another issue that I wanted to solve was the ability of the users to provide a custom liquidation threshold. In traditional markets, these are fixed and decided by the app makers, or a DAO. This effectively restricts their risk appetite and handcuffs them to the ones provided by the pool. If someone with a lower risk appetite wants a lower liquidation threshold, they should be able to get that and adjust the reward (The APY) accordingly.

However, it's not all sugar. Such a system, while encourages better rates to the parties, also might not be a good way to get immediate or large loans. In fact, your bid may never be fulfilled by a lender, leading you to edit your specs multiple times before you get a lender to help you out. Additionally, this system potentially restricts large orders, as you may not find a single lender to fill your demands. Both these problems are on our radar, and we have potential solutions for them both, none of which were yet implemented (more on those below)

Challenges I ran into

I think the biggest challenge I came across was creating the architecture for the idea. While I've been in the crypto space for a while, and have been following multiple DeFi projects for quite some time, I've never had the luxury to design one, and boy it is hard. Web2 applications are much more intuitive, and definitely a lot more easy to design in sense of security, so this was definitely a challenge. In a way, you have to sort of "adjust" your mind to write web3 apps differently.

And then there is the getting used to developing and writing the contracts, and testing them. As a web2 dev, this is something that definitely takes time, and will require a couple of projects to get used to (and I look forward to it!).
Additionally, I think a lot of Solidity development is still "bare-bones". With traditional languages & apps, it takes one quick search to understand what you need to do, or there's always a library to do it for you, or at least web2 dev is much quicker than what I felt it was for DApps. It could be my lack of access to boilerplates or the right places to look for experience, but it's something that hinders the dev experience (could be just me as well 😔)

I had a lot more features originally planned (including L2 for opening bids, support for multiple currencies and partial bid filling), and I will be working on them after this (probably over the summer, so look out for our app on the mainnet soon!)

Consider this a pre-alpha version, just a Proof of Concept of what's possible!

Discussion