# eckoDEX SDK

## Initializing a eckoDEX SDK client

Initializing a eckoDEX SDK client is super simple and straightforward.

{% tabs %}
{% tab title="Node - TypeScript" %}

```typescript
import { KaddexSdk } from 'kaddex-sdk';

const kaddex = new KaddexSdk({ account, secretKey:  );

await kaddex.swap({ ... });
```

{% endtab %}
{% endtabs %}

You can also pass your account and/or secret key into the initializer to avoid the need to pass them into each function call.

{% tabs %}
{% tab title="Node - TypeScript" %}

```typescript
import dotenv from 'dotenv';
import { KaddexSdk } from 'kaddex-sdk';

dotenv.config();

const PUBLIC_KEY = process.env.PUBLIC_KEY;
const SECRET_KEY = process.env.SECRET_KEY;

// if your account name is different from your PUBLIC_KEY, use the correct value here
const account = await retrieveVerifiedAccount({ accountName: PUBLIC_KEY });

const kaddex = new KaddexSdk({ account, secretKey: SECRET_KEY });

await kaddex.swap({ ... });
```

{% endtab %}
{% endtabs %}

A client instance includes all the core methods you'll need for interacting with the swap.

{% content-ref url="eckodex-sdk/createpair" %}
[createpair](https://docs.ecko.finance/eckodao/sdk/reference/eckodex-sdk/createpair)
{% endcontent-ref %}

{% content-ref url="eckodex-sdk/addliquidity" %}
[addliquidity](https://docs.ecko.finance/eckodao/sdk/reference/eckodex-sdk/addliquidity)
{% endcontent-ref %}

{% content-ref url="eckodex-sdk/removeliquidity" %}
[removeliquidity](https://docs.ecko.finance/eckodao/sdk/reference/eckodex-sdk/removeliquidity)
{% endcontent-ref %}

{% content-ref url="eckodex-sdk/swap" %}
[swap](https://docs.ecko.finance/eckodao/sdk/reference/eckodex-sdk/swap)
{% endcontent-ref %}

{% content-ref url="eckodex-sdk/swapexactin" %}
[swapexactin](https://docs.ecko.finance/eckodao/sdk/reference/eckodex-sdk/swapexactin)
{% endcontent-ref %}

{% content-ref url="eckodex-sdk/swapexactout" %}
[swapexactout](https://docs.ecko.finance/eckodao/sdk/reference/eckodex-sdk/swapexactout)
{% endcontent-ref %}
