- Alternatively, the user can keep holding the NFT on their wallet.
- Buying for the requested price does not require approval
- For non-custodial listings, the NFT could be transferred away, or token approval removed. In this case, the listing is temporarily invalidated, but could become valid again (see next section)
- Listings can be cancelled at any point
- The price of a listing can be changed at any point. However, purchases are protected against front-running by ensuring the value paid is never more than the buyer agreed to initially.
- Offers can be done on listings or on assets. Listing offers are particularly useful for fNFTs and custodial listings in general (see NFT Vaults for details on that) to ensure the underlying assets are not changed before the offer is accepted.
- Offers are in wFTM which stays in your wallet, and the seller can optionally accept it
- Not having enough wFTM invalidates an offer. Similarly, removing the wFTM approval from the marketplace contract will also temporarily invalidate an offer, but it could become valid again (see next section)
- Offers can only be increased in value
- Offers can be cancelled
- Offers can have a time limit, after which point they are no longer valid
It is possible to see invalid listings and offers by selecting Invalidated on filters.
As of v3, offers can be made on any and all assets whether they are listed for sale or not. This can be done via the asset page of each NFT. Moreover, some special offer types exist:
An offer is made such that anyone with an NFT from that collection can accept it for their NFT. This can be useful if you're trying to trade the floor, but can have other uses.
This is similar to trait filtered collection offers on other marketplaces, but more flexible. Any NFTs in a collection can form a filtered collection offer, and the offer stands as "i want one of any of these NFTs". There are some gas optimization techniques that need attention as it can affect editing later:
- Expiry time is shared on all NFTs, so editing any of these will change all others as well.
- When creating them, if they all share the same price they will continue to share the same price when editing as well (a single offer is stored to lower required gas).
- If different prices are used for different NFTs within the same collection, then they will be separate and editing will affect only the specific NFT.
- If more than one collection is used, multiple filtered collection offers will be created.
- Automatically ends and prevents new bids
- The sale must be triggered (by anyone) to complete after the auction is finished. A script is run by PaintSwap every hour
- Bids are escrowed by the marketplace contract
- 10% bidding increment minimum
- Auctions can be cancelled in two cases:
- Within their grace period (see below, depends on type of auction)
- At any point, if there are no bids
- The reserve price of an auction can be changed if there are no bids
There are two types of auctions on PaintSwap v3
- Flash auctions - minimum auction time 5 mins. Can be cancelled in the first 90 seconds.
- Normal auction - minimum auction time 30 mins. Can be cancelled in the first 10 minutes.
In addition, sellers can enable anti-snipe, which sets remaining time back to X minutes if a bid is made with less than X minutes remaining on the auction. X is 3 minutes for normal auctions and 90 seconds for flash auctions.
As of v3 of the NFT marketplace all offers and sales are made in wFTM. Required native FTM is automatically converted via the contracts when making offers and bids. wFTM is then auto converted back to native FTM to the seller when the sale is completed.