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

# Client

> RebelfiClient configuration and constructor

## Installation

<CodeGroup>
  ```bash npm theme={null}
  npm install @rebelfi/sdk
  ```

  ```bash yarn theme={null}
  yarn add @rebelfi/sdk
  ```

  ```bash pnpm theme={null}
  pnpm add @rebelfi/sdk
  ```

  ```bash bun theme={null}
  bun add @rebelfi/sdk
  ```
</CodeGroup>

## RebelfiClient

The main SDK client class.

### Constructor

```typescript theme={null}
import { RebelfiClient } from '@rebelfi/sdk';

const client = new RebelfiClient(config: RebelfiSDKConfig);
```

### RebelfiSDKConfig

```typescript theme={null}
interface RebelfiSDKConfig {
  /** Your RebelFi API key (required) */
  apiKey: string;

  /** Set to true to use sandbox environment (sandbox-api.rebelfi.io) */
  sandbox?: boolean;

  /** Optional: Override base URL (e.g., for proxying) */
  baseUrl?: string;

  /** Request timeout in milliseconds (default: 60000) */
  timeout?: number;
}
```

### Properties

| Property         | Type                | Description                         |
| ---------------- | ------------------- | ----------------------------------- |
| `venues`         | `VenuesAPI`         | Venue and strategy operations       |
| `wallets`        | `WalletsAPI`        | Wallet registration and management  |
| `allocations`    | `AllocationsAPI`    | Allocation queries and org overview |
| `operations`     | `OperationsAPI`     | Supply and unwind operations        |
| `transactions`   | `TransactionsAPI`   | Transaction submission              |
| `walletProfiles` | `WalletProfilesAPI` | Wallet profile listing              |

### Example

```typescript theme={null}
// Production
const client = new RebelfiClient({
  apiKey: process.env.REBELFI_API_KEY
});

// Sandbox
const sandbox = new RebelfiClient({
  apiKey: process.env.REBELFI_SANDBOX_API_KEY,
  sandbox: true
});
```
