Curve swap

Curve swap is a Stablecoin Trade Limited to Available Pools

Curve swap is a wallet-to-wallet exchange built for low price movement between tokens that track a similar value. Curve’s automated market maker (AMM), a token pool controlled by smart contracts, prices trades with the StableSwap invariant, a formula optimized for assets such as USDC, USDT and DAI. You select an available pool or route, review its quoted output and submit one onchain transaction. The pool fee, price impact and network gas determine the final cost.

The short version: It is a decentralized exchange transaction using Curve’s StableSwap invariant to trade similarly priced assets efficiently, but swaps are limited to tokens in available pools.

Pool fees, price impact and gas

In day-to-day use, Curve swap costs combine the selected pool’s fee, execution price movement and the gas paid to the transaction’s network.

Pool charge

Every pool exposes its own fee parameter, so the quote must identify the pool that will execute the trade. StableSwap-NG stores fee values with a denominator of 10 10 and supports an off-peg multiplier that raises the charged rate as balances move away from equilibrium. Its deployment specification describes a 1% maximum initial trade fee and assigns 50% of collected fees to the protocol side for veCRV holders. The remainder stays with liquidity providers. Read the quoted fee rather than assuming that every Curve pool uses the same percentage.

Execution price

Price impact comes from the trade’s size relative to usable reserves and the pool’s balance before execution. One basis point equals 0.01%, while 100 basis points equal 1%. The minimum-received field converts the user’s chosen tolerance into an onchain floor. If execution would return less, the entire transaction reverts instead of settling at the weaker amount.

Network payment

Gas pays the chain’s validators or sequencer and doesn’t flow to the liquidity pool. An EIP-1559 transaction carries two fee caps: the maximum fee per gas and the maximum priority fee per gas. A first ERC-20 trade also needs an approval transaction when the chosen router lacks allowance, creating two separate gas payments before the exchange completes.

When does Curve beat a constant-product AMM?

A Curve stable pool beats a constant-product AMM when both assets trade near the same reference value and liquidity remains balanced.

StableSwap keeps the pricing curve flatter around equilibrium than the x × y = k model associated with Uniswap v2, which supports larger like-for-like trades with less price movement from the formula. Uniswap v3 narrows that gap when liquidity providers concentrate capital around a tight range. Balancer weighted pools suit portfolios with unequal target weights, while 1inch searches multiple venues and CoW Swap matches trade intents through competing solvers. For USDC-to-DAI or stETH-to-WETH execution, compare their final quotes. For unrelated assets, concentrated-liquidity and aggregator routes deserve equal consideration.

Choosing the right pool before connecting a wallet

Curve pool selection is a compatibility decision: the exact token contracts, network and available reserves must all match the intended trade.

Network and token identity

EVM addresses contain 20 bytes and display as 40 hexadecimal characters after the 0x prefix; the contract address resolves which token a ticker represents. Chain IDs provide another fixed check: Ethereum uses 1, Optimism uses 10, Polygon PoS uses 137, Arbitrum One uses 42161 and Base uses 8453. MetaMask, Rabby and WalletConnect-compatible wallets expose the selected network before signing. A bridged USDC representation and native USDC may share a ticker while pointing to different contracts and different Curve pools.

Pool selection checklist

  • Match both token contract addresses to the assets held in the wallet.
  • Confirm that the wallet’s chain ID matches the pool’s deployment network.
  • Compare direct-pool output with the Curve Router’s complete route output.
  • Check minimum received, pool fee and estimated gas in the same quote.
  • Leave enough of the chain’s native asset to pay approval and swap gas.

Available reserves decide whether a route exists and how much price impact it produces. Pool labels help navigation, but contract identities and quoted outputs make the decision.

Wallet approval and swap entry path

The Curve swap entry path is an ERC-20 approval followed by the exchange transaction when the router lacks sufficient allowance.

ERC-20 defines approve for setting a spender’s allowance and transferFrom for moving the authorized amount. A fresh allowance therefore creates a two-transaction path: approve first, then swap after confirmation. If sufficient allowance already exists, only the swap needs signing. Native ETH doesn’t use ERC-20 approval, although a route may wrap it as WETH inside the transaction. The exchange call supplies the input amount, a minimum output and a receiver. Once included, the call settles atomically: every route step succeeds and the receiver gets the output, or the state changes revert.

Review the receiver and minimum received before signing. Those two fields govern where the output lands and how far the quote may move.

Stablecoins, wrapped assets and pegged tokens

During normal operation, Curve’s primary use cases are exchanges among stablecoins, liquid-staking tokens and wrapped representations whose prices are closely related.

USDC and USDT use 6 decimal places on Ethereum, while DAI uses 18 and WBTC uses 8. Those precision settings control raw token units; they don’t prove that market values remain aligned. Dollar pools may combine USDC, USDT, DAI or crvUSD when a deployed pool includes the exact contracts. Ether-related pools pair assets such as WETH, stETH and wstETH, whose conversion relationships differ from a simple dollar peg (see Curve swap intro to guide quick start ).

In the common configuration, Curve also runs CryptoSwap designs for volatile combinations. A TriCrypto pool holds three assets rather than treating every constituent as a stablecoin, and its dynamic pricing model follows changing relative prices. The intended use still starts with pool availability: unsupported input and output contracts require another venue or a longer route.

What are the main trade-offs?

One level down, Curve swap trade-offs are asset divergence, uneven pool balances, contract exposure and the opportunity cost of restricting execution to Curve liquidity.

StableSwap concentrates efficiency around a shared reference value. When one asset moves away from that reference, the pool’s balance shifts, price impact rises and a dynamic fee may increase. The quoted output already reflects pool reserves and fee logic, but it doesn’t guarantee that either token will recover its target. Multi-hop routes add contract calls and gas, while shallow pools reduce executable size. An approval also remains available to its spender until its amount changes or reaches zero. These conditions make token identity, pool depth, route length and minimum received the decisive checks before signing.

