There's been massive growth in tokenization, from digital art and collectibles to real-world assets and utility tokens. This shift lets creators, brands, and developers build new value and ownership models on the blockchain. [Thirdweb’s NFT marketplace](https://portal.thirdweb.com/) provides a flexible and customizable platform, enabling users to create, trade, and interact with NFTs and other tokenized assets on Rootstock. Whether you're just setting up a simple digital shop or trying to build dApps, using Thirdweb gives you a solid starting point to build and deploy dApps on Rootstock. In this two-part guide, you will learn how to: - Build and deploy an NFT marketplace contract with Thirdweb on the Rootstock Testnet - [Set up the smart contract which is the foundation for the marketplace](/developers/smart-contracts/thirdweb/deploy-marketplace-contracts) - Install the [direct listing extension using the Thirdweb SDK](#install-the-direct-listing-extension-using-thirdweb-sdk) - [Develop the frontend for Your NFT Marketplace](/developers/smart-contracts/thirdweb/nft-marketplace-frontend) ## Prerequisites Ensure to have the following: - Node.js installed (v18 or later) - A wallet like MetaMask set up for the Rootstock testnet ([Thirdweb’s social login](https://portal.thirdweb.com/connect/wallet/sign-in-methods/configure) could be also used). - Testnet rBTC (Get it from the [Rootstock faucet](https://faucet.rootstock.io/)) - [Thirdweb credentials](https://thirdweb.com/login) ## Setup 1. Clone the project template - It comes with a Next.js 14 app and [Thirdweb SDK v5](https://portal.thirdweb.com/changelog/connect-sdk-v5-official-release), already set up with everything you need to get started. ```sh git clone https://github.com/rsksmart/rsk-thirdweb-marketplace.git cd rsk-thirdweb-marketplace bun install ``` 2. Navigate to the project folder and install the dependencies. It is recommended to use `bun i`. Note: You can also use `yarn` or `pnpm` package managers. Rename the file `.env.example` to `.env.local` using `mv .env.example .env.local` and follow the guide below to replace the needed variables. ```sh NEXT_PUBLIC_CLIENT_ID= ## What’s Next? That’s it for setting up the foundation! In [Part 2](/developers/smart-contracts/thirdweb/nft-marketplace-frontend), we’ll explore in depth how to create listings and customize settings like price, currency, and duration. We’ll also learn how to connect the frontend using Thirdweb’s SDK and React hooks. With your contracts in place and direct listings installed, you’re now one step closer to launching your own NFT marketplace on Rootstock. ## Resources - [Thirdweb Marketplace V3: Thirdweb Documentation](https://thirdweb.com/thirdweb.eth/MarketplaceV3) - [Thirdweb TS SDK: Thirdweb Github](https://github.com/thirdweb-dev/js/tree/main#readme) - [Rootstock NFT Marketplace Starter Kit](https://github.com/rsksmart/rsk-thirdweb-marketplace)