Marketplace Mechanics

Listings for Sale and Offers

Listing Mechanics

  • The seller can choose to put the NFT in a custodial vault (which they own) acting as escrow, temporarily holding the NFT. This is the preferred option in many cases. See NFT Vaults for details.

  • 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.

Offer Mechanics

  • 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

Validity of Listings and Offers

It is possible to see invalid listings and offers by selecting Invalidated on filters.

Offer Validity

It is important to be aware of the concept of validity of an offer. As mentioned above, a lower than necessary wFTM balance (or not enough approved wFTM) will invalidate an offer. However, that is not permanent. That is, if the balance is restored or re-approved, the offer becomes valid again and could be accepted. Make sure to cancel any offers you no longer want to be active.

Listing Validity

Similarly to offers and as mentioned above, a non-custodial (i.e. not using a vault) listing can become invalid if the token approval is removed or the NFT is transferred. However, this is not permanent. That is, if the token is re-approved or the account receives the NFT again, the listing becomes valid again. Make sure to cancel any listings you no longer want to be active.

Special Offers

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:

Collection Offer

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.

Filtered Collection Offer

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.

Last updated