# requestAccount | @account-kit/wallet-client

> Overview of the requestAccount function from @account-kit/wallet-client

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

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

```ts
function requestAccount(client, signer, params?): Promise<RequestAccountResult>;
```

Defined in: [account-kit/wallet-client/src/client/actions/requestAccount.ts:45](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/wallet-client/src/client/actions/requestAccount.ts#L45)

Requests an account for the provided signer using the wallet API client.
If an account already exists for the signer, it will always return that account unless a new ID is specified.
If an account already exists, the creationHint will be ignored.

## Example

```ts
// Request an account with default parameters using a local signer
const signer = LocalAccountSigner.privateKeyToAccountSigner("0x...");
const account = await client.requestAccount(signer);
```

## Parameters

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

  <tbody>
    <tr>
      <td>
        `client`
      </td>

      <td>
        `InnerWalletApiClient`
      </td>

      <td>
        The wallet API client to use for the request
      </td>
    </tr>

    <tr>
      <td>
        `signer`
      </td>

      <td>
        `SmartWalletSigner`
      </td>

      <td>
        The signer that will be associated with the account
      </td>
    </tr>

    <tr>
      <td>
        `params?`
      </td>

      <td>
        [`RequestAccountParams`](../type-aliases/RequestAccountParams)
      </td>

      <td>
        Optional parameters for requesting a specific account
      </td>
    </tr>

  </tbody>
</table>

## Returns

`Promise`\<[`RequestAccountResult`](../type-aliases/RequestAccountResult)>

A Promise that resolves to a SmartContractAccount instance