# Installation Guide

## 🚀 Installing the GoFundMeme SDK

The GoFundMeme SDK is a complete toolkit designed for seamless interaction with the GFM Protocol, supporting Fair Launch, Bonding Curve, Staking, and Harvesting features.

## 🔧 Install GFM-SDK (Full Version)

If you need full access to all features, including Harvesting, use the main GFM-SDK package.

Using npm:

```
npm install @gofundmeme/sdk @solana/web3.js moment decimal.js
```

Using yarn:

```
yarn add @gofundmeme/sdk @solana/web3.js moment decimal.js
```

## 🎨 Installing the GoFundMeme SDK (Frontend Version)

To simplify frontend development, we’ve released GFM-SDK-Frontend, a lightweight version of the SDK that removes external dependencies such as Orca SDK, Raydium SDK, and Meteora SDK. This helps avoid compatibility issues when integrating the SDK into frontend applications.

{% hint style="warning" %}
Important: The frontend SDK does not support Harvesting.
{% endhint %}

If your application requires Harvesting, use the main GFM-SDK on your backend and expose an API endpoint to retrieve Harvest transactions for your frontend.

## 🔧 Install GFM-SDK-Frontend (Optimized for Frontend)

If you only need core functionalities such as Pool Creation, Swaps, and Claiming, use the lighter frontend version.

Using npm:

```
npm install @gofundmeme/sdk-frontend @solana/web3.js moment decimal.js
```

Using yarn:

```
yarn add @gofundmeme/sdk-frontend @solana/web3.js moment decimal.js
```

## 🛠 Which SDK Should You Use?

| Use Case                                               | SDK to Use                                                    | Supports Harvesting? |
| ------------------------------------------------------ | ------------------------------------------------------------- | -------------------- |
| Backend applications with full GFM Protocol support    | @gofundmeme/sdk                                               | ✅ Yes                |
| Frontend applications that need core interactions only | @gofundmeme/sdk-frontend                                      | ❌ No                 |
| You need both frontend & backend integration           | Use both (GFM-SDK for backend, GFM-SDK-Frontend for frontend) | ✅ Yes (via backend)  |
