# getSmartAccountClient | @account-kit/core

> Obtains a smart account client based on the provided parameters and configuration. Supports creating any of the SupportAccountTypes in Account Kit. If the signer is not connected, or an account is already being intializes, this results in a loading state.

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

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

```ts
function getSmartAccountClient<TChain, TAccount>(
  params,
  config,
): GetSmartAccountClientResult<TChain, SupportedAccount<TAccount>>;
```

Defined in: [account-kit/core/src/actions/getSmartAccountClient.ts:70](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/core/src/actions/getSmartAccountClient.ts#L70)

## Type Parameters

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

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

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

    <tr>
      <td>
        `TAccount` *extends* `SupportedAccountTypes`
      </td>

      <td>
        `SupportedAccountTypes`
      </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>
        [`GetSmartAccountClientParams`](../type-aliases/GetSmartAccountClientParams)\<`TChain`, `TAccount`>
      </td>

      <td>
        Parameters for getting the smart account client, including account parameters and client parameters
      </td>
    </tr>

    <tr>
      <td>
        `config`
      </td>

      <td>
        `AlchemyAccountsConfig`
      </td>

      <td>
        The configuration containing the client store and other necessary information
      </td>
    </tr>

  </tbody>
</table>

## Returns

[`GetSmartAccountClientResult`](../type-aliases/GetSmartAccountClientResult)\<`TChain`, `SupportedAccount`\<`TAccount`>>

The result object which includes the client, address, and loading status of the client