{"id":20974177,"url":"https://github.com/thirdweb-example/marketplace-template","last_synced_at":"2025-04-07T19:13:12.080Z","repository":{"id":242486792,"uuid":"808419506","full_name":"thirdweb-example/marketplace-template","owner":"thirdweb-example","description":"Build your own NFT Marketplace with thirdweb SDKs","archived":false,"fork":false,"pushed_at":"2024-12-10T17:28:03.000Z","size":132,"stargazers_count":34,"open_issues_count":12,"forks_count":61,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-31T18:18:39.938Z","etag":null,"topics":["erc721","marketplace","nft","nft-marketplace","thirdweb","web3"],"latest_commit_sha":null,"homepage":"https://marketplace.thirdweb-preview.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thirdweb-example.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-31T03:17:06.000Z","updated_at":"2025-03-10T02:20:07.000Z","dependencies_parsed_at":"2024-06-28T16:06:30.439Z","dependency_job_id":"b28514b9-a822-4331-ad2a-e0a5974932bb","html_url":"https://github.com/thirdweb-example/marketplace-template","commit_stats":null,"previous_names":["thirdweb-example/marketplace-template"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thirdweb-example%2Fmarketplace-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thirdweb-example%2Fmarketplace-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thirdweb-example%2Fmarketplace-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thirdweb-example%2Fmarketplace-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thirdweb-example","download_url":"https://codeload.github.com/thirdweb-example/marketplace-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247713258,"owners_count":20983683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["erc721","marketplace","nft","nft-marketplace","thirdweb","web3"],"created_at":"2024-11-19T04:27:04.173Z","updated_at":"2025-04-07T19:13:11.794Z","avatar_url":"https://github.com/thirdweb-example.png","language":"TypeScript","readme":"\n\u003cp align=\"center\"\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://thirdweb.com\"\u003e\n        \u003cimg src=\"https://github.com/thirdweb-dev/js/blob/main/legacy_packages/sdk/logo.svg?raw=true\" width=\"200\" alt=\"\"/\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\u003ca href='https://thirdweb.com/'\u003ethirdweb\u003c/a\u003e NFT Marketplace\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003eBuild your own NFT Marketplace with thirdweb SDK\u003c/strong\u003e\u003c/p\u003e\n\n## Features\n- Support for multiple collections\n- Support for multiple chains\n- Create listings with custom payment currencies\n- Public profile page: [vitalik.eth's Profile](https://marketplace.thirdweb-preview.com/profile/vitalik.eth)\n- _and [more to come](https://github.com/thirdweb-example/marketplace-template/issues?q=is%3Aissue+is%3Aopen+feature+request)_\n\nWant to request a feature? [Create a GitHub issue!](https://github.com/thirdweb-example/marketplace-template/issues/new)\n\n## Installation\n### 1. Clone the template or [fork it](https://github.com/thirdweb-example/marketplace-template/fork)\n```bash\ngit clone https://github.com/thirdweb-example/marketplace-template\n```\n\n### 2. Install the dependencies\n```bash\n# npm\nnpm install\n\n# yarn\nyarn\n\n# pnpm\npnpm install\n```\n\n### 3. Set up environment variables\nCreate a file called `.env.local` (at the root level of your project) with the following content:\n```\nNEXT_PUBLIC_TW_CLIENT_ID=\"\u003cyour-thirdweb-client-id\"\n```\nDon't have a thirdweb clientId? [Grab one now](https://thirdweb.com/dashboard/settings/api-keys). Make sure you set up the `Allowed Domains` properly. [Learn how](https://portal.thirdweb.com/account/api-keys)\n\n### 4. You're set\nYou can now run the template in your local machine.\n```bash\n# npm\nnpm run dev\n\n# yarn\nyarn dev\n\n# pnpm\npnpm dev\n```\n\n## Customize your marketplace\n\n### 1. Supported networks\nThis template allows you to build a marketplace that can handle multiple NFT collections from multiple networks. For each network you want to support, you need to deploy a [MarketplaceV3 contract](https://thirdweb.com/thirdweb.eth/MarketplaceV3) on that network.\n\nTo add a chain (network) to your marketplace, head to the file [`./src/consts/chains.ts`](./src/consts/chains.ts) and add that chain to the export array:\n```typescript\nexport { ethereum, bsc } from \"thirdweb/chains\";\n```\n[Learn more about thirdweb Chains](https://portal.thirdweb.com/typescript/v5/chain)\n\nIf the chain you are looking is not in our [default list](https://portal.thirdweb.com/references/typescript/v5/variables), you can define your own chain using the `defineChain` method:\n\n```typescript\n// chain.ts\nimport { defineChain, ethereum, bsc } from \"thirdweb/chains\";\n\nconst yourChainId = 4747;\nconst yourCustomChain = defineChain(yourChainId);\n\nexport { ethereum, bsc, yourCustomChain }\n```\n\n### 2. Supported marketplaces\n\nOnce the marketplace contract deployment's completed, you need to put the MarketplaceV3 contract address and its respective chain in the file [`/src/consts/marketplace_contracts.ts`](/src/consts/marketplace_contract.ts)\n\nExample:\n```typescript\nimport { yourCustomChain, ethereum } from \"./chains\";\n\nexport const MARKETPLACE_CONTRACTS: MarketplaceContract[] = [\n  {\n    address: \"your-marketplace-contrac-address-on-the-custom-chain\",\n    chain: yourCustomChain,\n  },\n  {\n    address: \"your-marketplace-contrac-address-on-ethereum\",\n    chain: ethereum,\n  },\n  // ... add more here\n];\n```\n\n### 3. Supported payment currencies\n\nthirdweb's MarketplaceV3 contract allows you to buy and sell NFTs in multiple currencies (ERC20 tokens) rather than just the native tokens like ETH, AVAX, MATIC etc.\n\nIf you want to support (or restrict) a only a few selected currencies for your marketplace, you need to do that via thirdweb Dashboard \u003e you marketplace contract \u003e Permission \u003e Asset.\n\nOnce that is done, head over to the file [`./src/consts/supported_tokens.ts`](./src/consts/supported_tokens.ts) and fill in some basic info of those tokens that you aim to support. For example, the code below will add a dropdown to the UI for USDC and USDT, on the Avalanche Fuji network:\n\n```typescript\nexport const SUPPORTED_TOKENS: SupportedTokens[] = [\n  {\n    chain: avalancheFuji,\n    tokens: [\n      {\n        tokenAddress: \"0x5425890298aed601595a70ab815c96711a31bc65\",\n        symbol: \"USDC\",\n        icon: \"/erc20-icons/usdc.png\",\n      },\n      {\n        tokenAddress: \"0x82dcec6aa3c8bfe2c96d40d8805ee0da15708643\",\n        symbol: \"USDT\",\n        icon: \"/erc20-icons/usdt.png\",\n      },\n      // Add more ERC20 here...\n    ],\n  },\n]\n```\nYou have to prepare your own icon assets for each token in this list.\n\n## Support\n\nFor help or feedback, please [visit our support site](https://thirdweb.com/support)\n\n## Additional Resources\n\n- [Documentation](https://portal.thirdweb.com/typescript/v5)\n\n## Security\n\nIf you believe you have found a security vulnerability in any of our packages, we kindly ask you not to open a public issue; and to disclose this to us by emailing `security@thirdweb.com`.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthirdweb-example%2Fmarketplace-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthirdweb-example%2Fmarketplace-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthirdweb-example%2Fmarketplace-template/lists"}