Inspiration

Most NFT marketplaces nowadays operate in an order book manner, meaning that it works in an auction manner. To determine a final price on a marketplace such as Opensea, Mintbase or Paras the NFT usually go through a bidding process where the seller sets a floor price, and the cost of the NFT changes as users bid on the NFTs. In addition, the owner can change the price of the NFT based on the demand of the market to have their NFT sold. On an order book marketplace, users need to adjust their prices manually. This model is inefficient and borderline intractable to attract liquidity for NFTs. All this can take time and be frustrating for traders and content creators.

What it does

We propose a solution to this problem, we are proposing to create an NFT AMM where users can instantly sell their NFTs or buy certain NFTs. Our mission is to create a mechanism to enrich the liquidity for NFTs, triggering the trading demand by creating more arbitrage opportunities, and increasing the ease of trading as well as trading volume. This leads to more incentives and benefits for NFT content creators, attracting more content creators from the traditional content market to NFTs and Web3. NearFT will be also integrated into the NearFi mobile wallet, making the trading experience much smoother for all users. The integration also creates the best experience for content creators and/or start-ups to raise funds through creating an NFT pool.

How we built it

The NearFT AMM is designed to facilitate a new way to trade NFTs. The goal is to ensure that anyone can add liquidity to an NFT collection and earn trading fees. The AMM will use the supported linear and exponential curves to adjust NFT price in the pools when there are swaps.

  • Linear Curve The linear curve performs an additive operation to update the price. If a user buys an NFT from a pool, the price of an NFT will be the current price plus a delta. In the opposite, if a user sells an NFT to the pool, the price of an NFT will be the current price minus a delta.

  • Exponential Curve The exponential curve makes a multiplicative operation on NFT token price. The delta is evaluated as a multiplier or percentage with 10^18 as 1. For example, if delta is 1e18 + 1e17, this represents a 10% change in price each time. If a user buys an NFT from a pool, the next price will be multiplicatively delta more. Conversely, if a user sells an NFT to a pool, the next price it will quote to purchase NFTs at will be multiplicatively delta less.

There will be 3 types of pools in NearFT:

  • NFT pool: The creators deposit only their NFT. They will receive NEAR tokens as others swap their NEAR tokens for the deposited NFTs. The creators can set an initial floor price, which will increase when users trade NEAR for NFTs. This is a great way for content creators to monetize their artworks by creating NFT pools.
  • NEAR pool: The creators deposit only their NEAR token. The pool owner can set an initial price for NFTs that the pool owner is willing to buy. Any user that owns an NFT specified by the pool can sell the NFTs for NEAR.
  • TRADING pool: The creators deposit both NEAR tokens and NFTs to the pool. It is similar to a UniSwap liquidity pool. The creator can set the initial price for NFTs in the pool. Anyone can buy/sell NFTs using NEAR.

Some other unique features of NearFT AMM:

  • Once a transaction is executed, the price changes depending on the curve set by the pool creator.
  • No bidding and easily set price parameters for seller’s collection.
  • No royalty fees, only exchange fees (0.5%).
  • Creating specific pools for individual collections.
  • There are 4 types of swaps :
    • NEAR-to-NFTs: buy a random list of NFTs or a specified list of NFTs from a pool with NEAR as a payment token.
    • NFTs-to-NEAR: sell a list of NFTs to NEAR.
    • NFTs-to-NFTs: this is an arbitration for NFTs on NearFT. Any user can make this swap when there is a difference in the prices of NFTs of the same collection in different liquidity pools. Users can swap from a list of NFTs for NEAR on a pool, then from NEAR to NFTs on another different pool, which can be followed by swaps on any number of pools to get the desired NFTs. The owners of the pools in this swap type earn fees, just like liquidity providers on Uniswap-like AMMs.
    • NEAR-to-NEAR: this is another arbitration where traders can also earn NEAR when there is a spread of the same NFT collection in different pools.

Challenges we ran into

  • Different standards (with little differences) for metadata of NFTs in Near
  • Indexing liquidity pools quickly to find the best route when users do swaps

Accomplishments that we're proud of

  • A working protocol/platform that works as expected and it can complement the current state of the art of NFT marketplace in NEAR.

What we learned

  • NFT collections
  • Mintbase API

What's next for NearFT

  • More price curves will be used
  • An aggregate NFT marketplace protocol that automatically selects best price for buying NFTs from a collection. The aggregate protocol will scan popular market places such as MintBase, NearFT, and compare prices to find the best price for users

Built With

Share this project:

Updates