> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prismapi.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pool

> Raw pool data capturing liquidity venues and their token reserves.

| Field          | Type                                                       | Description                           |
| -------------- | ---------------------------------------------------------- | ------------------------------------- |
| `chain_id`     | *Integer*                                                  | Chain the pool is deployed on         |
| `protocol`     | *[Protocol](/documentation/evm/dex/overview#data-sources)* | DEX protocol that owns the pool       |
| `event_type`   | *[Event Type](#event-type)*                                | Pool event that produced this update. |
| `pool_address` | *String \[address]*                                        | Pool address                          |
| `vaults`       | *Array([Vault](#vault))*                                   | Pool vaults                           |
| `block_number` | *Integer*                                                  | Block number                          |
| `block_time`   | *String \[date-time]*                                      | Timestamp of the block                |
| `tx_hash`      | *String \[hash]*                                           | Transaction hash                      |

## Event Type

The pool event that triggered the update.

*Enum(String)*

| Value              | Description                           |
| ------------------ | ------------------------------------- |
| `create`           | A new pool was created.               |
| `swap`             | A swap was executed against the pool. |
| `add_liquidity`    | Liquidity was added to the pool.      |
| `remove_liquidity` | Liquidity was removed from the pool.  |

## Vault

A **vault** holds one side of a pool's liquidity reserves. A pool has one vault per token it holds.

Most EVM pool contracts custody their own reserves, so the vault address is usually the pool address. Singleton designs such as Uniswap V4 hold reserves for many pools in one contract, in which case the vault address is that shared contract.

*Object*

| Field           | Type                | Description                       |
| --------------- | ------------------- | --------------------------------- |
| `vault_address` | *String \[address]* | Vault address                     |
| `token_address` | *String \[address]* | Token address                     |
| `amount`        | *Number*            | Amount of token                   |
| `usd_amount`    | *Number \[USD]*     | Value of the vault's token amount |
