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

# Supported DEXes

> Every venue the routing engine can quote and dispatch to on Base.

The router can dispatch legs to the venues below. The `DexId` value appears in `routePlan.routes[].legs[].dex` on every quote response, and you can pass any subset of these in the optional `allowedDexes` field on `/quote` and `/execute` to restrict routing.

## Constant-product (V2-style)

Single-hop direct-pool swaps via the V2 product formula `x × y = k`.

| `DexId`            | Protocol                 | Notes                                        |
| ------------------ | ------------------------ | -------------------------------------------- |
| `UNIV2`            | Uniswap V2               | Multi-hop fallback also uses this kind.      |
| `AERODROME_V2LIKE` | Aerodrome volatile pools | The V2-style side of Aerodrome (non-stable). |
| `PANCAKE_V2`       | PancakeSwap V2           |                                              |

## Concentrated liquidity (V3-style)

Tick-aware pool math.

| `DexId`               | Protocol                                    | Notes                                                            |
| --------------------- | ------------------------------------------- | ---------------------------------------------------------------- |
| `UNIV3`               | Uniswap V3                                  | Direct-pool dispatch for single hop, path-encoded for multi-hop. |
| `PANCAKE_V3`          | PancakeSwap V3                              |                                                                  |
| `PANCAKE_INFINITY_CL` | PancakeSwap Infinity Concentrated Liquidity |                                                                  |
| `ALIEN_BASE_V3`       | AlienBase V3                                |                                                                  |
| `HYDREX`              | Hydrex                                      | Algebra Integral family.                                         |
| `QUICKSWAP_V4`        | QuickSwap V4                                | Algebra Integral family.                                         |

## Universal router (V4-style)

Uniswap V4 is dispatched through the universal-router commands ABI.

| `DexId` | Protocol   | Notes                                                          |
| ------- | ---------- | -------------------------------------------------------------- |
| `UNIV4` | Uniswap V4 | Carries an opaque `commands` byte string and `inputs[]` array. |

## Stable and curve-style

| `DexId`        | Protocol                             | Notes                      |
| -------------- | ------------------------------------ | -------------------------- |
| `AERODROME_CL` | Aerodrome Concentrated Liquidity     | Stable side of Aerodrome.  |
| `CURVE`        | Curve TwoCrypto-NG (and compatibles) | Pool-indexed by `i` / `j`. |

## Proprietary on-chain AMMs

These are direct integrations with project-specific AMMs on Base. All dispatch through a router contract per protocol.

| `DexId`     | Protocol  |
| ----------- | --------- |
| `PROPSWAP`  | PropSwap  |
| `TESSERA`   | Tessera   |
| `ELFOMOFI`  | Elfomofi  |
| `LUNARBASE` | LunarBase |
| `FELTIR`    | Feltir    |

## Other on-chain venues

| `DexId`          | Protocol       | Notes                                         |
| ---------------- | -------------- | --------------------------------------------- |
| `DODO_V2`        | DODO V2        | Carries `pool` and `baseToken` for direction. |
| `WOOFI`          | WooFi          | Routed through the WooFi router contract.     |
| `GYROSCOPE_ECLP` | Gyroscope ECLP | Elliptic concentrated liquidity.              |
| `MAVERICK_V2`    | Maverick V2    |                                               |

## Restricting routing

If you want to limit which venues the optimizer considers (e.g. for a benchmarking experiment, or to avoid a specific protocol), pass `allowedDexes` on `/quote` or `/execute`:

```json theme={null} theme={null}
{
  "chainId": 8453,
  "tokenIn": "0x...",
  "tokenOut": "0x...",
  "amountIn": "1000000000",
  "slippageBps": 100,
  "allowedDexes": ["UNIV3", "AERODROME_CL", "PANCAKE_V3"]
}
```

<Warning>
  Restricting `allowedDexes` reduces routing flexibility. Expect worse `expectedAmountOut` than an unrestricted quote. Use only when you have a clear reason.
</Warning>

## What's NOT supported

Off-chain professional market makers (PMMs) used by some upstream aggregators are **not** in this list.

Bridges, cross-chain venues, and limit-order books are also out of scope; this aggregator is same-chain spot routing on Base.
