# @cetusprotocol/sui-clmm-sdk

### Introduction

Cetus-CLMM-SUI-SDK is the official software development kit (SDK) specifically designed for seamless integration with Cetus-CLMM. It provides developers with the necessary tools and resources to easily connect and interact with Cetus-CLMM, enabling the development of robust and efficient applications.

### Getting Started

To integrate our SDK into your local project, please follow the example steps provided below.\
Please see details in document.

#### Prerequisites

```sh
npm i @cetusprotocol/sui-clmm-sdk
```

### SDK Initialization

The SDK provides a convenient initialization method `src/config/initCetusSDK` for quick setup and configuration of the Cetus SDK.

#### Network Options

* `mainnet` (Production Network)
* `testnet` (Test Network)

#### Important Note

Before performing swaps or other asset-related operations, ensure:

* A wallet is properly configured
* The wallet has sufficient token balance for the intended operation

```typescript
import { CetusClmmSDK } from '@cetusprotocol/sui-clmm-sdk'
```

If you would like to use the mainnet network and the official Sui rpc url, you can do so as follows:

```typescript
const sdk = CetusClmmSDK.createSDK()
```

If you wish to set your own full node URL or network (You have the option to select either **'mainnet**' or **'testnet'** for the network), you can do so as follows:

```typescript
const env = 'mainnet'
const full_rpc_url = 'YOUR_FULL_NODE_URL'
const wallet = 'YOUR_WALLET_ADDRESS'

const sdk = CetusClmmSDK.createSDK({ env })
```

If you wish to set your own full node URL or SuiClient, you can do so as follows:

```typescript
const sdk = CetusClmmSDK.createSDK({ env, sui_client })
//or
const sdk = CetusClmmSDK.createSDK({ env, full_rpc_url })
```

**After linking your wallet, if you need use your wallet address to do something, you should set it by `CetusClmmSDK.setSenderAddress("YOUR_SUI_ADDRESS_HERE")`**

```typescript
const wallet = 'YOUR_WALLET_ADDRESS'

sdk.setSenderAddress(wallet)
```

Now, you can start using Cetus SDK.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cetus-1.gitbook.io/cetus-developer-docs/developer/via-sdk-v2/sdk-modules/cetusprotocol-sui-clmm-sdk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
