{"id":27861239,"url":"https://github.com/reservoirprotocol/marketplace-v2","last_synced_at":"2025-05-15T17:09:13.527Z","repository":{"id":65354709,"uuid":"569880246","full_name":"reservoirprotocol/marketplace-v2","owner":"reservoirprotocol","description":"An open source NFT marketplace built on Reservoir. (v2)","archived":false,"fork":false,"pushed_at":"2025-03-12T18:21:57.000Z","size":13560,"stargazers_count":156,"open_issues_count":3,"forks_count":204,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-05-04T18:50:10.797Z","etag":null,"topics":["cryptocurrency","ethersjs","nft","nfts","web3"],"latest_commit_sha":null,"homepage":"https://explorer.reservoir.tools/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reservoirprotocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2022-11-23T20:37:10.000Z","updated_at":"2025-04-16T15:51:53.000Z","dependencies_parsed_at":"2023-10-14T19:42:36.654Z","dependency_job_id":"a9343543-9589-41f2-9321-9fd377ac6c19","html_url":"https://github.com/reservoirprotocol/marketplace-v2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reservoirprotocol%2Fmarketplace-v2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reservoirprotocol%2Fmarketplace-v2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reservoirprotocol%2Fmarketplace-v2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reservoirprotocol%2Fmarketplace-v2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reservoirprotocol","download_url":"https://codeload.github.com/reservoirprotocol/marketplace-v2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254384989,"owners_count":22062422,"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":["cryptocurrency","ethersjs","nft","nfts","web3"],"created_at":"2025-05-04T18:35:13.641Z","updated_at":"2025-05-15T17:09:08.519Z","avatar_url":"https://github.com/reservoirprotocol.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch3 align=\"center\"\u003eReservoir Market v2\u003c/h3\u003e\n  \u003cp align=\"center\"\u003e\nAn open source NFT marketplace built on Reservoir.\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n## About The Project\n\nReservoir Market v2 is an open source marketplace built with Reservoir APIs that enables access to instant liquidity aggregated from major marketplace. We encourage developers to use this project as a reference for their own implementation or even fork the project and make their own meaningful changes. The project is lightly configurable refer to the configuration variables below. If you're looking for a no-code solution check out our [v1 marketplace](https://github.com/reservoirprotocol/marketplace-v1).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting Started (Self-Hosted)\n\n### Prerequisites\n\n1. Install [Node.js and NPM](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)\n2. Install [Yarn](https://classic.yarnpkg.com/en/docs/install)\n3. Request free [Reservoir API key](https://reservoir.tools/request-api-key)\n\n### Built With\n\n- [ReservoirKit](https://docs.reservoir.tools/docs/reservoir-kit)\n- [Reservoir Protocol and API](https://reservoirprotocol.github.io/)\n- [Next.js](https://nextjs.org/)\n- [React.js](https://reactjs.org/)\n- [Ethers.io](https://ethers.io/)\n- [WAGMI](https://wagmi.sh/)\n- [Stitches](https://stitches.dev/docs/variants)\n\n### Installation\n\nFork this repo and follow these instructions to install dependancies.\n\nWith yarn:\n\n```bash\n$ yarn install\n```\n\nWith NPM:\n\n```bash\n$ npm install\n```\n\n### Configuration\n\nReservoir Market v2 is lightly configurable with the configurations below. You can either add these to a `.env.production` and `.env.development` or add env variables to a deployment platform like [vercel](https://vercel.com/).\n\n**Environment Variables**\n| Environment Variable | Required | Description | Example |\n|--------------------------------|----------|-------------------------------------------------------------------------------------|---------------------|\n| NEXT_PUBLIC_HOST_URL | `true` | The domain that the deployed project is hosted on. | http://localhost:3000 |\n| RESERVOIR_API_KEY | `false` | Ethereum Reservoir API key provided by the Reservoir Protocol. [Get your own API key](https://reservoir.tools/request-api-key). | 123e4567-e89b-12d3-a456-426614174000 |\n| RESERVOIR_API_KEY | `false` | Goerli Reservoir API key provided by the Reservoir Protocol. [Get your own API key](https://reservoir.tools/request-api-key). | 123e4567-e89b-12d3-a456-426614174000 |\n| RESERVOIR_API_KEY | `false` | Polygon Reservoir API key provided by the Reservoir Protocol. [Get your own API key](https://reservoir.tools/request-api-key). | 123e4567-e89b-12d3-a456-426614174000 |\n| NEXT_PUBLIC_ALCHEMY_ID | `true` | Alchemy API key required for removing rate limiting restrictions. Sometimes used to fetch wallet token balance. [Get your own API key here](https://docs.alchemy.com/alchemy/introduction/getting-started#1.create-an-alchemy-key). | 123e4567-e89b-12d3-a456-426614174000 |\n| NEXT_PUBLIC_ETH_COLLECTION_SET_ID | `false` | Use this to configure a community marketplace. This will only impact the mainnet network. Generate your collection set ID [here](https://docs.reservoir.tools/reference/postcollectionssetsv1). | f566ba09c14f56aedeed3f77e3ae7f5ff28b9177714d3827a87b7a182f8f90ff |\n| NEXT_PUBLIC_POLYGON_COLLECTION_SET_ID | `false` | Use this to configure a community marketplace. This will only impact the polygon network. Generate your collection set ID [here](https://docs.reservoir.tools/reference/postcollectionssetsv1). | f566ba09c14f56aedeed3f77e3ae7f5ff28b9177714d3827a87b7a182f8f90ff |\n| NEXT_PUBLIC_GOERLI_COLLECTION_SET_ID | `false` | Use this to configure a community marketplace. This will only impact the goerli network. Generate your collection set ID [here](https://docs.reservoir.tools/reference/postcollectionssetsv1). | f566ba09c14f56aedeed3f77e3ae7f5ff28b9177714d3827a87b7a182f8f90ff |\n| NEXT_PUBLIC_ETH_COMMUNITY | `false` | Use this to configure a community marketplace. Note: Community IDs are only available for certain communities. This will only impact the mainnet network. | artblocks |\n| NEXT_PUBLIC_POLYGON_COMMUNITY | `false` | Use this to configure a community marketplace. Note: Community IDs are only available for certain communities. This will only impact the polygon network | artblocks |\n| NEXT_PUBLIC_GOERLI_COMMUNITY | `false` | Use this to configure a community marketplace. Note: Community IDs are only available for certain communities. This will only impact the goerli network | artblocks |\n| NEXT_PUBLIC_NORMALIZE_ROYALTIES | `false` | Enables royalty normalization. Refer to [docs](https://docs.reservoir.tools/docs/normalized-royalties) for more info. | true/false |\n| NEXT_PUBLIC_DATADOG_CLIENT_TOKEN | `false` | Datadog client token for configuring analytics. | pubdaddswww4dad449dadas12ada123bae |\n| NEXT_PUBLIC_DATADOG_APPLICATION_ID | `false` | Datadog application id for configuring analytics. | 123cccbb-1234-1111-4411-abc12345612afgds |\n| NEXT_PUBLIC_MARKETPLACE_SOURCE | `false` | Marketplace source, used to attribute a source to orders. Must be a valid domain | reservoir.tools |\n| NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID | `true` | WalletConnect project ID required for wallet connectivity. | d3f452b37a8f91ca7732e89bd3f67c12 |\n\n\nIn addition to the configuration above we've also added comments prefixed with `CONFIGURABLE:` throughout the app pointing out some pieces of code where you could customize functionality. After cloning the app make sure to search the repo for the aforementioned prefix.\n\n### Run the App\n\nOnce you have your setup ready, run:\n\nWith yarn:\n\n    $ yarn dev\n\nWith npm:\n\n    $ npm run dev\n\n### Deploy with Vercel\n\nThis is a Next.js app that can be easily deployed using [Vercel](https://vercel.com/). For more information on how to deploy your Github repository with Vercel visit their [docs](https://vercel.com/docs/concepts/projects/overview).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTACT --\u003e\n\n## Contact\n\nTwitter: [@reservoir0x](https://twitter.com/reservoir0x)\nProject Link: [Reservoir](https://reservoirprotocol.github.io/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freservoirprotocol%2Fmarketplace-v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freservoirprotocol%2Fmarketplace-v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freservoirprotocol%2Fmarketplace-v2/lists"}