> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://v3.viem.sh/api/mcp` to find what you need.

# TypedData.serialize

:::info
`TypedData.serialize` is a re-export of ox's [`TypedData.serialize`](https://oxlib.sh/api/TypedData/serialize). Refer to the ox documentation for the full reference.
:::

Serializes [EIP-712 Typed Data](https://eips.ethereum.org/EIPS/eip-712) schema into string.

## Imports

```ts
import { TypedData } from 'viem/utils'
```

## Examples

```ts twoslash
// @noErrors
import { TypedData } from 'viem/utils'

TypedData.serialize({
  domain: {
    name: 'Ether!',
    version: '1',
    chainId: 1,
    verifyingContract:
      '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC'
  },
  primaryType: 'Foo',
  types: {
    Foo: [
      { name: 'address', type: 'address' },
      { name: 'name', type: 'string' },
      { name: 'foo', type: 'string' }
    ]
  },
  message: {
    address: '0xb9CAB4F0E46F7F6b1024b5A7463734fa68E633f9',
    name: 'jxom',
    foo: '0xb9CAB4F0E46F7F6b1024b5A7463734fa68E633f9'
  }
})
// @log: "{"domain":{},"message":{"address":"0xb9cab4f0e46f7f6b1024b5a7463734fa68e633f9","name":"jxom","foo":"0xb9CAB4F0E46F7F6b1024b5A7463734fa68E633f9"},"primaryType":"Foo","types":{"Foo":[{"name":"address","type":"address"},{"name":"name","type":"string"},{"name":"foo","type":"string"}]}}"
```

## Definition

```ts
function serialize<typedData, primaryType>(
  value: serialize.Value<typedData, primaryType>,
): string
```

## Parameters

### value

* **Type:** `serialize.Value<typedData, primaryType>`

The Typed Data schema to serialize.

## Return Type

The serialized Typed Data schema. w

`string`
