# createAlchemySmartAccountClient | @account-kit/infra

> Creates an Alchemy smart account client using the provided configuration options, including account details, gas manager configuration, and custom middleware.

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

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

```ts
function createAlchemySmartAccountClient<TChain, TAccount, TContext>(
  params,
): AlchemySmartAccountClient<TChain, TAccount, Record<string, never>, TContext>;
```

Defined in: [account-kit/infra/src/client/smartAccountClient.ts:107](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/infra/src/client/smartAccountClient.ts#L107)

## Type Parameters

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

  <tbody>
    <tr>
      <td>
        `TChain` *extends* [`Chain`](https://viem.sh)
      </td>

      <td>
        [`Chain`](https://viem.sh)
      </td>
    </tr>

    <tr>
      <td>
        `TAccount` *extends* `undefined` | `SmartContractAccount`
      </td>

      <td>
        `undefined` | `SmartContractAccount`
      </td>
    </tr>

    <tr>
      <td>
        `TContext` *extends* `undefined` | `UserOperationContext`
      </td>

      <td>
        `undefined` | `UserOperationContext`
      </td>
    </tr>

  </tbody>
</table>

## Parameters

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

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

      <td>
        [`AlchemySmartAccountClientConfig`](../type-aliases/AlchemySmartAccountClientConfig)\<`TChain`, `TAccount`, `TContext`>
      </td>
    </tr>

  </tbody>
</table>

## Returns

[`AlchemySmartAccountClient`](../type-aliases/AlchemySmartAccountClient)\<`TChain`, `TAccount`, `Record`\<`string`, `never`>, `TContext`>

An instance of `AlchemySmartAccountClient` configured based on the provided options