> ## Documentation Index
> Fetch the complete documentation index at: https://docs.garden.finance/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Setup

**1. Core dependencies**

Install the core Garden Protocol packages:

```bash npm theme={null}
npm install @gardenfi/core @gardenfi/orderbook @gardenfi/react-hooks @tanstack/react-query wagmi
```

```bash yarn theme={null}
yarn add @gardenfi/core @gardenfi/orderbook @gardenfi/react-hooks @tanstack/react-query wagmi
```

**2. Chain-specific dependencies**

Install additional packages based on the blockchains your app supports:

> [tab] Starknet
>
> ```bash npm theme={null}
> npm install @starknet-react/core starknet starknetkit
> ```
>
> ```bash yarn theme={null}
> yarn add @starknet-react/core starknet starknetkit
> ```

> [tab] Solana
>
> ```bash npm theme={null}
> npm install @coral-xyz/anchor @solana/wallet-adapter-react
> ```
>
> ```bash yarn theme={null}
> yarn add @coral-xyz/anchor @solana/wallet-adapter-react
> ```

**3. Required polyfills**

> [tab] Vite
>
> Install the Vite plugins:
>
> ```bash npm theme={null}
> npm install --save-dev vite-plugin-wasm vite-plugin-top-level-await vite-plugin-node-polyfills
> ```
>
> ```bash yarn theme={null}
> yarn add --dev vite-plugin-wasm vite-plugin-top-level-await vite-plugin-node-polyfills
> ```
>
> Update your `vite.config.ts` as follows:
>
> ```typescript theme={null}
> import { defineConfig } from "vite";
> import wasm from "vite-plugin-wasm";
> import { nodePolyfills } from "vite-plugin-node-polyfills";
> import topLevelAwait from "vite-plugin-top-level-await";
>
> export default defineConfig({
> plugins: [
>     nodePolyfills(),
>     wasm(),
>     topLevelAwait(),
>     // Other plugins
> ],
> // Other settings
> });
> ```

> [tab] Webpack
>
> In your Webpack config add support for Wasm:
>
> ```typescript theme={null}
> /** @type {import('next').NextConfig} */
>
> const nextConfig = {
>     webpack: function (config, options) {
>         // Other webpack config options
>         config.experiments = {
>             ...config.experiments,
>             asyncWebAssembly: true,
>         };
>         return config;
>     },
>     // Other settings
> };
>
> module.exports = nextConfig;
> ```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.