An open source NFT marketplace built on Reservoir.
Reservoir 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.
- Install Node.js and NPM
- Install Yarn
- Request free Reservoir API key
Fork this repo and follow these instructions to install dependancies.
With yarn:
$ yarn install
With NPM:
$ npm install
Reservoir 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.
Environment Variables
Environment Variable | Required | Description | Example |
---|---|---|---|
NEXT_PUBLIC_HOST_URL | true |
The domain that the deployed project is hosted on. | http://localhost:3000 |
RESERVOIR_API_KEY | false |
Ethereum Reservoir API key provided by the Reservoir Protocol. Get your own API key. | 123e4567-e89b-12d3-a456-426614174000 |
RESERVOIR_API_KEY | false |
Goerli Reservoir API key provided by the Reservoir Protocol. Get your own API key. | 123e4567-e89b-12d3-a456-426614174000 |
RESERVOIR_API_KEY | false |
Polygon Reservoir API key provided by the Reservoir Protocol. Get your own API key. | 123e4567-e89b-12d3-a456-426614174000 |
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. | 123e4567-e89b-12d3-a456-426614174000 |
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. | f566ba09c14f56aedeed3f77e3ae7f5ff28b9177714d3827a87b7a182f8f90ff |
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. | f566ba09c14f56aedeed3f77e3ae7f5ff28b9177714d3827a87b7a182f8f90ff |
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. | f566ba09c14f56aedeed3f77e3ae7f5ff28b9177714d3827a87b7a182f8f90ff |
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 |
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 |
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 |
NEXT_PUBLIC_NORMALIZE_ROYALTIES | false |
Enables royalty normalization. Refer to docs for more info. | true/false |
NEXT_PUBLIC_DATADOG_CLIENT_TOKEN | false |
Datadog client token for configuring analytics. | pubdaddswww4dad449dadas12ada123bae |
NEXT_PUBLIC_DATADOG_APPLICATION_ID | false |
Datadog application id for configuring analytics. | 123cccbb-1234-1111-4411-abc12345612afgds |
NEXT_PUBLIC_MARKETPLACE_SOURCE | false |
Marketplace source, used to attribute a source to orders. Must be a valid domain | reservoir.tools |
In 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.
Once you have your setup ready, run:
With yarn:
$ yarn dev
With npm:
$ npm run dev
This is a Next.js app that can be easily deployed using Vercel. For more information on how to deploy your Github repository with Vercel visit their docs.
Twitter: @reservoir0x Project Link: Reservoir