We're excited to announce the release of Marketplace V3!
The new marketplace contract, Marketplace V3, offers improvements over previous version in terms of design and features. We've added conveniences to the smart contract to make the experience of performing these core actions fast and intuitive.
Key improvements include:
- Making offers for NFTs not on sale at all, or at favorable prices
- Ability to accept multiple currencies for direct listings
- Reserve listings for particular buyers
- Explicit getter functions for fetching high level states e.g. “has an auction ended”, “who is the winning bidder”, etc.
- Simplify start time and expiration time for listings
The contract is divided into separate extensions for listings, auctions, and offers. On typescript SDK, the usage of new marketplace contract is different from the previous version:
const marketplace = await sdk.getContract("your_address", "marketplace-v3"): // directlistings marketplace.directListings.createListing(...) marketplace.directListings.buyFromListing(...) // english auctions marketplace.englishAuctions.createAuction(...) marketplace.englishAuctions.makeBid(...) // offers (make offers on any NFT, doesn't even need to be listed!) marketplace.offers.makeOffer(...) marketplace.offers.acceptOffer(...)
The new marketplace smart contract is supported by the typescript SDK version 3.8.0 onwards! It is available to deploy here: https://thirdweb.com/thirdweb.eth/MarketplaceV3.