> For the complete documentation index, see [llms.txt](https://liqnft.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://liqnft.gitbook.io/docs/sdk-for-developers/ethereum-polygon/creating-your-shop.md).

# Creating Your Shop

(In Beta for Polygon, Ethereum coming soon)

{% hint style="info" %}
Check out the [example](https://github.com/LIQNFT/candy-shop/tree/master/example/) in the Github repo and its deployed version [here](https://master.d22tqykss69onq.amplifyapp.com/).
{% endhint %}

Our Ethereum and Polygon shops are built on Opensea's [Seaport](https://github.com/ProjectOpenSea/seaport) smart contract, which is open source and the standard for NFT trading and auctions on EVM chains. Candy Shop provides a backend that powers marketplace features such as verified collections, filter, search and more.

You can create and configure your Candy Shop through the [Admin Panel](https://www.candyshop.space/shop), including the following:

* Create a shop with ETH, MATIC or an ERC20 token as transaction currency
* Define and restrict NFT collections that can be bought and sold on your shop

### Install Candy Shop

```shell
npm install @liqnft/candy-shop
```

or

```shell
yarn add @liqnft/candy-shop
```

### Use Candy Shop

Create a CandyShop instance in your code base to use Candy Shop.

```tsx
const candyShop = await EthCandyShop.initEthCandyShop({
  shopCreatorAddress: "0x36326211D644a78b74B92d69eebB475545Ef4537", // Candy Shop owner address
  treasuryMint: "0x0000000000000000000000000000000000000000", // Candy Shop transaction currency
  programId: "0x00000000006c3852cbEf3e08E8dF289169EdE581", // Candy Shop program ID
  env: "MUMBAI", // network
  settings: settings // (optional) additional shop settings
});
```

Network can take one of the following parameters:

* Ethereum Mainnet: ETH
* Ethereum Goerli Testnet: GOERLI
* Polygon Mainnet: MATIC
* Polygon Mumbai Testnet: MUMBAI

**Additional Settings**

You may pass an additional settings object to customize your shop:

* `priceDecimals: number`
  * number of decimals to display for price numbers (default is 3)
* `volumeDecimals: number`
  * number of decimals to display for volume numbers (default is 1)

**Default settings**

```tsx
const settings = {
  priceDecimals: 3,
  volumeDecimals: 1,
};
```
