ByAUJay
Curve Finance Liquidity Pools and AMM Mechanics 2025: Deep‑Dive for Protocol Designers
Short summary: A practitioner’s blueprint to design, launch, and risk‑manage Curve pools in 2025—covering Stableswap‑NG, Cryptoswap (Two/Tricrypto), crvUSD’s LLAMMA, RouterNG, fees/emissions, and the newest cross‑chain deployments and parameter presets. Includes concrete configs, guardrails, and “gotchas” founders and protocol PMs should bake into specs from day one.
Why this matters now
Curve’s surface area expanded materially in 2024–2025: Stableswap‑NG added dynamic off‑peg fees and an MA oracle; Cryptoswap NG tightened its EMA‑oracle rebalancing; crvUSD matured with LLAMMA and Savings‑crvUSD (scrvUSD); RouterNG standardized multi‑hop routing; and new chain deployments (e.g., Hyperliquid’s HyperEVM) created fresh liquidity venues. If you’re deciding how to stand up stablecoin markets, volatile AMM pairs, or a borrowing primitive that resists “cliff” liquidations, your design choices on A, gamma, fee ramps, oracles, and gauges directly govern your unit economics and risk. (resources.curve.finance)
The 2025 Curve product surface at a glance
- Stableswap‑NG (stable/pegged assets): invariant with amplification A, dynamic off‑peg fee multiplier, and short‑window MA oracle; permissionless factory with presets. (resources.curve.finance)
- Cryptoswap NG (volatile assets): Two/Tricrypto pools with internal EMA oracles, price_scale re‑centering, and rebalancing gated by fee coverage and adjustment steps. (docs.curve.finance)
- crvUSD + LLAMMA: banded, “soft” liquidations via an AMM that gradually moves collateral ↔ stable across 4–50 bands; plus scrvUSD (yield‑bearing crvUSD). (docs.curve.finance)
- RouterNG: multi‑pool, up to 5‑token path swaps, unified get_dy/get_dx across pool types. (docs.curve.finance)
- Gauges/veCRV/bribes: fees now paid in crvUSD to veCRV; gauge votes and liquid lockers drive emissions; Votemarket operationalizes on‑chain vote incentives. (resources.curve.finance)
Stableswap‑NG: how to set A, fees, and the “off‑peg” response
Stableswap remains the gold standard for like‑priced assets because its invariant interpolates between constant‑sum and constant‑product. In NG, you configure:
- A (1–5,000 typical in presets): higher A flattens near‑peg slippage; lower A makes the curve more x·y=k‑like.
- Swap fee (0–1%) plus Off‑peg Fee Multiplier (0–12.5): dynamically increases fees as the pool drifts off peg.
- MA time (60–3,600 s default presets): a short EMA that dampens fee/oracle sensitivity to momentary spikes. (resources.curve.finance)
Practical template (tri‑stable, e.g., DAI/USDC/USDT on a fast L2):
- A = 1,000–2,000 if assets are highly fungible (narrow pegs, low oracle noise); A = 300–600 if you expect temporary divergence (e.g., synthetic/bridged stable).
- Fee = 0.04–0.10% baseline; Off‑peg Multiplier = 5–8 on L2s where arbs are fast; reduce to 2–4 on higher‑latency chains.
- MA time = 300–900 s to avoid fee thrash during bursty order flow.
Tune with your order‑book partners’ arb latency; higher off‑peg multipliers reward fast repricing but can over‑penalize organic flow if arbs are slow.
Governance/admin nuance you can exploit in NG: pools may set admin_fee anywhere from 0–100% (vs the historical 50% default to veCRV), if the DAO assigns a pool admin via set_admin. This lets you sweet‑spot LP net fees on exotic pools while still sending a stream to veCRV or a designated fee receiver. (docs.curve.finance)
What still holds: the canonical 50% admin‑fee model remains the default DAO revenue split across pools and borrowing—collected weekly and now distributed in crvUSD to veCRV lockers. Plan emissions and fee economics assuming that split unless you intentionally opt into customized admin controls on NG deployments. (resources.curve.finance)
Implementation note: confirm A ramping and fee changes are scheduled (commit/apply) rather than instantaneous to avoid manipulation windows, and restrict MA windows to minutes, not hours, for stable pairs. (docs.curve.finance)
Cryptoswap NG (Two/Tricrypto): concentrating liquidity that follows price
Curve’s volatile‑asset AMM uses:
- price_scale: the moving “center” around which liquidity concentrates.
- EMA price_oracle with ma_time to smooth spot trades.
- Rebalancing that only triggers when (a) the shift exceeds adjustment_step and (b) the realized IL cost is covered by at least 50% of collected fees—protecting LPs from needless repricing churn. (docs.curve.finance)
Key parameters and typical magnitudes you’ll encounter:
- mid_fee (min fee at balance) and out_fee (max at imbalance). Many production pools sit around mid_fee ≈ 0.26% and out_fee ≈ 0.45%, with fee_gamma ≈ 2.3e‑4 shaping how fast fees climb as imbalance grows. These are safe starting points for blue‑chip pairs. (docs.increment.finance)
- allowed_extra_profit: excess arb profit threshold (beyond a 50% base) required before re‑pegging; adjustment_step: minimal change to price_scale when rebalancing; ma_time: EMA half‑life that governs oracle responsiveness. (alearesearch.io)
Factory guardrails when you deploy: A, gamma, fee bounds, ma_half_time < 604,800 seconds (7 days), initial_price between 1e6 and 1e30, and no duplicate coins. Respect these or deploy will revert. (docs.curve.finance)
Concrete config for a WBTC/WETH TwoCrypto on Ethereum (balanced order flow, liquid oracles):
- A = 15,000–25,000; gamma = factory default for TwoCrypto NG; mid_fee = 0.26%; out_fee = 0.45%; fee_gamma ≈ 2.3e‑4; allowed_extra_profit ≈ 1e8–1e10; adjustment_step ≈ 1e11–1e13; ma_time = 1,800–3,600 s. Start tighter (smaller adjustment_step) if your flow is mean‑reverting; go looser if you see frequent whipsaws. Validate with curvesim before mainnet. (docs.curve.finance)
For Tricrypto (e.g., crvUSD/WETH/CRV), the EMA oracle returns each non‑index‑0 asset vs coin[0] (often the stable). Optimize ma_time to your chain’s block cadence and arb speed; the oracle updates at most once per block. (docs.curve.finance)
LLAMMA and crvUSD: liquidation as a banded AMM, not a cliff
LLAMMA runs a grid of 4–50 bands, each acting like a micro Uniswap v3 range. When price falls into your loan’s liquidation range, LLAMMA gradually sells collateral for crvUSD (soft‑liquidation); if price recovers, it buys back (de‑liquidation). Liquidation operates at the band level (shared across many users), with arbitrageurs keeping the AMM’s internal price get_p aligned with the external oracle. This scales liquidations and reduces “auction” failure modes seen elsewhere. (docs.curve.finance)
Design guidance for treasury‑backed borrow markets in 2025:
- Bands: pick more bands (e.g., 20–30) for smoother, lower‑slippage rebalancing if you expect choppy price action; fewer bands (e.g., 6–10) for high‑conviction collateral with less churn.
- Range width: align the top of your band stack just above the 30‑day high and the bottom below a 99% drawdown scenario relevant to collateral (e.g., LSTs vs ETH).
- Oracles: LLAMMA uses Curve oracles and get_p; ensure arbitrage access and set incentives so get_p ≈ price_oracle is maintained intrablock‑to‑intrablock. (docs.curve.finance)
Adoption datapoint: through 2025, Llamalend (crvUSD borrowing markets) more than doubled outstanding debt in Q2, with stability improvements after parameter tuning—evidence that LLAMMA‑based markets can scale when ranges and rates are tuned to utilization targets. Combine with scrvUSD to reinforce the “flywheel” of predictable rates and demand for crvUSD. (gov.curve.finance)
RouterNG: the practical glue for order flow
RouterNG performs multi‑hop swaps across Stableswap, Cryptoswap, and even LLAMMA paths, up to 5 tokens in a single transaction. Developers can rely on pool interfaces’ exchange/get_dy/get_dx for quotes; this simplifies path‑finding for MEV‑aware routers, aggregators, or in‑app treasury tooling. For enterprise UX, expose a “best‑execution via Curve” toggle that leverages RouterNG’s cross‑pool paths. (docs.curve.finance)
Fees, gauges, and incentives: setting up your distribution game
- Admin fees and distributions: The DAO captures pool and crvUSD lending admin fees and distributes weekly to veCRV, now in crvUSD (since June 20, 2024). For new protocols, this means your LPs earn fees in‑pool, while your veCRV strategy (or partnerships with lockers) earns crvUSD cashflows. (resources.curve.finance)
- veCRV basics: locking CRV grants governance, fee share, boost, and gauge voting. You need 2,500 veCRV to create proposals—factor that into your go‑to‑market or partner with a liquid locker. (resources.curve.finance)
- Vote incentives: platforms like StakeDAO’s Votemarket let you bribe veCRV/vlCVX voters to direct weekly emissions to your gauge—fully on‑chain and cross‑chain, with >$30M distributed over two years. Bake vote‑ops budget into your emissions plan early. (docs.stakedao.org)
2025 nuance: certain NG implementations support custom admin_fee routing (0–100%) to a designated admin/fee_receiver. Projects running exotic assets or seeking emissions‑light liquidity can lower admin_fee to retain LPs while forgoing a gauge, then gradually increase DAO share as organic volume grows. Expect governance scrutiny; document your rationale and publish P&L sims. (docs.curve.finance)
Cross‑chain in 2025: where to launch first
Curve is live across major L1/L2s, with a notable 2025 expansion to Hyperliquid’s HyperEVM. Early weeks showed meaningful fee prints from specific pairs and a swift graduation from Curve‑Lite to full DEX. For emerging ecosystems (e.g., Sonic), partners like CrossCurve have migrated liquidity and sought Curve gauges to bootstrap TVL. Your cross‑chain plan should follow where internal oracles, CCTP rails, and arbitrage capacity exist. (news.curve.finance)
Practical call: if your stablecoin is native on a new chain (e.g., USDC via CCTP v2), prioritize Stableswap‑NG pools there; if your token rides volatile beta, Two/Tricrypto pools with conservative fee ramps will protect LPs as price discovery unfolds. (xt.com)
Security and parameter‑hardening checklist
- Use official factories and audited pool templates. Avoid custom forks unless you can staff formal verification.
- Oracle hygiene:
- For Cryptoswap, set ma_time conservatively; EMAs update once per block. Combine with non‑manipulable references for monitoring. (docs.curve.finance)
- For Stableswap‑NG, keep MA windows short and rely on the off‑peg multiplier to absorb transients. (resources.curve.finance)
- Reentrancy history: the 2023 Vyper compiler bug (0.2.15–0.3.0) enabled large drains in certain pool types. Ensure compiler versions and reentrancy locks are current; favor canonical factories that already mitigated this class of risk. Bake this into vendor checklists. (coindesk.com)
- Rebalancing guardrails in Cryptoswap: only re‑peg when adjustment_step is met and realized IL is offset by fees (≥50%). This is your primary IL governor; don’t loosen it without backtests. (docs.curve.finance)
- Simulation first: run curvesim with your candidate A, fee ramps, gamma, and expected flow to evaluate LP PnL, virtual_price drift, and fill quality before you ship. (curvesim.readthedocs.io)
Two concrete build‑outs (parameterized)
- USD stablecoin hub on a new L2 (USDC/DAI/USDT)
- Pool type: Stableswap‑NG (3‑coin).
- A = 1,200; fee = 0.04%; off‑peg multiplier = 6; MA = 600 s.
- Admin fee policy: start default 50% to align with DAO; revisit after 90 days if LP retention needs a nudge (e.g., lower to 35% via NG admin if volume is sticky but LP APR lags).
- Gauge: request via governance; budget bribes for first 8 epochs on Votemarket; pair with referral incentives targeting market‑makers. (resources.curve.finance)
- Monitoring: watch peg spreads vs CCTP parity quotes; adjust off‑peg multiplier if you observe repeated “fee clipping” without restoring balance.
- Volatile tri‑asset market (crvUSD/WETH/YourToken) on Ethereum
- Pool type: Tricrypto NG.
- mid_fee = 0.20–0.30%; out_fee = 0.80–1.20% (start conservative if YourToken is thin); fee_gamma ≈ 3.5e‑4; allowed_extra_profit ≈ 1e9; adjustment_step ≈ 1e12; ma_time = 1,800 s.
- Initial price_scale: bootstrap from CEX quotes; verify path via RouterNG for scrvUSD inflows.
- Admin fee: keep default 50%—veCRV alignments often outweigh small LP take improvements early on.
- Risk: if YourToken sees periodic spikes, widen out_fee and raise fee_gamma to steepen fee curve under imbalance, preventing LP bleed. (docs.curve.finance)
Operational KPIs you should put on the wall
- virtual_price (LP share value) and xcp_profit progression for Cryptoswap—flatlining suggests fee ramps too low or rebalancing too frequent. (curvesim.readthedocs.io)
- price_scale vs EMA price_oracle divergence—persistent gaps imply arbitrage friction or too‑slow ma_time. (docs.curve.finance)
- Off‑peg dwell time for Stableswap—if >15 minutes during normal market hours, increase off‑peg multiplier or lower MA. (resources.curve.finance)
- crvUSD borrow utilization and scrvUSD inflow rate—healthy pairs show rising utilization with stable scrvUSD inflows after rate reductions. (gov.curve.finance)
- Chain‑level mix—track where your swaps and fees actually occur; 2025 data shows meaningful non‑Ethereum share, with Hyperliquid surging quickly after full deployment. Allocate emissions accordingly. (news.curve.finance)
Emerging 2025 practices we recommend
- “Admin‑fee staging” on NG stables: begin at 50% for DAO alignment; temporarily reduce (e.g., 5–20%) for niche/exotic pools that run without gauges to retain LPs purely on fees; publish a reversion schedule. (docs.curve.finance)
- scrvUSD as base liquidity: pair your USD rails with scrvUSD to attract “low‑risk yield” flow and deepen crvUSD demand; align launch with fee‑distribution comms (veCRV earning in crvUSD is a clean story for treasuries). (news.curve.finance)
- Cross‑venue routing: integrate RouterNG and your aggregator with CCTP‑enabled venues; on Hyperliquid or Sonic, seed a core set of permissionless pools first, then request gauges once organic volume is proven. (docs.curve.finance)
- Security posture: mandate factory templates; forbid deploying Vyper builds with vulnerable reentrancy locks; add pre‑deploy checks in CI/CD that assert compiler and bytecode fingerprints. (coindesk.com)
Build checklist (copy/paste into your PRD)
- Pool type and chain(s)
- Token list, decimals, and price source sanity checks
- Stableswap‑NG: A, fee, off‑peg multiplier, MA seconds
- Cryptoswap NG: A, gamma, mid_fee, out_fee, fee_gamma, allowed_extra_profit, adjustment_step, ma_time, initial_price/price_scale
- LLAMMA (if borrowing): bands count, liquidation range bounds, oracle source, arb incentives
- Admin fee policy (default vs customized NG admin) and fee receiver
- Gauge plan, bribing schedule/budget (Votemarket), and liquid‑locker partners
- RouterNG paths and aggregator integration tests
- curvesim backtests and sign‑off criteria
- Security checks: compiler versions, factory addresses, reentrancy tests
- KPI dashboard: virtual_price, xcp_profit, price_scale–EMA divergence, off‑peg dwell, crvUSD utilization, chain mix
Final word for decision‑makers
Curve’s 2025 stack lets you tune liquidity to your asset’s behavior instead of forcing assets to fit a curve. Whether you’re launching a stable hub, a volatile tri‑pair, or LLAMMA‑backed credit, success is mostly parameterization, not heroics. Start with the presets and ranges above, simulate with curvesim, ship on a factory, and iterate with fee/peg guardrails and a measured incentives plan—then let RouterNG and cross‑chain deployments amplify distribution. (resources.curve.finance)
References and docs you’ll need open while building
- Stableswap‑NG pool creation and parameters (A, fees, off‑peg, MA). (resources.curve.finance)
- Cryptoswap NG in‑depth (A vs gamma, rebalancing, EMA). (docs.curve.finance)
- Tricrypto/TwoCrypto oracle, fees, and admin controls. (docs.curve.finance)
- LLAMMA and liquidation bands for crvUSD. (docs.curve.finance)
- Savings‑crvUSD explainer. (news.curve.finance)
- RouterNG overview. (docs.curve.finance)
- Factory deployer API bounds (ma_half_time, fee ranges). (docs.curve.finance)
- Fee distribution in crvUSD and veCRV basics. (resources.curve.finance)
- Llamalend 2025 metrics. (gov.curve.finance)
- Hyperliquid deployment updates; chain activity snapshots. (news.curve.finance)
- 2023 Vyper incident (historical security baseline). (coindesk.com)
7Block Labs can help you: parameterize pools to your flow, simulate LP/arb economics, design admin‑fee policy and gauge go‑to‑market, ship factory deployments, and wire up RouterNG paths across chains.
Like what you're reading? Let's build together.
Get a free 30‑minute consultation with our engineering team.

