# Overview & Pool Types

Source: [https://docs.curve.finance/protocol/pool/overview](https://docs.curve.finance/protocol/pool/overview)

Curve offers a **permissionless** system for deploying liquidity pools — no DAO vote, no approval process, and no technical barrier beyond the gas cost to deploy. A full-featured interface is available in the Curve app, so you can launch a custom pool without writing any code.

To get started quickly, follow one of the deployment guides:

[

How to Deploy a Stableswap Pool

Learn how to deploy a Stableswap pool.

](https://docs.curve.finance/protocol/pool/guides/deploy-stableswap.md)

[

How to Deploy a Cryptoswap Pool

Learn how to deploy a Cryptoswap pool.

](https://docs.curve.finance/protocol/pool/guides/deploy-cryptoswap.md)

[

How to Deploy a FXSwap Pool

Learn how to deploy a FXSwap pool.

](https://docs.curve.finance/protocol/pool/guides/deploy-fxswap.md)

Factories make launching pools on Curve fast, flexible, and accessible to any project—whether you're a stablecoin issuer, LST protocol, synthetic-asset platform, or any other DeFi team looking to bootstrap deep, reliable liquidity.

<a id="how-are-pools-deployed"></a>

## How are Pools Deployed?

In the background, new liquidity pools are deployed by making use of a **Pool Factory**, which essentially is a smart contract for deploying new pools. Each factory contains the logic and configuration for a specific pool type. Factories support a few different pool types:

-   **Stableswap** — for pegged or correlated assets (e.g., USDC/USDT, stETH/ETH)
-   **Cryptoswap** — for more volatile or uncorrelated assets (e.g., ETH/USDC)
-   **FXSwap** - for lower-volatility assets like Forex pairs, or lower volatility Crypto pairs like BTC/ETH.

Once a factory is deployed, anyone can create a new pool of that type — either through the Curve UI or directly on-chain.

info

**Pool deployment is completely free of charge** beyond standard gas costs. There are no additional fees, no protocol charges, and no hidden costs associated with deploying a new pool on Curve.

Pools deployed via a factory appear automatically on the Curve frontend after a short propagation period and are picked up by aggregators such as 1inch and CowSwap. You don't need to chase integrations.

<a id="choosing-the-right-pool-type"></a>

## Choosing the Right Pool Type

Curve supports multiple pool designs to fit different kinds of assets. Selecting the correct type is essential to ensure low slippage, efficient trading, and capital-efficient liquidity.

Not sure which to use? Reach out in the official Curve channels.

<a id="stableswap-pool"></a>

### Stableswap Pool

Choose a **Stableswap pool** when your assets are expected to stay close or correlated in price — e.g., stablecoins (USDC/USDT), LSTs (wstETH/stETH), or yield-bearing stable assets like sDAI. Learn more here: [Understanding Stableswap](https://docs.curve.finance/protocol/pool/understanding-stableswap.md).

Stableswap-NG pools support a wide variety of token types beyond standard ERC-20 tokens. This flexibility allows you to create pools with yield-bearing tokens, rebasing tokens, and oracle-enabled tokens.

**Supported Asset Types:**

| Type | Description | Use Cases | Examples |
| --- | --- | --- | --- |
| **0** | Standard ERC-20 | Basic tokens with no special features | USDC, USDT, DAI |
| **1** | Oracle-enabled | Tokens with rate oracles for accurate pricing | wstETH, cbETH |
| **2** | Rebasing | Tokens that change supply over time | stETH |
| **3** | ERC4626 Vault | Yield-bearing vault tokens | sDAI |

**Technical Requirements:**

-   All tokens must be ERC-20 compatible (return True/revert, True/False, or None)
-   Maximum 18 decimals supported
-   Oracle tokens must have precision $\le 18$
-   ERC4626 vaults support arbitrary precision for both vault and underlying tokens

<a id="cryptoswap"></a>

### Cryptoswap

Choose a **Cryptoswap pool** when your assets are more volatile or uncorrelated—e.g., ETH/USDC or BTC/USDC. Cryptoswap pools use dynamic pricing that handles larger price swings while still retaining Curve’s efficiency advantages. Learn more about [Understanding Cryptoswap](https://docs.curve.finance/protocol/pool/understanding-cryptoswap.md).

<a id="fxswap"></a>

### FXSwap

**FXSwap** is designed for uncorrelated low-volatility asset pairs like Forex (e.g., crvUSD/EURC) or lower volatility crypto pairs (e.g., BTC/ETH). It combines Stableswap's mathematical efficiency with Cryptoswap's dynamic rebalancing framework, plus a "refueling" mechanism that allows projects to fast-track rebalancing with external incentives. Learn more about [Understanding FXSwap](https://docs.curve.finance/protocol/pool/understanding-fxswap.md).

* * *

<a id="base-pools-and-metapools"></a>

## Base Pools and Metapools

Stableswap pools on Curve support a powerful structure of **base pools** and **metapools**.

-   A **base pool** is a regular Curve pool that the DAO has specifically approved to be used in metapools.
-   A **metapool** pairs a token against an existing base pool rather than against a single token.

![\`create\_from\_pool\` function interface](https://docs.curve.finance/assets/images/basepool-metapool-16beb0f5aad2ddd49f9cdf35b61696dd.png)![\`create\_from\_pool\` function interface](https://docs.curve.finance/assets/images/basepool-metapool-16beb0f5aad2ddd49f9cdf35b61696dd.png)

For example, the USDC/USDT pool might begin as a normal Stableswap pool. If the DAO adds it as a base pool, it can then be reused in other pools. A protocol such as Inverse can create a metapool that pairs their stablecoin DOLA against the base pool, resulting in a DOLA–USDC/USDT market. Users can directly swap DOLA/USDT or DOLA/USDC through this pool.

This approach gives new tokens a major advantage: they can **tap into the deep, established liquidity of the base pool** instead of needing to attract all liquidity themselves **by** pairing their token against an already existing and established pool with TVL.
