> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rhinestone.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# signTypedData

> Sign typed data (EIP-712).

The example uses the viem `base` chain and configured account signers;
the required third argument must be explicit `undefined` for defaults.

Method on an account instance returned by [`createAccount`](/wallets/custom-signer/sdk-reference/rhinestone-sdk/create-account). Requires a managed EVM account; unavailable on receiver-only and standalone Solana accounts.

## Usage

```ts theme={null}
const signature = await account.signTypedData({
  domain: { name: 'Example', version: '1', chainId: base.id },
  types: { Greeting: [{ name: 'message', type: 'string' }] },
  primaryType: 'Greeting',
  message: { message: 'Hello' },
}, base, undefined)
```

## Parameters

<ParamField path="parameters" type="HashTypedDataParameters<typedData, primaryType>" required>
  Typed-data parameters
</ParamField>

<ParamField path="chain" type="Chain" required>
  Chain to sign the typed data for
</ParamField>

<ParamField path="signers" type="SignerSet | undefined" required>
  Signers to use, or `undefined` for the account default
</ParamField>

## Returns

<ResponseField name="signature" type="`0x${string}`">
  The signature
</ResponseField>

## See also

* [signMessage](/wallets/custom-signer/sdk-reference/account/signing/sign-message) to sign an EIP-191 message


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.