# signTypedData | @account-kit/wallet-client

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

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

```ts
function signTypedData(client, signer, params): Promise<`0x${string}`>;
```

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

Signs typed data (EIP-712) using the smart account.
This method requests the account associated with the signer and uses it to sign the typed data.

## Example

```ts
// Sign typed data
const signature = await client.signTypedData({
  domain: {
    name: "Example DApp",
    version: "1",
    chainId: 1,
    verifyingContract: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC",
  },
  types: {
    Person: [
      { name: "name", type: "string" },
      { name: "wallet", type: "address" },
    ],
  },
  primaryType: "Person",
  message: {
    name: "John Doe",
    wallet: "0xAaAaAaAaAaAaAaAaAaAAAAAAAAaaaAaAaAaaAaAa",
  },
});
```

## 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 of the smart account
      </td>
    </tr>

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

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

      <td>
        The typed data to sign, following EIP-712 format
      </td>
    </tr>

  </tbody>
</table>

## Returns

`Promise`\<`` `0x${string}` ``>

A Promise that resolves to the signature as a hex string