What is a Solana NFT? (Part 4)

joão nuno lopes
Invisible Lab
Published in
5 min readMar 23, 2022

Part 4 — How to make a marketplace?

You are now able to create NFTs, so you probably want to sell/trade them. There are two ways of doing this:

  • Sell in an existing Marketplace
  • Create your own store

If you want to sell in an existing marketplace, you have different options: Solsea, Solanart, FTX Marketplace, etc.. Think of these as being the equivalent to OpenSea on Ethereum. If you intend to create your own store, you have two main options. One is more technical than the other, but both are accessible.

1: Metaplex StoreFront — the less technical way

If you came from Part 3, you already know how to run this program. It creates a storefront where you can sell any NFT in your collection! Just access My Items, choose the NFT and click on Sell.

You now have multiple options… Metaplex has different kinds of auctions/sale methods and you can learn more about each of them here.

Now, you just have to publish your website and you have your own store! This might sound too easy to be true, but it really is!

However, this approach has some problems… We faced a lot of bugs in the interface and it still isn’t a very robust product. The other problem is that you can only sell Master Editions or copies of them… If you have normal Spl-Tokens with Metadata you won’t be able to use this, unless you transform them into Master Editions (explained in Part 3). Despite this limitation, Metaplex Storefront is a super easy and accessible way to create an NFT Marketplace!

You should also check HolaPlex, that helps you personalize the default style of Metaplex.

2: Serum DEX — a bit more technical

This is a way of building your marketplace with live trading, similar to how a normal a market operates. If you’re not familiar with this, a market has two types of orders, buy and sell, for a determined trading pair, like SOL/USDC. Usually, you have a Buy at Market Price option and you are able to buy as long as there is liquidity. But, in our use case, we did not intend to support this option and you should only be able to buy what is being sold by other users. This means you can only place Limit Orders.

Note that this approach won’t fit the use case of selling unique NFTs or prints of a Master, because each one has different address. In an Open Market, you need one market per trading pair. What this means is that, you would have to build a market for each Ape you want to sell, for example. Although technically possible, this does not make much sense in practice.

Let’s put this in an example: With the Awesome NFT created in previous articles, you could create a trading pair AWESOME/USDC. Let’s say that there are 10 Awesome tokens and me, as the proprietary of the 10, could make a SELL order of 10 AWESOME for 100 USDC each. If anyone wants to buy one, just has to make a BUY order of 1 AWESOME for 100 USDC and the order will be fulfilled! The person receives the AWESOME and I get 100 USDC because I was the one that put it for sale (both parties have to settle funds). After the 10 are sold, any newcomer can only buy one if the people that bought it before are willing to issue a SELL order.

For context, this is the strategy used by Star Atlas in their Marketplace.

Ok then. But how can I actually build my marketplace?

As explained above, this process is significantly more complex than the previous approach but, fortunately, there are some tools that will help you build faster.

Serum has a repository on github with an example UI for a decentralised exchange. If you want to see live trading of your token right now:

1- Click Add Market and register your trading pair. The base mint address should be your NFT and the quote could be anything, like SOL, USDC, etc.. The minimum order size should be 1, and the tick size is the number of decimal places you could use for a BUY order. If it is set to 0.01, you can’t make an order for 10.0001.

2- Add the market to the homepage by clicking the “+” sign on your top left.

3- Start trading your NFT right away by making a SELL order on the trade card on the right! It is that easy! On the left you can see the current orders.

4- If you bought an NFT or sold one, to receive the token of the trade you need to Settle the funds. You can do this by clicking on the box bellow the trade card, where your unsettled balance should appear. If it doesn’t, and you are on devnet, you should read about Serum Cranks and consider running one for your market.

Opposed to using Metaplex, anyone can trade your NFTs and see the current orders in a compatible Serum DEX, as long as they have the market address. Now, you just have to build the graphical interface for your Marketplace and deploy your website!

Congrats on reaching this far!! We have gone through some key Solana concepts and hopefully helped you getting started with your project. This article was the last of 4 part series that went from NFT creation to how to selling them. In the next article we change chapter and will show you how to save thousands of dollars in giveaways! See you soon!

--

--

joão nuno lopes
Invisible Lab

Software engineer during the day, track athlete at the evening, sax player at night