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

# Compared to Uniswap

> Where the Lunya exchange sits against Uniswap V2, V3, and V4

## The short answer

The core is a **port of Uniswap V3** — rewritten for modern Solidity and verified against Uniswap's own compiled bytecode. On top of that base sits a typed hook system, which is the capability people reach for **V4** for, plus pieces no Uniswap version has: a native StableSwap curve, on-chain limit orders, and a no-fee-tier market structure.

## Feature by feature

| Capability                   | Uniswap V2         | Uniswap V3                          | Uniswap V4         | Lunya                                                               |
| ---------------------------- | ------------------ | ----------------------------------- | ------------------ | ------------------------------------------------------------------- |
| Full-range `x·y=k` pools     | ✅                  | emulated with a full-range position | via hooks          | ✅ CP pool type, first-class                                         |
| Concentrated liquidity       | ❌                  | ✅                                   | ✅                  | ✅ CL pool type                                                      |
| Hooks / extensible pools     | ❌                  | ❌                                   | ✅ singleton hooks  | ✅ ten typed hooks, per-pool [plugin](/exchange/plugins)             |
| Dynamic fees                 | ❌                  | ❌                                   | possible via hooks | ✅ default on every pool                                             |
| On-chain limit orders        | ❌                  | ❌                                   | possible via hooks | ✅ native, [filled inside the crossing swap](/exchange/limit-orders) |
| StableSwap (amplified) curve | ❌                  | ❌                                   | ❌                  | ✅ STABLE pool type                                                  |
| Fee tiers                    | single fee         | multiple tiers per pair             | per-pool           | **no tiers** — one canonical pool per pair, per type                |
| TWAP oracle                  | price accumulators | in every pool                       | via hooks          | as a [plugin](/exchange/plugins#twap-oracle), only where needed     |
| Flash loans                  | flash swaps        | ✅                                   | flash accounting   | ✅ on every pool type                                                |

## What this means in practice

**For traders** — one canonical pool per pair means depth is never split across fee tiers of the same market, and the fee adapts to volatility instead of being whichever tier the LPs happened to pick.

**For LPs** — V3-style concentrated positions where you want efficiency, V2-style full-range where you want simplicity, an amplified curve for pegged pairs — one venue, one interface.

**For integrators** — the events are byte-identical to Uniswap V3's, so existing subgraphs and indexers work unchanged; execution goes through the native periphery. Full details in [Uniswap V3 Compatibility](/developers/integrations).

## What it is not

It is not a Uniswap V4 deployment: V4 is a singleton with flash accounting; here every pool is its own contract with its own plugin, attached at creation and opted into hook by hook. The design goal was V4's extensibility on V3's battle-understood architecture — not V4's architecture itself.
