# createSmartWalletClient | @account-kit/wallet-client

> Overview of the createSmartWalletClient function from @account-kit/wallet-client

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

{/* This file is auto-generated by TypeDoc. Do not edit manually. */}

```ts
function createSmartWalletClient<TAccount>(params): SmartWalletClient<TAccount>;
```

Defined in: [account-kit/wallet-client/src/client/index.ts:74](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/wallet-client/src/client/index.ts#L74)

Creates a smart wallet client that can be used to interact with a smart account.

## Example

```ts
import { LocalAccountSigner } from "@aa-sdk/core";
import { alchemy, arbitrumSepolia } from "@account-kit/infra";
import { generatePrivateKey } from "viem/accounts";
import { createSmartWalletClient } from "@account-kit/wallet-client";

const signer =
  LocalAccountSigner.privateKeyToAccountSigner(generatePrivateKey());
const transport = alchemy({
  apiKey: "your-alchemy-api-key",
});
const client = createSmartWalletClient({
  transport,
  chain: arbitrumSepolia,
  signer,
});
```

## Type Parameters

<table>
  <thead>
    <tr>
      <th align="left">Type Parameter</th>
      <th align="left">Default type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `TAccount` *extends* `undefined` | `` `0x${string}` ``
      </td>

      <td>
        `undefined`
      </td>
    </tr>

  </tbody>
</table>

## Parameters

<table>
  <thead>
    <tr>
      <th align="left">Parameter</th>
      <th align="left">Type</th>
      <th align="left">Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `params`
      </td>

      <td>
        [`SmartWalletClientParams`](../type-aliases/SmartWalletClientParams)\<`TAccount`>
      </td>

      <td>
        The parameters for creating the smart wallet client
      </td>
    </tr>

  </tbody>
</table>

## Returns

[`SmartWalletClient`](../type-aliases/SmartWalletClient)\<`TAccount`>

- A viem-compatible client