Lend and borrow Ethereum ERC-721 tokens with LEND721 platform
By: Deimantas Špučys
Tags: Smart Contracts, Lending, Ethereum, Erc721, Nft

https://rinkeby.lend721.app in action 📸

EDIT: We’re on Ethereum mainnet! 🐪 🚀 🙌 🎉 https://medium.com/@deimantasspucys/launching-lend721-platform-on-ethereum-mainnet-e5054b040446

What is this? 🤷‍♀️

Everything has prelude — together with Pillar team we decided to hack at ETHDenver 2020 and out of discussions with Drew Harding on what would be interesting to build we came up with idea to build ERC-721 tokens lending platform. So we did LEND721.

LEND721 is P2P ERC-721 token lending platform which includes Smart Contract as escrow. Platform allows any ERC-721 token holders to put their tokens in lend and earn interest from it therefore borrowers pay collateral (in DAI) for lending ERC-721 and use it until lending reaches deadline.

By enabling the ability to loan any NFT, LEND721 creates new liquidity for digital collectibles and virtual land. With the emergence of new platforms like Rocket DAO, which offers loans against ERC-721, providing and validating a revenue stream for NFTs will allow for lower APR and better credit lines.

This can be disruptive for Ethereum blockchain gaming as well — imagine borrowing planets of 0xUniverse to get resources you need only for some rocket launches or getting that boost on any other ERC-721 token based game that can give you additional power only to jump over level or reach specific stage.

We developed two things — Smart Contract and dApp. Our Smart Contract takes care of managing collateral, earnings and ERC-721 while dApp is pure front-end interface to connect with our Smart Contract.

How it works? 🧨

Lenders allow Smart Contract to use their ERC-721 token (first transaction) and then sets lending settings (second transaction). Lending settings should contain token’s initial worth and earning goal and max. duration in days/hours for each lend. Once lending is set then ERC-721 is taken by LEND721 Smart Contract and is put in borrow pool.

allow Smart Contract to use their ERC-721 token (first transaction) and then sets lending settings (second transaction). Lending settings should contain token’s initial worth and earning goal and max. duration in days/hours for each lend. Once lending is set then ERC-721 is taken by LEND721 Smart Contract and is put in borrow pool. Lender can cancel his lending and get back his ERC-721 anytime, but ERC-721 must not be lent yet. If ERC-721 is lent then lender can either wait until max. lending duration ends or borrower ends borrowing. If borrower is not willing to send borrowed ERC-721 back then after max. lending duration reaches deadline then lender can claim borrowers collateral of token’s initial worth + interest, however, by doing this lender loses ownership to lent ERC-721, but this is the only way to satisfy both parties on lend deal.

can cancel his lending and get back his ERC-721 anytime, but ERC-721 must not be lent yet. If ERC-721 is lent then lender can either wait until max. lending duration ends or borrower ends borrowing. If borrower is not willing to send borrowed ERC-721 back then after max. lending duration reaches deadline then lender can claim borrowers collateral of token’s initial worth + interest, however, by doing this lender loses ownership to lent ERC-721, but this is the only way to satisfy both parties on lend deal. Any ERC-721 that has settings set can be lent by others. Borrower needs to allow LEND721 Smart Contract to use collateral in DAI (first transaction) which sum contains token’s initial worth and earning goal set by lender. Once collateral sum is approved to use then borrower can start borrowing (second transaction) and take full ownership of selected ERC-721 token.

needs to allow LEND721 Smart Contract to use collateral in DAI (first transaction) which sum contains token’s initial worth and earning goal set by lender. Once collateral sum is approved to use then borrower can start borrowing (second transaction) and take full ownership of selected ERC-721 token. Borrower can return borrowed ERC-721 anytime and expect to get back one part of collateral back (token’s initial worth), the other part (lender’s earning goal) goes to lender as interest.

can return borrowed ERC-721 anytime and expect to get back one part of collateral back (token’s initial worth), the other part (lender’s earning goal) goes to lender as interest. If borrower refuses to stop ongoing lend then after lending reaches deadline (set by lender in first place as max. duration) then lender can claim all of his collateral leaving possess of lent ERC-721 to borrower.

How to try LEND721? 🙌

Currently testing is available on Rinkeby testnet.

Visit https://rinkeby.lend721.app for LEND721 app and make sure you’re on Rinkeby.

Get Rinkeby testnet ETH from Rinkeby faucet or message us in our Telegram group.

Get Rinkeby testnet DAI by minting it from testnet’s DAI contract or message us in our Telegram group.

Buy Rinkeby testnet ERC-721 tokens on https://rinkeby.opensea.io.

What’s next? 🐪

Plan to go Ethereum mainnet within couple weeks.

Find and fix all possible bugs, resolve any security weaknesses.

More supported wallets.

Possibly hook API to allow external interactions with Smart Contract.

Listen to community and improve.

Feel free to support us on Gitcoin grants — https://gitcoin.co/grants/464/lend-and-borrow-ethereum-erc-721-tokens-with-lend7! 🙌