Deploying a Cryptoswap Pool
Cryptoswap pools are appropriate for two or three volatile assets that are not pegged to each other — such as ETH/USDC or BTC/ETH. The creation wizard will guide you through the process, but if you have questions at any point, feel free to reach out to the Curve team in the Telegram or Discord.
For a basic explanation of Cryptoswap mechanics, see: Understanding Curve Pools.
Step 1: Choose Pool Type
Make sure your wallet is connected (top right corner) and your network is set to the chain where you want to deploy the pool. Curve supports pool deployment on all networks where Curve is live — just switch chains in your wallet, and the UI will follow automatically.
Select Cryptoswap as the pool type. This is used for volatile assets that do not share a common price peg — such as ETH, BTC, or volatile non-pegged pairs.


Step 2: Select Tokens
In this step, you'll define which assets your pool will support. Cryptoswap pools support two or three tokens. To add a third token, click the blue Add token button.


Due to safety reasons, plain ETH cannot be used in Cryptoswap pools. Please use WETH instead.
Step 3: Set Pool Parameters
You can choose a preset configuration or switch to advanced mode to fine-tune the pool's behavior.


💡 Initial price bounds are fetched automatically from CoinGecko. If unavailable, you will need to input them manually.
Preset Options
Presets vary depending on whether your pool contains two or three tokens.
Two-Asset Pools
- Crypto: For highly volatile pairs like ETH–LDO
- Forex: For relatively stable foreign exchange pairs like crvUSD–EURe
- Liquid Staking Derivatives: For LSDs such as cbETH–wETH
- Liquid Restaking Tokens: For restaking assets such as pufETH–wETH
Three-Asset Pools
- Tricrypto: For pools like USDT–wBTC–ETH
- Three Coin Volatile: For volatile tokens paired with ETH and a stablecoin


You can use these as-is or switch to Advanced mode to adjust parameters manually.
Advanced Parameters
To fine-tune the pool, enable the Advanced toggle:


| Parameter | Description |
|---|---|
| Mid Fee / Out Fee | The base and maximum fee range, charged depending on pool imbalance. More here: Cryptoswap Dynamic Fees |
| Fee Gamma | Controls how fee ramps up with imbalance. Suggested: 0.0023 (volatile) or 0.005 (less volatile). More here: Cryptoswap Dynamic Fees |
| Amplification (A) | Higher = flatter curve = tighter prices near balance. Use lower for volatile pairs. More here: Cryptoswap Parameters |
| Gamma | Shapes the bonding curve. Suggested: 0.000145 (volatile) or 0.0001 (less volatile). More here: Cryptoswap Parameters |
| Allowed Extra Profit | Sets profit-taking buffer. Suggested: 0.000002 (volatile) or 0.00000001 (less volatile). |
| Adjustment Step | Step size for rebalancing. Suggested: 0.000146 (volatile) or 0.0000055 (less volatile). |
| Moving Average Time | Smooths price changes over time using an EMA (in seconds). |
📖 Further reading: Deep Dive: Curve V2 Parameters, Cryptoswap Explainer
Step 4: Enter Pool Info
After configuring your parameters, you’ll be prompted to set the Pool Name and Pool Symbol.
These values will be used as the ERC‑20 metadata for the pool’s LP token and will appear in block explorers and in the Curve UI.
- Pool Name – A human-readable label for the pool (e.g.
ETH/USDC Crypto) - Pool Symbol – The LP token symbol (e.g.
ETHUSDC,crvETHUSDC)


💡 Tip: Use short, clear names that reflect the assets in the pool. These fields are immutable after deployment — double-check for typos.
Step 5: Deploy the Pool
Before deploying, review all your settings in the Summary panel on the right. This includes:
- Selected tokens
- Pool parameters (A, Fees, Gamma, etc.)
- Pool name and symbol
Once everything looks correct, click the blue Create Pool button at the bottom of the page. Your wallet will prompt you to approve the transaction.


What to do after deployment
✅ Seed initial liquidity — a pool with zero balance cannot process trades.
✅ (Optional) Create a gauge to distribute CRV or other incentives to LPs.