Concepts
Pools
Linear

Linear Pools

Overview

Linear Pools are Balancer pools that facilitate the exchange of an asset and its wrapped, yield bearing counterpart at a known (calculated or queried) exchange rate. For example, DAI and wrapped aDAI from Aave. Linear Pools have target ranges to incentivize how much of the native token should be kept available for swaps vs the yield bearing counterpart. They use a fee/reward mechanism to incentivize arbitrageurs to maintain a desired ratio between the two tokens (pay fees for leaving the target range, receive reward for returning to range). One additional critical feature of Linear Pools is that they allow users to trade directly to BPT; no joins or exits are needed. The pools use Linear Math and are usually used as a component in a Boosted Pool.

Subtypes

Since there are lots of ways to generate yield in DeFi there are different interfaces for yield bearing tokens. ERC-4626 (opens in a new tab) is a standard to unify the API for tokenized yield-bearing vaults and is the primary Linear Pool type.

A few sample Linear Pools (see all pools in the repo (opens in a new tab)):

Protocol Id

During the creation of a LinearPool a protocolId parameter needs to be passed. One and the same LinearPoolFactory can however be used to create Linear Pools for multiple different protocols, if they are for example forks. Since the creation of of a LinearPool is permissionless a process to register protocols (opens in a new tab) is required to allow data-consumers to distinguish which pool belongs to which protocol, even if the pool has been created from the same factory.


© 2023 Balancer Labs