# Balancer Pools

## Overview

Pools are the fundamental building blocks of the Balancer Protocol; they are smart contracts that define how traders can swap between tokens on Balancer. What makes Balancer Pools unique from those of other protocols is their limitless flexibility. While other exchanges have pools with constrained parameters, Balancer can accommodate pools of any composition and underlying math. Balancer's architecture allows for anyone to develop their own pool type, opening the door for customized pricing functions in trading pools.

## Oracle Functionality

Some pools (WeightedPool2Tokens and MetaStable Pools) have optional Oracle functionality. This means that they can be used as sources of on-chain price data.&#x20;

## Pools At A Glance

### [Weighted Pools](/balancer-v2/products/balancer-pools/weighted-pools.md)

Designed for general cases, including tokens that don't necessarily have price correlation (ex. DAI/WETH).

### [Composable Stable Pools](/balancer-v2/products/balancer-pools/composable-stable-pools.md)

Ideal for soft-pegged tokens with strong correlation (ex. DAI/USDC/USDT) and/or non-pegged tokens that maintain correlation but may slowly diverge over time, such as derivatives (ex. stETH/WETH).

### [Liquidity Bootstrapping Pools](/balancer-v2/products/balancer-pools/liquidity-bootstrapping-pools-lbps.md)

Ideal for shifting liquidity of one token into another (ex. AKITA/ETH).

### [Managed Pools](/balancer-v2/products/balancer-pools/managed-pools.md)

Designed to have extreme flexibility to manage a dynamic fund. Features weight shifting to rebalance, swap pausing, and management fees. (ex. WSBDapp).

## Comparison

| Pool                        |     Math | Max # Tokens | Uses Oracle | Can *Be* Oracle | Time-dependent pricing |
| --------------------------- | -------: | -----------: | ----------: | --------------: | ---------------------: |
| **Weighted**                | Weighted |            8 |          No |             Yes |                     No |
| **Composable Stable**       |   Stable |            5 |          No |              No |                     No |
| **Liquidity Bootstrapping** | Weighted |            4 |          No |              No |                    Yes |
| **Managed**                 | Weighted |           50 |          No |              No |                    Yes |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://balancer.gitbook.io/balancer-v2/products/balancer-pools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
