# createLightAccount | @account-kit/smart-contracts

> Creates a light account based on the provided parameters such as transport, chain, signer, init code, and more. Ensures that an account is configured and returned with various capabilities, such as transferring ownership and retrieving the owner's address.

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

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

```ts
function createLightAccount<TTransport, TSigner, TLightAccountVersion>(
  config,
): Promise<LightAccount<TSigner, TLightAccountVersion>>;
```

Defined in: [account-kit/smart-contracts/src/light-account/accounts/account.ts:75](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/smart-contracts/src/light-account/accounts/account.ts#L75)

## Type Parameters

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

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

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

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

      <td>
        `SmartAccountSigner`\<`any`>
      </td>
    </tr>

    <tr>
      <td>
        `TLightAccountVersion` *extends* `"v1.0.1"` | `"v1.0.2"` | `"v1.1.0"` | `"v2.0.0"`
      </td>

      <td>
        `"v2.0.0"`
      </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>
        `config`
      </td>

      <td>
        [`CreateLightAccountParams`](../type-aliases/CreateLightAccountParams)\<`TTransport`, `TSigner`, `TLightAccountVersion`>
      </td>

      <td>
        The parameters for creating a light account
      </td>
    </tr>

  </tbody>
</table>

## Returns

`Promise`\<[`LightAccount`](../type-aliases/LightAccount)\<`TSigner`, `TLightAccountVersion`>>

A promise that resolves to a `LightAccount` object containing the created account information and methods