Features
Universal NFT Support
Magicswap v2 handles any combination of ERC-721s, ERC-1155s, ERC-20s and simplifies the user experience for both the pool creators and traders. The pool creator first creates and deposits ERC-721s, ERC-1155s, ERC-20s into a vault, then creates a trading pool for them. When users trade out of the AMM, they never interact with the vault and only handle actual NFTs.
NFT-NFT pools
These pools are technically ERC-20-ERC-20 given that Magicswap pools hold vault tokens. However, the same UX applies in which the user is transacting into the pools in discrete units of an NFT. These pools require an extremely high denominator for the base pair to be feasible. The ideal base pair is an ERC-1155 with a very high token supply, more akin to a memecoin supply than a 10k collection.
The user leaves remainders of each trade in the pool which contribute to fees sent to liquidity providers.
Ghost Minting
ERC-721s designed to conform with Magicswap vaults are ghost minted to the user when they buy from an AMM, meaning the user can purchase any number of ERC-721s from the same collection at the same cost of transferring one tokenId of an ERC-1155. (The same is not true for selling in which the user must pay to transfer each ERC-721 into the pool.)
Magicswap is not ideal for low-supply ERC-721s so this feature is most useful when the vault is used separately from the AMM. Initial use cases would be reducing gas costs for long-term collectors who tend to buy in large quantities when they make targeted buys from the vault.
ERC-721A (created by Azuki) makes it possible for the user to mint a sequence of tokenIds for lower gas costs during initial mint. Magicswap vaults extend this feature further to whenever NFTs are purchased from the vault.
LP Rewards (Forthcoming)
The pool creator will be able to issue LP rewards in up to 20 tokens, including ERC-721s and ERC-1155s. The LP can withdraw these additional token rewards as NFTs or vault tokens. Similarly, LP positions can be removed with only partial NFTs.
Abstracting LPs
For the first iteration, we are assuming that LPs have the understanding of DeFi required by NFTX whereas the consumer-facing side of Magicswap is designed for users who do not know what a vault is. Later, we will add an additional utility function to streamline the removal process and conversion of vault token dust into an ERC-20. The use case for this feature would be getting average users to act as liquidity providers without realizing it.
Adding and removing liquidity would be elements in the game abstracted into something else. Such experimentations become possible in combination with the Treasure Development Kit (TDK).