# TypedData.validate

Checks if [EIP-712 Typed Data](https://eips.ethereum.org/EIPS/eip-712) is valid.

## Imports

:::code-group
```ts [Named]
import { TypedData } from 'ox'
```

```ts [Entrypoint]
import * as TypedData from 'ox/TypedData'
```
:::

## Examples

```ts twoslash
import { TypedData } from 'ox'

const valid = TypedData.validate({
  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: true
```

## Definition

```ts
function validate<typedData, primaryType>(
  value: assert.Value<typedData, primaryType>,
): boolean
```

**Source:** [src/core/TypedData.ts](https://github.com/wevm/ox/blob/main/src/core/TypedData.ts#L1040)

## Parameters

### value

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

The Typed Data to validate.

## Return Type

`boolean`
