Marketplace UI (NextJS)

Introduction

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.

Getting Started

Prerequisites

  1. Install Node.js and NPM
  2. Install Yarn
  3. Request free Reservoir API key

Built With

Installation

Fork this repo and follow these instructions to install dependancies.

With yarn:

$ yarn install

With NPM:

$ npm install

Configuration

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 VariableRequiredDescriptionExample
NEXT_PUBLIC_HOST_URLtrueThe domain that the deployed project is hosted on.http://localhost:3000
ETH_RESERVOIR_API_KEYfalseEthereum Reservoir API key. Sign up here get a free API key.123e4567-e89b-12d3-a456-426614174000
GOERLI_RESERVOIR_API_KEYfalseGoerli Reservoir API key. Sign up here get a free API key.123e4567-e89b-12d3-a456-426614174000
POLYGON_RESERVOIR_API_KEYfalsePolygon Reservoir API key. Sign up here get a free API key.123e4567-e89b-12d3-a456-426614174000
NEXT_PUBLIC_ALCHEMY_IDfalseAlchemy API key required for removing rate limiting restrictions.123e4567-e89b-12d3-a456-426614174000
NEXT_PUBLIC_ETH_COLLECTION_SET_IDfalseUse this to configure a community marketplace. This will only impact the mainnet network. Generate your collection set ID here.f566ba09c14f56aedeed3f77e3ae7f5ff28b9177714d3827a87b7a182f8f90ff
NEXT_PUBLIC_GOERLI_COLLECTION_SET_IDfalseUse this to configure a community marketplace. This will only impact the goerli network. Generate your collection set ID here.f566ba09c14f56aedeed3f77e3ae7f5ff28b9177714d3827a87b7a182f8f90ff
NEXT_PUBLIC_POLYGON_COLLECTION_SET_IDfalseUse this to configure a community marketplace. This will only impact the polygon network. Generate your collection set ID here.f566ba09c14f56aedeed3f77e3ae7f5ff28b9177714d3827a87b7a182f8f90ff
NEXT_PUBLIC_ETH_COMMUNITYfalseUse 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_GOERLI_COMMUNITYfalseUse 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_POLYGON_COMMUNITYfalseUse 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_NORMALIZE_ROYALTIESfalseEnables royalty normalization. Refer to docs for more info.true, false
NEXT_PUBLIC_DATADOG_CLIENT_TOKENfalseDatadog client token for configuring analytics.pubdaddswww4dad449dadas12ada123bae
NEXT_PUBLIC_DATADOG_APPLICATION_IDfalseDatadog application id for configuring analytics.123cccbb-1234-1111-4411-abc12345612afgds
NEXT_PUBLIC_MARKETPLACE_SOURCEfalseMarketplace source, used to attribute a source to orders. Must be a valid domainreservoir.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.

Run the App

Once you have your setup ready, run:

With yarn:

$ yarn dev

With npm:

$ npm run dev

Deploy with Vercel

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.


What’s Next