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

# Installation and Configuration

> Use an SDK build that matches the latest account and wallet APIs.

The examples use **`@toxicflow-labs/ts-sdk@0.2.0`**. Install the package, then configure a client with the current testnet AccountCore address below.

## Install the reviewed release

Use Node.js 22.18 or later:

```bash theme={null}
npm install @toxicflow-labs/ts-sdk@0.2.0 viem@2.51.3
```

The examples compile against this published artifact. No source checkout is required. Earlier `0.1.1` installations do not provide the new account API.

## Configure clients

```typescript theme={null}
import { createKuruClient } from "@toxicflow-labs/ts-sdk";
import { createPublicClient, createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { monadTestnet } from "viem/chains";

const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
const transport = http(process.env.RPC_URL);
const publicClient = createPublicClient({ chain: monadTestnet, transport });
const walletClient = createWalletClient({ account, chain: monadTestnet, transport });
const kuru = createKuruClient({
  publicClient,
  walletClient,
  account,
  addresses: { accountCore: "0xe08573a1Ecc4aa507c9626071fA0c4513caf7906" },
});
```

This is a local-script example. Browser integrations should use the user's wallet provider; never embed an owner key in a frontend bundle. Validate environment variables before creating a client; the [first-trade example](/sdk/quickstart) does so.

## Exchange WebSocket decoder compatibility

SDK 0.2.0 exports `@toxicflow-labs/ts-sdk/exchange-ws` for the earlier stream format. It does not decode the newer 256-bit balance fields, action/operation metadata and operation-sentinel records documented in [Exchange WebSocket](/api/exchange/websocket). The package pin above is for the contract examples.

Trading-wallet signatures use EIP-712 domain version `2`; AccountCore administration uses version `1`.


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