# createModularAccountAlchemyClient | @account-kit/smart-contracts

> Creates a modular account Alchemy client with the provided configuration.

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

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

```ts
function createModularAccountAlchemyClient<TSigner>(
  params,
): Promise<
  AlchemySmartAccountClient<
    undefined | Chain,
    MultiOwnerModularAccount<TSigner>,
    ExecutionActions<
      MultiOwnerModularAccount<TSigner>,
      undefined,
      keyof EntryPointRegistryBase<unknown>
    > &
      ManagementActions<
        MultiOwnerModularAccount<TSigner>,
        undefined,
        keyof EntryPointRegistryBase<unknown>
      > &
      ReadAndEncodeActions<MultiOwnerModularAccount<TSigner>> &
      object &
      object &
      PluginManagerActions<MultiOwnerModularAccount<TSigner>> &
      AccountLoupeActions<MultiOwnerModularAccount<TSigner>>
  >
>;
```

Defined in: [account-kit/smart-contracts/src/msca/client/alchemyClient.ts:28](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/smart-contracts/src/msca/client/alchemyClient.ts#L28)

## Type Parameters

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

  <tbody>
    <tr>
      <td>
        `TSigner` *extends* `SmartAccountSigner`\<`any`>
      </td>

      <td>
        `SmartAccountSigner`\<`any`>
      </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>
        [`AlchemyModularAccountClientConfig`](../type-aliases/AlchemyModularAccountClientConfig)\<`TSigner`>
      </td>
    </tr>

  </tbody>
</table>

## Returns

`Promise`\<`AlchemySmartAccountClient`\<`undefined` | [`Chain`](https://viem.sh), `MultiOwnerModularAccount`\<`TSigner`>, `ExecutionActions`\<`MultiOwnerModularAccount`\<`TSigner`>, `undefined`, keyof `EntryPointRegistryBase`\<`unknown`>> & `ManagementActions`\<`MultiOwnerModularAccount`\<`TSigner`>, `undefined`, keyof `EntryPointRegistryBase`\<`unknown`>> & `ReadAndEncodeActions`\<`MultiOwnerModularAccount`\<`TSigner`>> & `object` & `object` & `PluginManagerActions`\<`MultiOwnerModularAccount`\<`TSigner`>> & `AccountLoupeActions`\<`MultiOwnerModularAccount`\<`TSigner`>>>>

A promise that resolves to an `AlchemySmartAccountClient` configured with the desired plugins and actions