🖼️AMM NFT Marketplace
Shadow AMM NFT Marketplace is a new marketplace protocol that changes the way we think about NFT's Liquidity and Trading. This changes how users perceive NFTs as a whole while users hold a series of NFTs they cannot sell immediately due to low liquidity. it is an AMM protocol for NFTs, which means that users buy from or sell into liquidity pools instead of directly trading between themselves. If you're familiar with Uniswap, it's a similar concept but for NFTs
The ShadowSwap AMM Marketplace is a minimal, gas-efficient AMM protocol for facilitating NFT (ERC721s) to token (CORE or other Tokens) swaps using customizable bonding curves. Liquidity providers (LPs) can deposit into single-sided buy or sell pools, or provide both sides with a spread to capture fees.
The base unit of the protocol is the Pair Contract
which can hold NFTs, tokens or both. End users then interact with Router Contract
to swap across multiple pools and manage their approvals on one contract.
How can this Benefit The Shadows and Core Ecosystem.
the marketplace contributes to the growth and vitality of NFTs on Core ecosystem by providing increased liquidity, decentralization, accessibility, and innovation to the NFT market.
Architecture
How Does Shadowswap Work?
Here's how it works: 1. Liquidity providers deposit NFTs and/or CORE (or an ERC20 token) into liquidity pools. They choose whether they would like to buy or sell NFTs (or both) and specify a starting price and bonding curve parameters. 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.
What Is A Liquidity Pool?
A pool, or liquidity pool, is a smart contract that allows you to instantly swap between two assets. On shadowswap, the most common type of pool is an NFT<>CORE pool, which means that anyone holding NFTs from that collection can instantly swap them for CORE, or vice versa.
Pools use a bonding curve to determine the relative price at which one asset is traded for another. The more an asset is bought from the pool, the more expensive it becomes. Conversely, the more an asset is sold to the pool, the cheaper it becomes.
Ideally, a pool contains some amount of both assets, enabling users to swap back and forth between them. However, it's also possible to create a pool with just one asset, meaning that users will only be able to buy that asset from the pool.
A bonding curve is a mathematical formula which defines the relationship between an asset's price and its supply. Bonding curves are a key feature of automated market makers since they are used to algorithmically adjust asset prices.
shadowswap supports three types of bonding curve: linear, exponential, and XYK (constant product).
Linear
With a linear bonding curve, the price of an NFT is increased by a flat amount (called delta
) every time an item is bought from the pool. Conversely, the price of the NFT is decreased by that same flat amount every time an item is sold to the pool.
For example, a liquidity provider may create an NFT<>CORE pool with a Start Price
of 1 CORE and a delta
of 0.1 CORE. Assuming they provide enough liquidity, the price of an NFT will increase to 1.1 CORE after one item is purchased from the pool. After a second item is purchased, the price will increase to 1.2 CORE, and so on and so forth. At any point, if an NFT is sold to the pool, the price will decrease by 0.1 CORE.
Exponential
With an exponential bonding curve, the price of an NFT is increased by a certain percentage (also called delta
) every time an item is bought from the pool. Conversely, the price of the NFT is decreased equivalently every time an item is sold to the pool.
To calculate the equivalent decrease, convert the percentage to a decimal index (e.g. for 50%, the index would be 1.5) and divide the price by this number.
For example, a liquidity provider may create an NFT<>CORE pool with a Start Price
of 2 CORE and a delta
of 50%. Assuming they provide enough liquidity, the price of an NFT will increase to 2 + 50% = 3 CORE after one item is purchased from the pool. After a second item is purchased, the price will increase to 3 + 50% = 4.5 CORE, and so on and so forth. At any point, if an NFT is sold to the pool, the price will be divided by 1.5.
XYK (Constant Product)
With an XYK curve, the price of an NFT is adjusted every time an item is bought from or sold to the pool, such that the product of two virtual reserves remains constant after every trade. These virtual reserves correspond to the number and value of NFTs the pool will buy or sell.
An additional concentration parameter allows liquidity providers to adjust (i.e. tighten or loosen) XYK curves.
Stay Tuned For More Information
Last updated