# PoolId.from

Converts a user token and validator token to a pool ID.

Pool IDs are deterministic keys derived from two token addresses (order-independent) used to identify trading pairs on Tempo's enshrined stablecoin DEX.

[Stablecoin DEX Specification](https://docs.tempo.xyz/protocol/exchange/spec)

## Imports

:::code-group
```ts [Named]
import { PoolId } from 'ox/tempo'
```

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

## Examples

```ts twoslash
import { PoolId } from 'ox/tempo'

const poolId = PoolId.from({
  userToken: '0x20c0000000000000000000000000000000000001',
  validatorToken:
    '0x20c0000000000000000000000000000000000002'
})
```

## Definition

```ts
function from(
  value: from.Value,
): Hex.Hex
```

**Source:** [src/tempo/PoolId.ts](https://github.com/wevm/ox/blob/main/src/tempo/PoolId.ts#L48)

## Parameters

### value

* **Type:** `from.Value`

User token and validator token.

#### value.userToken

* **Type:** `abitype_Address`

User token address.

#### value.validatorToken

* **Type:** `abitype_Address`

Validator token address.

## Return Type

The pool ID.

`Hex.Hex`
