topMantleNFT: a decentralized NFT marketplace built on Mantle

topMantleNFT is an automated market maker protocol that facilitates NFT-to-token swaps (and vice versa) using bonding curves. 

Liquidity providers (LPs) can deposit assets into single-sided buy or sell pools, or into dual-sided trade pools which buy and sell NFTs.

topMantleNFT makes no distinction between different ERC721 IDs. Pools that are willing to buy or sell NFTs will return the same price no matter which NFT is sent in or out from the collection.

How does it work?

  1. Liquidity providers deposit NFTs and/or an ERC20 token into liquidity pools. They choose whether they would like to buy or sell NFTs, specify a starting price and bonding curve.
  2. Users can then buy NFTs from or sell NFTs into these pools. Every time an item is bought or sold, the price to buy or sell another item changes for the pool based on its bonding curve.
  3. At any time, liquidity providers can change the parameters of their pool or withdraw assets.

Pools use a bonding curve (a mathematical formula which defines the relationship between an asset's price and its supply) to determine the relative price at which one asset is traded for another. Let p be the price and s be the supply, then some examples of bonding curves are:

  • Linear
  • Exponential
  • Constant-product (asymptotical)

In addition, to showcase topMantle, we have deployed 3 collections of NFTs on the Mantle Blockchain, whose images were created through a generative artificial intelligence called DALL-E:

  • Queens of Damnation 0x9BDCf71048DFd8ef1C03a7ae3EDe79F04A096B7F
  • Capybara birthday 0x4E457c172144D4a1f08F61F54A37dd819a6ba28E 
  • Faces of truth 0xfbC71A6Ba7DdF32bD2C53ec0A9bd5df4e0d828Ac

We also deployed an ERC20 token called MantleMonke 0xaDe2910F16c1f2cFe963d84d248d85748288D6Ca. Next, we needed a stable coin to reference our market. For that, we created the BITUSD ERC20 token 0x00C6222A800Df9a4D8358Bbd65D3D7B142AA4B8B, whose emission is dictated by the BIT/USD pair price retrieved from the Goerli testnet by means of the Pyth offchain pricefeed oracle. Our offchain server feeds this information into our  MasterOracle contract 0x64a7B710578A1c68C3B63D836ADDfb9939c80b83, which BITUSD retrieves its price from whenever someone attempts to mint BITUSD.

Finally, we deeply believe that web3 is a powerful tool to promote fair and responsible governance action and empower those who are voiceless. For that reason, we integrate a system to contribute part of the protocol's earned fees towards public goods previously voted by the topMantle community. Right now, we are rooting for the ByeByePlastic Foundation (, but this can change in the future.

Donate to the initiative here: 0x1790b48CD049D5197458becc1fBeeE4bB985e589

Our intention is to use the fundamental building blocks available to create a NFT-DeFi ecosystem on top of Mantle while contributing towards a better future.

Find our demo videos here!