Comment on page
🌊
Core Concepts
Liquidity Pools and Reservoirs
Poolside is an AMM or Constant Function Market Maker that introduces liquidity segmentation. On Poolside, the liquidity of an asset pair exists in pockets of active (pools) and inactive (reservoirs) liquidity. This segmentation allows the protocol to integrate rebasing and yield-bearing tokens fully.
Liquidity pools represent active liquidity. These pools dictate the swap ratio between two unique tokens. Poolside uses liquidity pools to match buyers and sellers. Like other AMMs, Poolside relies on the constant product invariant
(y*x=k)
, where x
and y
are the pool’s reserves of the two assets.
Poolside adds two additional token balances called reservoirs, one for each token. The added reservoirs represent inactive liquidity and allow for the following:
- Yield to accrue to LPs instead of being arbitraged away
- Liquidity to avoid unnecessary divergence loss
- Pools to remain accurately priced, maximizing swap fee potential
Most existing AMMs struggle to support rebasing tokens because of how pools work. Pools use the token balances of their reserves to determine the price between a pair of assets. This works fine for tokens with static supplies but is detrimental to any productive token.
Tokens that rebase suffer because AMMs mistake the additional supply as less demand. LPs' tokens get discounted, and they lose out on fee potential. Tokens that accrue value also suffer because pools are inductive. Pools with these tokens leak value since the protocol doesn't understand the exchange rate has changed.
The diagram below shows how existing AMMs treat rebasing events:
Let prETH represent a positive rebasing token (ex: stETH)
In contrast, new tokens from positive rebases on Poolside flow into reservoirs rather than immediately into active liquidity pools:
Notice how the swap ratio stays consistent (the price of 1 ETH = 1 prETH)
As shown in the User Guide, LPs can balance out pools by depositing the asset with less liquidity. Using the example above, LPs can mint liquidity tokens by depositing ETH. The value from the new deposit (ETH) and the reservoir value (prETH) then automatically flow into the active liquidity pool.
No matter the chain of events, there will always be at least one empty reservoir.
Negative rebases are handled by letting tokens flow between the liquidity pool and reservoirs to maintain the swap ratio. The flow of tokens is dependent on whether one of the reservoirs is empty or partially filled:
- prETH moves from the reservoir to the active liquidity pool.
- ETH moves from the liquidity pool into a reservoir (if prETH's reservoir is empty).
- Reservoirs can also be used for non-rebasing, yield-bearing tokens using a Button Wrapper.
Wrappers turn fixed-supply assets that accrue value into wrapped rebase tokens that benefit from Poolside's design. These wrapped rebase tokens track an exchange rate through an oracle or a ratio of queryable balances. This exchange rate is expressed in the token supply, simplifying accounting and allowing reservoirs to work as designed.
LSTs typically represent a deposit of initial collateral and a growing amount of staking rewards. This works fine when redeeming with the primary issuer, but has drawbacks and suffers from value leakage when not properly integrated in other DeFi applications.
Our wrappers are used to map receipt tokens to their underlying asset. This allows tokens like cbETH and sAVAX to be understood in ETH and AVAX terms, respectively. For example, sAVAX is wrapped and turned into rsAVAX (Rebasing sAVAX). 1 rsAVAX has a claim on 1 AVAX. So instead of referring to a smart contract to understand how much claim your balance of sAVAX has on staked AVAX, rsAVAX shows you this information in its own balance.
As the underlying assets accrue value, the wrapped rebasing versions of the token update the total supply to reflect the change. These rebase events occur in the reservoirs unlocking the protection from unnecessary divergence losses that native rebase tokens enjoy inside Poolside.
Last modified 1mo ago