sui icon indicating copy to clipboard operation
sui copied to clipboard

[Feature Request] [Kiosk] Enable Listing for Sale Using Any Coin

Open cybercent opened this issue 1 year ago • 4 comments

Feature Request: Enable Listing for Sale Using Any Coin<T>

At present, the Kiosk module uses Coin<SUI>. I propose adding new functions to the package that would:

  • Allow users to list items for sale using any coin.
  • Enable users to purchase items using any coin.

cybercent avatar May 23 '24 12:05 cybercent

Hey @cybercent, can you elaborate on the use case that you're trying to solve? And how would you see creator's policy with this change in place? How would the creator royalty be calculated in the case where I list my NFTs for FUD or any other coin?

damirka avatar Jun 28 '24 08:06 damirka

Hey @damirka, thanks for reviewing this.

The proposal is to add new functions that use generics for the coin type, allowing users to list NFTs for sale in coins other than SUI.

Due to SUI's price volatility, users must frequently list and delist their NFTs or set a high "safe" price, which reduces market liquidity.

By enabling users to list in stable coins like USDC, we can offer a more stable alternative.

This change also introduces new possibilities. For example, a PTB transaction could be created to allow a buyer with SUI to purchase an NFT listed in USDC. The PTB would first convert SUI to USDC using Turbos or Aftermath, and then complete the NFT purchase.

Ideally, the transfer policy should remain unchanged. The fee would be paid in the coin type used for the purchase, as set by the seller.

cybercent avatar Jun 28 '24 09:06 cybercent

I see what you're saying here. And my suggestion would be to try and implement this as a Kiosk Extension. The seller sets the price in stable coin, but the deal happens in SUI. I would love to see this one implemented, actually. Never got a chance to do myself

damirka avatar Jun 28 '24 12:06 damirka

The tricky part would be tracking the price of the sale and delivering, as you suggest, USDC to the seller (while maintaining the amount in the TransferRequest), but we can see how it plays out, and what we can do if there's a reference implementation. That is, if you want to try and do it.

damirka avatar Jun 28 '24 12:06 damirka