Readers may be familiar with Fungify’s NFT Index. It allows everyday users to obtain broad NFT exposure by just purchasing the $NFT token. It also allows collectors to use their NFT as collateral in a loan, receiving $NFT in exchange. However, without the ability to borrow against $NFT, users aren’t able to obtain stablecoins or ETH for the purposes of yield farming or leveraging up their position.
The Fungify Lending Pools, originally intended as a solution to the problem of creating lending liquidity for $NFT borrowers, function as a fully general solution to the rest of NFT DeFi, allowing NFT shorting, cross-margined NFT collateralized loans, and lending yields on NFTs.
Supply
The lending pools accept NFTs along with ETH, USDC, $NFT, and USDT as supplyable assets. When an asset is supplied, it is automatically used as collateral and contributes to a user’s Borrow Limit. The degree to which any given asset contributes to the Borrow Limit is determined by the asset’s Collateral Factor (CF). Assets that are more liquid and less volatile have higher collateral factors and therefore contribute more toward the Borrow Limit. A full accounting of each asset, its collateral factor, and its attendant risk parameters can be found in the Risk Assessment Framework section.
When an asset is supplied, the user receives a corresponding fToken whose exchange rate always increases against the underlying in proportion to interest accrued. An exception to this is supplied NFTs, which accrue fUSDC as interest.
Withdrawals
When an NFT is supplied, it allows others to borrow it while the supplier earns interest in the form of USDC. The trade-off is that the protocol does not guarantee that an asset with the same NFT ID will be withdrawn once a user has finished supplying it. A concrete example: if a floor Cryptopunk is supplied and borrowable, and the user withdraws the Cryptopunk, then they will receive a random Cryptopunk from the lending pool rather than the one they deposited.
Borrowing
Once a user has supplied assets, they may borrow against them up until the Borrow Limit. If the assets supplied as collateral are NFTs, then USDC must also be supplied in order to facilitate interest payments. If the amount borrowed exceeds the Borrow Limit, the collateral is auctioned off until the user account is solvent. If USDC supplied drops to zero while borrowing NFTs against NFT collateral, the collateral asset is sold and the loan closed. To close the loan, the user may repay the principal using any NFT from that collection.
While an asset is used as collateral, its corresponding fToken cannot be transferred or moved from the wallet taking out the loan.
Interest Rates
Each asset has its own interest rate market, with rates determined by the utilization of free liquidity. As demand for supplied assets increases, borrowers pay proportionately higher interest rates (and vice versa). Interest is accrued each block, which increases the exchange rate of fTokens relative to the underlying. Interest accrues to NFT suppliers by incrementing upwards their balance of fUSDC; this is proportional to the reduction of the fUSDC balance of NFT borrowers.
Liquidations
When an account’s borrowing exceeds its borrow limit, a liquidator can seize the account’s collateral at a discount in exchange for repaying the principal. The amount of collateral that can be seized is related to the asset’s Close Factor. The size of the discount is determined by the Liquidation Incentive. In the case of ERC20 assets, this incentive is modest (6%) and in line with other lending protocols. In the case of ERC721s, the discount is equal to the remaining value of the NFT. This is a consequence of NFTs being indivisible, unlike ERC20s.
Liquidators can liquidate multiple assets simultaneously, which may sometimes be necessary when an account is collateralized across a mix of ERC20 and ERC721 assets.
Risk Assessment Framework
Each asset has a collateral factor, liquidation incentive, and borrow cap. These factors are based on the volatility and liquidity of the asset.
Dive Deeper
Join us on Discord.