# Introduction to POE

| Layer         | Who                            | Role                                                |
| ------------- | ------------------------------ | --------------------------------------------------- |
| **Pricing**   | Market Maker (Oracle Operator) | Sets reference price, concentration range, and fees |
| **Liquidity** | Community (Anyone)             | Deposits tokens, earns swap fees                    |

POE is a **Prop-AMM** that combines multivenue-driven pricing to deliver the most accurate and efficient swaps.

#### What is a Prop AMM?

Proprietary AMMs are liquidity pools where the price is computed by aggregating multiple sources, rather than relying on reserve ratios alone. This approach is highly capital efficient: overcoming traditional liquidity pools impermanent loss and MEV extraction.

**POE's approach:** Pools hold the LP-deposited tokens, while POE handles pricing quotes. This separation enables capital-efficient swaps with deep liquidity.

#### How POE Works

POE is built on **OraclePool** — a smart contract implementing the **Concentrated Liquidity with Asymmetric Pricing (CLAP)** model. CLAP is an extension of the simpler CLCP (Concentrated Liquidity Constant Product) curve: trades that rebalance the pool toward equal value execute at the flat oracle price, while the remainder follows the concentrated-liquidity curve.

**The Two-Layer System**

| Layer         | Who                            | Role                                                                                                    |
| ------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------- |
| **Pricing**   | Oracle Operator (Market Maker) | Off-chain actor authorized to push price, concentration range (α) and fees via the oracle's `setData()` |
| **Liquidity** | Community (Anyone)             | Deposits tokens, earns swap fees                                                                        |

**Price Calculation**

The execution price comes from both components:

1. **Oracle data** — The operator sets a center price (P) and concentration factor (α), defining the price range **\[P/α, P×α]**
2. **Pool balances** — Determine the exact price within that range based on supply/demand. Under CLAP, trades that move the pool toward 50/50 value execute at the flat oracle price P; trades that push the pool further from balance execute on the curve.

This hybrid model keeps prices tight to market while maintaining permissionless trading.

#### Why POE?

* **No traditional impermanent loss** — Algorithm-driven pricing protects liquidity providers
* **No MEV leakage** — Prices update faster than arbitrageurs can extract value
* **Fast price updates** — Price feeds are updated and aligned with external markets

#### Key Features

**Best Execution Price**

Algorithm-driven pricing keeps execution prices tightly aligned with external markets, delivering better rates than traditional AMMs.

**High Throughput**

Designed for volume. The gas-efficient oracle update mechanism supports high-frequency price adjustments without excessive costs.

**Easy Integration**

Callback-based swap interface enables straightforward aggregator integration and composability with other DeFi protocols.

#### Network

POE is deployed on:

* **Monad** (chain ID `143`) — high-performance EVM-compatible chain where the gas economics make frequent oracle updates viable.
* **Avalanche C-Chain** (chain ID `43114`).

See POE Contracts for the per-chain addresses.

#### Getting Started

Explore the documentation to learn how to integrate with POE:

* **Discovering Pools** — Enumerate or look up pools via the Factory (no hard-coded addresses needed)
* **Tracking Price** — Read the current bid/ask spread from the oracle and pool
* **Tracking Liquidity** — Monitor pool balances and liquidity changes
* **Making a Swap with POE** — Execute swaps and implement the callback interface
* **CLAP Oracle Formula** — Full math reference for off-chain quoting

***

## Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.lfj.gg/poe/introduction-to-poe.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language. The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.lfj.gg/poe/introduction-to-poe.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
