> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://www.openfort.io/api/mcp` to find what you need.
>
> **Have feedback?** Use `submit_feedback` on the same MCP server.

# eth\_signTypedData\_v4

Signs [EIP-712](https://eips.ethereum.org/EIPS/eip-712) typed data.

## Request

```ts
type Request = {
  method: "eth_signTypedData_v4";
  params: [
    /** Address of the signer. */
    address: `0x${string}`,
    /** Serialized typed data to sign. */
    data: string
  ];
};
```

## Response

Signature.

```ts
type Response = `0x${string}`;
```

## Example

:::warning
To make these instructions concrete, we have created a sample global wallet called **Rapidfire ID**. To interact with it, you can find its SDK in the NPM package directory: [@rapidfire/id](https://www.npmjs.com/package/@rapidfire/id).

You can check out the GitHub [repository for Rapidfire Wallet](https://github.com/openfort-xyz/ecosystem-sample) to learn how to create your own wallet.
:::

```ts
import RapidfireID from "@rapidfire/id";

const rapidfire = new RapidfireID();
const provider = rapidfire.getEthereumProvider();

const signature = await provider.request({// [!code focus]
  method: "eth_signTypedData_v4",// [!code focus]
  params: ["0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef", "..."],// [!code focus]
});// [!code focus]
```
