# prepareSign | @account-kit/wallet-client

> Overview of the prepareSign 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 prepareSign<TAccount>(client, params): Promise<{}>;
```

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

Prepares a signature request for signing messages or transactions.

## Example

```ts
// Prepare a message to be signed
const result = await client.prepareSign({
  from: "0x1234...",
  type: "personal_sign",
  data: "Hello, world!",
});
```

## Type Parameters

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

  <tbody>
    <tr>
      <td>
        `TAccount` *extends* `undefined` | `` `0x${string}` ``
      </td>

      <td>
        `undefined` | `` `0x${string}` ``
      </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>
        `client`
      </td>

      <td>
        `InnerWalletApiClient`
      </td>

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

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

      <td>
        [`PrepareSignParams`](../type-aliases/PrepareSignParams)\<`TAccount`>
      </td>

      <td>
        Parameters for preparing the signature request
      </td>
    </tr>

  </tbody>
</table>

## Returns

`Promise`\<\{
}>

A Promise that resolves to the prepare sign result containing a signature request