Mechanics

How VVS Finance works

Every swap on VVS is priced by maths, not by a counterparty. Understand the automated market maker — the pool, the constant-product curve, and the fee split — and the rest of the platform stops feeling like magic.

Pools instead of order books

A traditional exchange keeps an order book: a list of people willing to buy and a list willing to sell, matched when their prices meet. An automated market maker throws that out. Instead, each market is a liquidity pool — a smart contract holding a reserve of two tokens, say CRO and a stablecoin. When you swap, you trade against the pool: you add one token and take out the other, and the contract recalculates the price on the spot based on what's left.

The tokens in that pool come from liquidity providers — ordinary users who deposit a balanced pair and, in exchange, earn a slice of every trade. No provider, no liquidity; no liquidity, no swap. That symbiosis is the heart of how VVS functions.

The constant-product formula

VVS's core pools use the model popularized by Uniswap V2: x × y = k. Here x and y are the amounts of the two tokens in the pool, and k is a constant the trade must preserve. Put in some of token X and the pool must give you enough of token Y to keep the product k unchanged (before fees). Because the relationship is a curve, not a straight line, the more you buy of one token the worse your rate gets — that's price impact, and it's why a huge trade in a small pool is expensive.

Constant-product curve x times y equals k A downward-sloping curve showing that as the amount of token X in the pool rises, the amount of token Y falls, keeping their product constant. A trade moves the pool from one point on the curve to another. Token X in pool → Token Y in pool → before after a swap x × y = k
A swap slides the pool along the curve. Trade more in one direction and each additional unit costs more — that curvature is price impact.

A worked example

Suppose a pool holds 1,000 CRO and 100 USDC, so k = 100,000 and the starting price is 0.10 USDC per CRO. You want to buy USDC with 100 CRO. Ignoring the fee for a moment, after your deposit the pool holds 1,100 CRO, so to keep k constant it must hold 100,000 ÷ 1,100 ≈ 90.9 USDC. You receive the difference: about 9.1 USDC.

Notice you got 9.1 USDC for 100 CRO — an effective price of ~0.091, worse than the 0.10 you saw before trading. That gap is price impact, and it grows with trade size relative to the pool. The same trade against a pool ten times deeper would barely move the price at all. This is the single most useful intuition on the whole site: depth beats everything for getting a fair rate.

Where the fee goes

Each swap charges a trading fee — commonly cited at 0.3% on the classic V2 pools — taken from the input amount. The bulk of that fee is added straight back into the pool, which means it accrues to the liquidity providers in proportion to their share. A portion of protocol revenue is also routed to buy back VVS from the market and reward xVVS stakers. Exact percentages and fee tiers can change and differ between pool types, so always trust the figure the interface shows you over any number you read in a guide — including this one.

Fees are how liquidity providers get paid

When you provide liquidity, that 0.3% on every trade is your revenue stream. Whether it outweighs impermanent loss depends on how much the pool trades and how far the two prices drift apart. High volume plus low volatility is the friendly case.

V2 vs V3 liquidity

VVS offers two styles of pool, and the difference matters if you provide liquidity:

How the two liquidity models compare in practice.
 V2 poolsV3 pools
Liquidity spreadAcross all prices, from zero to infinityConcentrated in a price range you choose
Capital efficiencyLower — much liquidity sits unusedHigher — your capital works where trading happens
EffortSet and forgetActive — you may need to rebalance the range
Best forBeginners, volatile pairsStable pairs, hands-on providers

If you're just starting, V2 is the simpler mental model and the rest of our guides assume it unless noted. V3 can earn more on the same capital but asks you to manage a range, and liquidity outside that range stops earning until price returns.

Routing across pools

Not every pair has a direct pool. To swap token A for token C when only A/B and B/C pools exist, the router hops through B automatically — you still send A and receive C in one transaction, but the trade touches two pools and two fees. The interface shows the route and the resulting "minimum received." Our swap guide walks through reading those settings so you're never surprised by what lands in your wallet.

Mechanics summarized here are simplified for clarity and reflect the standard AMM design VVS uses; specific parameters can evolve. For exact, current behaviour and figures, rely on the live interface and the project's official documentation and channels.