Trade, swap & sell NFTs. The NFT20 protocol offers NFT liquidity pools to help developers build the next generation of NFT apps.
NFT20 is a permissionless p2p protocol to tokenize, swap, buy and sell NFTs and make them tradable on decentralized exchanges such as UniSwap or Sushiswap. Anyone can add their NFT to the appropriate pool and receive ERC20 token derivatives representing that NFT project which can be traded on dexes right away. By creating a secondary market of ERC20 derivatives backed by NFTs, NFT20 hopes to address the liquidity problem in the NFT space. Addressing this problem allows for arbitrage opportunities, allows investors to gain price exposure to NFT projects without identifying and buying individual NFTs, and allows for fairer price setting and easier trading of NFTs by collectors and newcomers alike.
The history of NFTs has shown that a very small portion of NFTs stay valuable over the long term, with most NFTs losing their value after a few months and becoming illiquid. For example, looking at sales of Crypto Kitties over the last week of 2020, we see a total of 1,051 kitties sold on secondary markets for a total of $23,000. However, the biggest sale that week was recorded at $1,200, with only 61 sales (about 5.8% of all sales) over $100. Most kitties would trade for only a few dollars. (source: CK on NonFungible.com). While Crypto Kitties is one of the most popular NFTs, with nearly two million items held by nearly 100,000 addresses, the lack of liquidity for NFTs particularly impacts smaller projects. When combined with the high fees taken by secondary market platforms and their creators, NFT projects can quickly find themselves held back by the liquidity problem in the NFT space. The goal of NFT20 then is to give project owners, collectors, and investors a better way to trade and value NFT tokens (ERC721 and ERC1155) by creating ERC20 derivatives.
NFT20 allows users to receive ERC20 tokens representing NFT projects by depositing their NFTs into our pools. When adding your NFT to the pool users will deposit a NFT (e.g. Hashmask) into the respective NFT project pool (e.g. the Hashmask pool), and the NFT20 Factory will create 100 ERC20 tokens that represent that NFT. Depositors will receive 95 of these tokens and 5 are kept by the protocol as fees. If you don’t see an NFT pool yet for your NFT, you can always create a pool by depositing your NFT and following the process here. Project owners that want to take advantage of NFT20 as a way to provide easier trading and collection of their NFTs can look at the project owner guide here.
At first, we expect users to deposit low value NFTs into these pools, thus creating an average price per NFT per project due to OpenSea + Uniswap arbitrage. However, if you believe you have a higher value NFT, you have the option of creating a decentralized dutch auction right within the NFT20 asset page to get paid a higher amount of the ERC20 tokens for that NFT project.
NFTs that are held in their respective pools can be withdrawn at any time by any user depositing 100 of the relevant NFT tokens. The user then picks which NFT available from the pool to withdraw. This feature makes the NFT20 dex not only a trading mechanism, but an NFT swapping mechanism as well.
Example1: Linda owns 1 NFT Crypto Kitty that she can’t sell, she goes to the Crypto Kitty NFT20 asset page and deposits the Crypto Kitty NFT and gets 95 $KITTY tokens. She can now go to Uniswap and trade them right away, or use them to provide liquidity on Uniswap for fees.
Example2: Katherine owns a Gen 0 Crypto Kitty NFT that she thinks is worth more than 100 $KITTY tokens, so she creates a dutch auction for the market to decide a fair price in $KITTY tokens. She can cancel the auction at any time if the NFT is not sold.
Example3: Enea owns a Gen 0 Crypto Kitty NFT and on the NFT20 Crypto Kitty pool he sees a Gen 1 Kitty he likes. He can swap his Gen 0 for the Gen 1 Kitty without needing to tokenize.