> 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/solana/creating-your-shop.md).

# Creating Your Shop

{% hint style="info" %}
This [starter repo](https://github.com/LIQNFT/candy-machine-v2-with-marketplace) gives you different shop configurations out of the box. You can also 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 %}

### Create Candy Shop

You can create and configure your Candy Shop through the [My Shop](https://candyshop.space)[ ](https://candy.liqnft.com/shop)admin panel, including the following:

* Create a shop with SOL or an SPL token as transaction currency
* Deposit syrup, a small budget to maintain your shop (e.g. gas fees for on-chain account space allocation)
* Restrict NFT collections that can be bought and sold on your shop
* Claim share of transaction fees from 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 CandyShop.initSolCandyShop({
  shopCreatorAddress: "6MfPdYNQNnvkYcFvcSK6w6magR6z25Ay2iaYFfYY1xfw", // Candy Shop owner address
  treasuryMint: "So11111111111111111111111111111111111111112", // Candy Shop transaction currency
  programId: "csbMUULiQfGjT8ezT16EoEBaiarS6VWRevTw1JMydrS", // Candy Shop program ID
  env: 'devnet', // mainnet, devnet
  settings: settings // (optional) additional shop settings
});
```

**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)
* `connectionUrl: string`
  * your mainnet connection node url (default is <https://api.mainnet-beta.solana.com>). We encourage projects to use their own node provider. We discovered that in non-US region sometimes the node returns 429 rate limit error.
* `connectionConfig: object`
  * your connection node url configuration

**Default settings**

```tsx
const settings = {
  priceDecimals: 3,
  volumeDecimals: 1,
  mainnetConnectionUrl: 'https://ssc-dao.genesysgo.net/',
  connectionConfig: {
    httpHeaders: {
      '[NODE_SPECIFIC_HEADERS]': '[VALUE]'
    }
  }
};
```
