# PublicKey.toHex

Serializes a [`PublicKey.PublicKey`](/api/PublicKey/types#publickey) to [`Hex.Hex`](/api/Hex/types#hex).

## Imports

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

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

## Examples

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

const publicKey = PublicKey.from({
  prefix: 4,
  x: '0x8318535b54105d4a7aae60c08fc45f9687181b4fdfc625bd1a753fa7397fed75',
  y: '0x3547f11ca8696646f2f3acb08e31016afac23e630c5d11f59f61fef57b0d2aa5'
})

const hex = PublicKey.toHex(publicKey) // [!code focus]
// @log: '0x048318535b54105d4a7aae60c08fc45f9687181b4fdfc625bd1a753fa7397fed753547f11ca8696646f2f3acb08e31016afac23e630c5d11f59f61fef57b0d2aa5'
```

## Definition

```ts
function toHex(
  publicKey: PublicKey<boolean>,
  options?: toHex.Options,
): Hex.Hex
```

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

## Parameters

### publicKey

* **Type:** `PublicKey<boolean>`

The public key to serialize.

#### publicKey.prefix

* **Type:** `numberType`

#### publicKey.x

* **Type:** `0x${string}`

#### publicKey.y

* **Type:** `0x${string}`

### options

* **Type:** `toHex.Options`
* **Optional**

#### options.includePrefix

* **Type:** `boolean`
* **Optional**

Whether to include the prefix in the serialized public key.

## Return Type

The serialized public key.

`Hex.Hex`
