# Dynamic Pool

Wombat is an avant-garde stableswap. It never stops innovating. It continuously brings more invention to the DeFi space.

Researching Wombat's Invariant discovered a dynamic pool that supports swaps between assets with different values as supplied by external oracles.

$$
\sum{L\_x  p\_x (r\_x - \frac{A}{r\_x})} = D
$$

$$L\_x$$ = Liability of token x (in token amount)

$$p\_x$$ = relative price of token x

$$r\_x$$ = coverage ratio of token x

$$A$$ = amplification factor

### Liquid Staking Pool

Liquid staking pool is the first dynamic pool on Wombat Exchange. Users can swap their tokenized LSD for respective underlying tokens without waiting for the unstaking period.

#### Oracle

The liquid staking pool contract reads the exchange rate of the tokenized LSD from the respective staking contracts.

### Risk of Impermanent Loss

Impermanent loss in Wombat's context is when the [global equilibrium coverage ratio](https://docs.wombat.exchange/concepts/broken-reference) $$r^\*$$ decreases.

A pool is similar to an index that holds a basket of assets. If the price of its underlying assets changes, it is possible that $$r^*$$ deviates from 1. However, it's unlikely that the $$r^*$$ of LSD pools will decrease. We expect the coverage ratio of liquid staking LSD to be higher than 100%, while that of underlying tokens to be lower than 100% as natural sell pressure on tokenized LSD. In such a case, $$r^\*$$ monotonically increases.

However, by any chance $$r^\*$$ drops, the gap can be filled, and the coverage ratio can be pushed back to 1 with haircut fees accumulated.

The smart contract implementation, $$r^\*$$ is assumed to be 1 in deposit and withdrawal to simplify the calculation.

### Rebasing Asset

At this time, Wombat does not support rebasing assets.

For USD+ assets, any extra tokens resulting from rebasing are skimmed and used to incentivize its own pool.

{% hint style="info" %}
More details can be found on the side pool and dynamic pool [whitepaper](https://www.wombat.exchange/Wombat_Whitepaper_SidePool.pdf).
{% endhint %}
