/pawnft

NFT-collateralized lending primitive, via active auctions.

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

PawNFT

NFT-collateralized lending, inspired by conversations with Mark Beylin.

Credits

See @wilsoncusack's similar implementation, predating this one.

Thank you to @mrthankyou for volunteering to independently audit, and @wilsoncusack and @vasa-develop for their feedback.

Context

Non-fungible assets are difficult to price effectively, limiting their ability to be used as a form of collateral. Thus far, NFT-lending (see: nftfi) has been largely p2p with NFT owners proposing fixed loan requirements and terms, upfront.

PawNFT uses an active auction mechanism to achieve three results:

  1. Better price discovery for non-fungible assets through locked top bids
  2. Ability to draw capital against NFT collateral, through active bids
  3. Fixed-term, fixed-interest rewards for lenders

For NFT owners, PawNFT offers either: (1) a way to draw capital against their non-fungible collateral, or (2) a short-dated put on the price of their NFT (with the premium paid being the fixed interest to top bidder).

This implementation closely follows Mark's spec, save for adding cascading interest payments aross subsequent lenders (Mark's spec forces worst rates for future lenders).

Run locally

Contract code is found in /contracts and is a Hardhat project.

Front-end code is found in /frontend and is a NextJS application.

READMEs in resepective subfolders cover details.

License

GPL-3.0-or-later