thirdweb

MarketplaceV3

Marketplace is a contract where you can buy and sell NFTs, like on OpenSea or Rarible.

Marketplace

Marketplace is a contract where you can buy and sell NFTs, like on OpenSea or Rarible.

The Marketplace contract allows users to list NFTs for direct sale or auction. Other users can place offers/bids or buy the NFTs for the specified amount in the listing. The marketplace can be configured to only allow certain users to list NFTs for sale, or allow any user to list NFTs for sale.

The Marketplace contract honors EIP-2981 royalty distribution, and is integrated with the royalty registry.

Upgradeability

The MarketplaceV3 contract is written in the EIP-7504 dynamic contracts pattern.

This contract is upgradeable via the ExtensionManger API, and upgrades can only be performed by EXTENSION_ROLE holders.

The EXTENSION_ROLE role is the role admin of itself. This means only an EXTENSION_ROLE role holder can grant this role or revoke this role from others. Once this role is revoked from all holders, the contract is non-upgradeable.

Use Cases & Examples

You could use the Marketplace contract to:

  • Sell your NFTs on your marketplace
  • Create auctions where the highest bidder, after a certain period, wins the NFT
  • Create an open marketplace where any user can list NFTs for sale, like OpenSea.

Resources


DEFAULT_ADMIN_ROLE

(DEFAULT_ADMIN_ROLE)

view

Published by

View all contracts

Details

  • Publish Date

    Apr 17, 2024

  • Audit Report

    View Audit Report

  • Licenses

    MIT, Apache-2.0


  • Learn more about Publish