# PublicKey.compress

Compresses a [`PublicKey.PublicKey`](/api/PublicKey/types#publickey).

## 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: '0x83185...',
  y: '0x35477...'
})

const compressed = PublicKey.compress(publicKey) // [!code focus]
// @log: {
// @log:   prefix: 3,
// @log:   x: '0x83185...',
// @log: }
```

## Definition

```ts
function compress(
  publicKey: PublicKey<false>,
): PublicKey<true>
```

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

## Parameters

### publicKey

* **Type:** `PublicKey<false>`

The public key to compress.

#### publicKey.prefix

* **Type:** `numberType`

#### publicKey.x

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

#### publicKey.y

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

## Return Type

The compressed public key.

`PublicKey<true>`