A stable ticker doesn’t create a fixed redemption right. The asset’s own issuer, collateral design and redemption mechanism determine that relationship.

StableSwap mechanics beneath the quote

The StableSwap invariant is Curve’s pricing engine for correlated assets, combining near-constant-sum behavior around balance with stronger curvature near depletion.

Balance and amplification

StableSwap-NG normalizes pool balances to 10 18 precision before solving the invariant. Its amplification coefficient, called A, controls how flat the trading region remains near equilibrium. The template caps A at 1,000,000 with an internal precision factor of 100. A scheduled change can’t exceed a 10-fold move from the previous value and its ramp must last at least 86400 seconds. Higher amplification improves efficiency near the target relationship, but it doesn’t remove divergence exposure when a constituent’s market value separates from its peers (covered in detail ).

Fee response

The StableSwap-NG fee formula reads normalized balances before and after the proposed exchange. Its off-peg multiplier raises the effective rate as the two sides become less balanced, while the fee denominator remains fixed at 10 10 . The quote function returns output after applying this pool logic, which is why pool state matters even when the displayed token pair hasn’t changed.

Atomic routing

At the other end, Curve Router executes up to 5 swaps inside one transaction, using an 11-address route that alternates the initial token, pool addresses and output tokens. Each hop also carries 5 integer parameters describing its coin indexes, swap type, pool type and coin count. StableSwap-NG pools support as many as 8 coins. The router computes intermediate outputs onchain and enforces one final minimum amount, so a failed intermediate step reverses the full route rather than leaving partial balances.

Alternatives for routing, limit orders and cross-chain moves

Closer to the ground, Curve alternatives are same-chain exchanges, intent-based solvers and cross-chain transfer systems, each solving a different routing problem.

Uniswap offers broad pair coverage through concentrated-liquidity pools, and Balancer supports weighted multi-asset pools with configurable proportions. The 1inch aggregator compares liquidity across decentralized exchanges, while CoW Swap uses signed intents and solver competition rather than choosing one pool directly. A bridge such as Across addresses movement between chains; it isn’t a substitute for a same-chain swap unless the route also exchanges assets. Compare the required output contract, destination chain, total gas and minimum received. The correct venue follows the transaction’s actual job, not the familiarity of its interface, which is examined in Using Curve swap.

Useful questions about Curve swap

Do I need CRV to trade in a Curve pool?

CRV isn’t required to submit an ordinary Curve trade. You need the input token, a wallet on the pool’s network and enough of that network’s native asset for gas. The pool deducts its fee from the trade output; holding CRV or vote-escrowed CRV (veCRV) doesn’t create a standard per-swap discount. CRV and veCRV belong to governance and incentive mechanics rather than transaction eligibility.

How long does a Curve swap take on Ethereum?

A Curve swap settles when the target network includes its transaction and reaches the confirmation level your wallet accepts. Ethereum organizes consensus in 12-second slots, although inclusion isn’t guaranteed in the next slot and wallet status may remain pending longer. Layer 2 networks such as Arbitrum One and Base follow their own sequencing and settlement paths. Curve itself doesn’t add an offchain waiting period after successful execution.

Which wallets support Curve’s EVM transactions?

Any wallet that signs transactions on the pool’s supported EVM network can interact with Curve contracts. MetaMask and Rabby provide browser and mobile transaction flows, while WalletConnect links compatible wallet apps to a decentralized application. Hardware wallets such as Ledger sign through a connected wallet interface. Compatibility still requires the correct chain, enough native gas currency and support for the token contracts involved in the selected pool.

Does a normal swap mint a Curve LP token?

An ordinary Curve swap doesn’t mint a liquidity-provider token. The transaction transfers the input asset into a pool and sends the quoted output asset to the chosen receiver. Curve LP tokens represent a share created by adding liquidity, which is a different action. A router may produce an LP token only when that token is deliberately selected as the route’s output, so the confirmation screen should show the expected asset contract.

Where can I confirm that a Curve trade completed?

A completed Curve trade appears in the target chain’s transaction receipt and the receiver’s token balance. Open the transaction hash from wallet activity, then check its success status, called contracts and event logs in a chain explorer. Curve pools emit exchange events, while ERC-20 output tokens emit a transfer to the receiver. A pending receipt means inclusion hasn’t happened yet; a successful receipt identifies the exact route and settled amounts.

Are Curve pool positions portable between chains?

Curve pool positions are chain-specific because their tokens, pool contracts and accounting live on one network. An LP token on Ethereum doesn’t represent the pool deployed on Arbitrum One, even if both interfaces use similar names. Moving value between networks requires a supported bridge path, and changing the underlying asset may require a separate swap. Withdraw the intended pool share and identify the destination token contract before planning that sequence.

Is there a minimum size for a Curve swap?

A Curve pool requires a positive raw input amount, but token precision sets the smallest representable unit. One raw unit of USDC equals 0.000001 USDC because USDC has 6 decimals; one raw unit of DAI equals 0.000000000000000001 DAI because DAI has 18. The network still charges gas for execution, so a technically valid tiny swap may cost more in gas than the economic value it exchanges.

Does holding veCRV lower the fee on my own swap?

Holding veCRV doesn’t apply a universal discount to the fee charged by a Curve pool. The selected pool’s parameters and balance-dependent formula set the trader’s fee. veCRV gives governance rights and participates in Curve’s gauge and fee-distribution systems, but those functions are separate from the output calculation for an ordinary exchange. Compare the quoted output and pool fee directly, regardless of the CRV or veCRV balance in the connected wallet.