# requestAccount

> Overview of the requestAccount function

> 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, params?): Promise<RequestAccountResult>;
```

Defined in: [packages/wallet-apis/src/actions/requestAccount.ts:53](https://github.com/alchemyplatform/aa-sdk/blob/v5.x.x/packages/wallet-apis/src/actions/requestAccount.ts#L53)

Requests a smart account address for the provided signer using the wallet API client.

Note: This is only needed for non-EIP-7702 accounts. The client defaults to using
EIP-7702 with the signer's address, so you can call `prepareCalls` or `sendCalls`
directly without first calling `requestAccount`.

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 a non-7702 smart account
const account = await client.requestAccount();
```

## 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>
        `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 an object containing a smart account address