Ladder Protocol is a decentralized NFT AMM, enabling instant NFT swaps and better price discovery. Ladder Protocol is a peer-to-peer system designed for exchanging NFTs (ERC20 | ERC721 | ERC1155) on [ETH], BSC & Polygon.
What are we solving for? Unlike other NFT marketplaces which operate on a central limit order book style of $exchange, Ladder protocol takes a different approach by using Automated Market Makers (AMM) and limit orders. By doing so, we aim to provide instant swaps for NFTs with low slippage and low fees.
Fees Fees that traders receive are paid in these three steps: Fees from each trade are paid in the tokens from the respective pool. All these fees will be swapped for fungible tokens. On a [daily] basis, protocol fees will be swapped for LAD tokens and paid out to stakers. Traders will pay 0.3% in fees. 0.25% will be allocated to liquidity providers while 0.05% of the trade will be a protocol fee. Protocol Fee Every time a trade is conducted on Ladder Protocol, users would have to pay a 0.05% protocol fee to LadderDAO.
This 0.05% protocol fee would then be split into 2 portions:
(1) 0.04% would be allocated to xLAD holders as staking rewards. (2) 0.01% would be deposited into the LadderDAO treasury.
Participants in governance will have the ability to change the structure of these incentives. [Selection Fee] The launch of Ladder Protocol V3, will start allowing traders to choose specific NFTs from the liquidity pool. However, by doing so, users are required to pay a 2.00% selection fee.
This 2.00% selection fee would be split into 3 portions:
1.00% would be allocated to LP participants. 0.60% would be allocated to xLAD holders as staking rewards. 0.40% would be deposited into the LadderDAO treasury.
Liquidity Providers Creating a Pool All new Ladder pools can be deployed permissionlessly. This means that anybody can deploy a pool anytime, anywhere. To do so, Liquidity Providers (LPs) must deposit 2 types of assets. In this example, the two assets are: Token A: A fungible token – ETH, USDC, USDT, DAI… you get the idea. NFTs: NFTs deposited must be from the same collection. When creating a pool, the liquidity provider should deposit corresponding values of Token A and NFTs based on market conditions. The initial amount of Token A and NFTs deposited will dictate the swap price for NFTs within the pool. After depositing the 100 Token A and 50 NFTs, the Liquidity Provider will be given several LP shares to represent his share of the pool. The calculation of the LP shares is shown below:
LP Shares Minted= Quantity of Token A*Quantity of NFT
This formula ensures that the value of a liquidity pool share at any time is independent of the ratio at which liquidity was initially deposited.
Making a Swap Swaps will be the most common interaction users have with Ladder. After a pool is created, users can swap for the assets within that pool. On Ladder, users can swap tokens for NFTs and vice versa. These two forms of exchange are shown in the figure below.
Providing Liquidity As one asset is traded for the other, the relative prices of the two assets shift, and a new market rate for both is determined. Thereafter, other LPs who would like to join the pool would have to deposit corresponding values of Token A and NFTs. Hence, when a new liquidity provider wants to provide liquidity, they must take note of a few things: The amount of Token A deposited into the pool will be dependent on the current number of NFTs in the pool and is calculated based on the constant product formula. The number of LP shares minted will follow the same calculation as shown above.
Withdrawing Liquidity from a Pool In the scenario where a Liquidity Provider wants to withdraw liquidity, Liquidity Provider 2 will redeem his share of the pool with the following calculation:
No. of LP Shares owned by Liquidity ProviderTotal number of LP Shares*(No. of Fungible Token+No. of NFTs+Total Fees Accrued)
Unlike liquidity pools for fungible tokens, it is not possible to withdraw non-integer values of NFTs. Hence, upon withdrawal, Ladder will give you “change” by rounding down the number of NFTS and replacing it with the pools’ respective fungible token. For example, in the scenario where 20 LP shares entitle a user to 20 Token A and 10.3 NFTs. The following process will be executed: 20 Token A and 10.3 NFTs are withdrawn from the pool. 0.3 NFTs are sold back into the pool for x Token A User receives (20+x) Token A and 10 NFTs. This withdrawal process ensures that pools are not suddenly drained of liquidity. In the scenario where a user withdraws more than >20% of a pool, he can expect to experience significant slippage.