๐Whitepaper
FluidNFT Protocol V1
Last updated
FluidNFT Protocol V1
Last updated
Here we present FluidNFT, an NFT lending protocol designed to democratise capital efficient borrowing and lending against any NFT. The purpose of this White Paper is to describe how FluidNFT works and how it's being used to pioneer "The Creator Economy 2.0".
In a world where secondary market royalties are trending to zero we believe NFT lending royalties create a more sustainable model for creators and collectors to align capital and incentives around a shared mission and prosper together.
FluidNFT defines "NFT lending royalties" as half of all protocol fees; shared with the creator.
Creators are able to maximise revenue by providing this utility to their community themselves; depositing liquidity to receive both interest and royalty payments.
If NFTs are to succeed as a long-term asset class, unlocking liquidity and improving lending and borrowing infrastructure must go hand in hand [1].
Existing NFT liquidity protocols were not designed to manage the risks associated with the most illiquid and / or volatile assets. FluidNFT is designed to enable capital efficient lending and borrowing against any asset; from Blue Chips to the Long Tail.
FluidNFT Protocol V1 is deployed as a Peer-to-Pool (P2Pool) NFT lending protocol.
Lenders deposit fungible (ERC20) tokens into lending pools for instant yield. Borrowers collateralise their limited (ERC721) or open edition (ERC1155) NFTs for instant liquidity.
Lenders to lending pools receive interest-bearing ERC20 fTokens which can be redeemed for the underlying assets in the pool at any time (similar to AAVE's aTokens [2]).
Borrowers from lending pools receive interest-accruing ERC20-compliant dTokens that can be burned at any time on repayment of the debt. These debt tokens are non-transferrable.
FluidNFT loan durations can be fixed-term with perpetual refinancing, or open-ended.
All FluidNFT loans accrue interest pro-rata. Borrowers pay interest only for the duration of the loan and save money by repaying loans early. This means borrowers can de-risk by taking out loans at a longer-term duration than they need without incurring any additional expense.
Fixed-term loans may be repaid or refinanced anytime before maturity. After the maturity date there is a grace period where borrowers can repay or refinance their loan by paying an additional fee. After the grace period a liquidation auction may be triggered.
Fixed-term loans can be perpetually refinanced anytime before maturity. Borrowers simply stipulate the new loan amount and maturity, with the option to partially repay their balance or borrow more against their collateral.
Open-ended loans have no maturity date but may be force liquidated should they become undercollateralised. A buffer between the maximum LTV and Liquidation Threshold is maintained to help users manage this risk. Notifications also warn users of when they are at risk of liquidation.
FluidNFT Protocol V1 is deployed as a P2Pool protocol to enable instant borrowing and lending. Our proprietary NFT Price Oracle supports floor-based, trait-based and tailored NFT pricing for any collection. This greatly increases the amount of capital that can be borrowed; especially against rarer NFTs. By enabling fixed-term loans with perpetual refinancing, we are able to maximise LTVs in accordance with current market conditions while mitigating the risk of accruing bad debt via defaults.
Permissionless listings within P2Pool models risk contagion; that bad debt against one collateral will affect the liquidity available across others. As we've seen with BAYC in the summer of '22, even blue chip NFTs are not immune to price manipulation [3]. Isolation pools enable liquidity against a single collateral-asset pair and limit downside risk solely to funds within each pool.
Isolation pools can be used by NFT creators, collection and lending DAOs to provide the utility of instant loans to their members as an additional revenue stream post-royalties through yield generation, and/or limit exposure to foreclosure against projects other than their own.โ
FluidNFT uses the standard kink (piecewise linear) model to manage liquidity risk and optimise utilisation. Parameters for each collateral-asset pair are calibrated independently to manage specific risks and incentivise liquidity within each pool [4].
A liquidation can be triggered when an open-ended loan is no longer overcollateralised or when s fixed-term loan maturity grace period expires. Within a liquidation auction there are multiple actors to consider; together with their own risks and incentives.
The majority of NFT-Fi liquidations currently use high-bid-wins; English auctions. Liquidation auctions are triggered only after a user deposits the amount of outstanding debt as the first bid. This is then staked for the duration of the auction or until this user is outbid. Issues can arise when a lack of bidding results in below-market liquidations that further drive down prices causing a cascade of liquidations and the accumulation of bad debt. [5]
FluidNFT uses Discounted Dutch Auctions to provide resistance to this, similar to the approach from Euler [6]. Discount rates are proportional to a lender's deposits which helps retain value within the protocol and disincentivises external price manipulation. By removing the requirement for staking against the amount of outstanding debt, liquidation bonuses can be kept low as users no longer risk locking capital within an untradable position.
Discounted Dutch auction start at a price many times more than the current valuation. This ensures the best possible auction sale price; to factor in any potential rarity not factored within our oracle.
Liquidation bonuses default to 10% meaning that 90% of the auction sale price (minus the outstanding debt) is transferred back to the borrower; that the borrower doesn't lose ownership without reasonable compensation, as occurs in existing NFT lending protocols.
Borrowers receive ERC721 Obligation Receipts on execution. These give the bearer the right to retrieve the underlying collateral on loan repayment.
Obligation Receipts can be freely owned, transferred and traded.
Delegation rights of the underlying NFT are set to the owner on mint, can be delegated to alternative accounts by the owner; which are reset to the new owner on transfer.
This is achieved through integration with Delegate Cash [7].
FluidNFT uses oracles to determine the amount of currency that can be borrowed against NFTs used as collateral and ensuring positions are sufficiently overcollateralised.
FluidNFT uses a trust-minimised method for accessing off-chain data on-chain [8]. Bit-shift operations are used in combination with price delta updates to minimise storage and transaction costs, and enable pricing for any collection at a fraction of the price of existing solutions, that is not limited to their current coverage (focused on Blue Chips).
Our NFT Pricing Oracle provides support at the collection-floor, trait and token-level. It can be scaled to any project from the Blue Chip to the Long Tail.
FluidNFT supports ERC6551 token bound accounts [9]. These are used to enable loan bundles; borrowing against an NFT and all the NFTs held within its token-bound account a.k.a. inventory.
This has the additional benefit of being able use additional collateral to resolve an open-ended loan collateral deficit, should the borrower be NFT rich but ETH poor.
With special thanks to the teams behind AAVE and Euler. FluidNFT's initial architectural design was based on AAVE and adopts some of the code. Subsequent improvements to enable permissionless listings, long-tail asset support, and the construction of configurable execution strategies were inspired by Euler. We are very grateful for their pioneering work in DeFi.