Types of Contracts
There has been a lot of innovation in contracts and tools for trading in the Solana NFT space to cater to the wide range of trading situations that you may require, including but not limited to the following:
Escrow fixed-price - where an NFT is taken out of the seller's wallet and placed into escrow on the marketplace's contract to wait for buyers to purchase
Non-escrow fixed-price - where an NFT is listed for sale on a marketplace but remains in the seller's wallet. This can be beneficial for sellers as it means that they can continue to enjoy the perks of possessing the NFT, e.g. continue to be verified in the project or DAO's discord server, qualify for airdrops, etc.
Escrow Bidding - this is when buyers bid a specific amount for an NFT (below its price if its listed), with that SOL amount being removed from seller's wallet and placed into escrow on the contract, meaning that every bid needs to be fully funded to be valid. This is useful if there are specific NFTs that you want (e.g. a specific trait, minimum rarity rank that you can accept, etc.) but you are not willing to pay the listed price.
Collection Escrow Bidding - buyers places a single bid that accepts all NFTs in a collection, meaning any holder of any NFT in that collection can accept the bid. This is useful for buyers that do not care about specific traits or rarities, and is willing to buy any NFT in the collection below floor price (doesn't make sense to make an offer above floor price).
Smart Bidding - this requires buyers to deposit an amount of SOL into a "bidding account" on the marketplace contract, but buyers can place an unlimited number of bids (each amounting up to the total bidding account balance). When a bid is accepted, the bid's amount is deducted from the bidding account, and any remaining bids that exceed the bidding account balance will be invalid until the bidding account is sufficiently topped up or those bids are cancelled. This allows for effective deployment of liquidity for buyers, as they do not have to fund every single bid individually.
Auctions - this is typically used for high-value items where a seller can list his NFT to accept bids for a specific duration (e.g. 1 day, 7 days, etc.) where potential buyers can make increasing price offers (there is usually a minimum increment on each bid, e.g. 5 or 10%). The highest price at the end of the duration will be accepted as long as it is higher than the reserve price (the minimum price that the seller is willing to sell the NFT for), and usually if a bid is made right at the end of the Auction (maybe 5 minutes), there might be a short extension of time for any new bids to come in so as to prevent sniping.
Dutch Auctions - this is when sellers list an NFT at a high starting price (what they think it could potentially sell for) with a stated reserve price (the minimum price they are willing to sell for), with a specified duration of time (e.g. 1 day, 7 days, etc.) where the listed price will continuously decrease in specific amounts and durations towards the reserve price. This is useful for sellers to maximize their sale revenue without the hassle of setting up an auction and marketing it, as the listing can be listed with other normal listings with continuous auto-price reduction, and can explore the true price that buyers are actually willing to pay for instead of setting your reserve price straightaway like with fixed-price listings.
Swap - holders of NFTs negotiate and swap NFTs directly with each other (can be multiple NFTs at a time, and can include SOL too).
Options - NFT options gives the right, but not the obligation, to buy or sell an NFT at a fixed (strike) price by a set date in the future (expiration date). Options is a more complicated topic for advanced traders so we will not go into detail here, but feel free to check out the guide by Decalls.
Last updated