Virtual AMM (vAMM)
A Virtual Automated Market Maker (vAMM) is a pricing mechanism used primarily in perpetual futures protocols where:
There are no real assets in the pool, but prices behave as if there were.
⸻
Core idea
A vAMM simulates an AMM like Uniswap, but: • No actual liquidity providers depositing tokens • No real reserves backing trades • Only virtual reserves used for price discovery
⸻
Intuition
In a normal AMM: • You trade against a real pool of assets
In a vAMM: • You trade against a mathematical curve • Your PnL is settled elsewhere (margin system)
⸻
The pricing model
Most vAMMs use the classic constant product formula:
x \cdot y = k
Where:
x, y = virtual reservesk = constant
⸻
Example
Virtual reserves:
x = 1,000 (ETH)
y = 2,000,000 (USDC)
Price = y / x = 2000 USDC per ETH
If someone goes long (buys ETH exposure):
xdecreasesyincreasespricegoes up
⸻
Critical distinction
These reserves are:
- not withdrawable
- not real liquidity
- purely for price impact simulation
⸻
Architecture
A vAMM system has two major components:
- Pricing Engine (vAMM)
- Maintains virtual reserves
- Calculates price impact
- Moves price along curve
- Margin Engine
- Tracks trader positions
- Handles:
- collateral
- leverage
- liquidations
⸻
Visual model
Trader
|
(opens position)
|
-------------------
| |
vAMM Margin Engine
(price curve) (PnL + risk)
⸻
Where it’s used
The canonical example is Perpetual Protocol.
Also seen in:
- synthetic derivatives platforms
- early DeFi perpetual DEX designs
⸻
How trading works
Long position
- You “buy” from the vAMM
- Price moves up
- You profit if:
- others push price higher
- or external oracle confirms move
⸻
Short position
- You “sell” into the vAMM
- Price moves down
⸻
PnL
PnL is:
- not coming from pool assets
- settled via:
- margin system
- counterparty losses
⸻
Comparison: AMM vs vAMM
| Aspect | AMM (e.g. Uniswap) | vAMM |
|---|---|---|
| Liquidity | Real tokens | Virtual |
| LPs | Yes | No |
| Slippage | Real | Simulated |
| Use case | Spot trading | Derivatives |
| Risk | Impermanent loss | Funding / liquidation |
| Backing | Fully collateralized pool | Margin system |
⸻
The key mechanism: Funding Rate
Because vAMM price can drift from reality, you need:
Funding payments to anchor price to the real market
⸻
Concept
- If vAMM price > real price → longs pay shorts
- If vAMM price < real price → shorts pay longs
⸻
Why this matters
Without funding:
- vAMM becomes detached
- traders can exploit pricing
⸻
Deep insight
A vAMM is:
A price discovery engine without liquidity
This is fundamentally different from:
- order books → match buyers/sellers
- AMMs → use real reserves
Instead:
- vAMM → creates synthetic liquidity via math
Limitations of vAMMs
Be very clear here (most people gloss over this):
-
No real liquidity
- Large trades can distort price easily
-
Requires strong oracle
- Otherwise manipulable
-
Funding dependency
- Core stability mechanism
-
Not capital efficient alone
- Needs margin + insurance fund
⸻
Final mental model
- Segment Tree → efficient computation
- Liquidity Tree → execution decision space
- vAMM → synthetic price engine
⸻
Bottom line
A vAMM is a mathematical market maker that simulates liquidity instead of holding it, enabling leveraged trading without real pooled assets.