# CreateAccountParams | @account-kit/signer

> Overview of CreateAccountParams from @account-kit/signer

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

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

```ts
type CreateAccountParams =
  | {
      email: string;
      emailMode?: EmailType;
      expirationSeconds?: number;
      redirectParams?: URLSearchParams;
      type: "email";
    }
  | {
      phone: string;
      type: "sms";
    }
  | {
      creationOpts?: CredentialCreationOptionOverrides;
      email: string;
      type: "passkey";
    }
  | {
      creationOpts?: CredentialCreationOptionOverrides;
      type: "passkey";
      username: string;
    }
  | {
      accountId?: string;
      publicKey: string;
      type: "accessKey";
    };
```

Defined in: [account-kit/signer/src/client/types.ts:41](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/signer/src/client/types.ts#L41)

## Type Declaration

```ts
{
  email: string;
  emailMode?: EmailType;
  expirationSeconds?: number;
  redirectParams?: URLSearchParams;
  type: "email";
}
```

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

  <tbody>
    <tr>
      <td>
        `email`
      </td>

      <td>
        `string`
      </td>

      <td>
        ‐
      </td>
    </tr>

    <tr>
      <td>
        `emailMode?`
      </td>

      <td>
        [`EmailType`](EmailType)
      </td>

      <td>
        **Deprecated**

        This option will be overriden by dashboard settings. Please use the dashboard settings instead. This option will be removed in a future release.
      </td>
    </tr>

    <tr>
      <td>
        `expirationSeconds?`
      </td>

      <td>
        `number`
      </td>

      <td>
        ‐
      </td>
    </tr>

    <tr>
      <td>
        `redirectParams?`
      </td>

      <td>
        `URLSearchParams`
      </td>

      <td>
        ‐
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"email"`
      </td>

      <td>
        ‐
      </td>
    </tr>

  </tbody>
</table>

```ts
{
  phone: string;
  type: "sms";
}
```

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

  <tbody>
    <tr>
      <td>
        `phone`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"sms"`
      </td>
    </tr>

  </tbody>
</table>

```ts
{
  creationOpts?: CredentialCreationOptionOverrides;
  email: string;
  type: "passkey";
}
```

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

  <tbody>
    <tr>
      <td>
        `creationOpts?`
      </td>

      <td>
        [`CredentialCreationOptionOverrides`](CredentialCreationOptionOverrides)
      </td>
    </tr>

    <tr>
      <td>
        `email`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"passkey"`
      </td>
    </tr>

  </tbody>
</table>

```ts
{
  creationOpts?: CredentialCreationOptionOverrides;
  type: "passkey";
  username: string;
}
```

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

  <tbody>
    <tr>
      <td>
        `creationOpts?`
      </td>

      <td>
        [`CredentialCreationOptionOverrides`](CredentialCreationOptionOverrides)
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"passkey"`
      </td>
    </tr>

    <tr>
      <td>
        `username`
      </td>

      <td>
        `string`
      </td>
    </tr>

  </tbody>
</table>

```ts
{
  accountId?: string;
  publicKey: string;
  type: "accessKey";
}
```

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

  <tbody>
    <tr>
      <td>
        `accountId?`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `publicKey`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"accessKey"`
      </td>
    </tr>

  </tbody>
</table>