Balancer V1
Discord
  • Home
  • Getting Started
    • Use Cases
    • FAQ
  • Core Concepts
    • Protocol
      • Background
      • Glossary
      • Pool Lifecycle
      • Limitations
      • Math
        • Exponentiation
    • BAL Governance Token
      • BAL for Gas
    • Liquidity Mining
      • Exchange and BAL Mining Listing
      • Liquidity Mining Estimates API
    • Security
      • Audits
      • Bug Bounty
  • Smart Contracts
    • Exchange Proxy
    • Smart Order Router
      • Development & Examples
    • Smart Pools
      • Overview
      • Configurable Rights Pool
      • Component Libraries
        • Rights Manager
      • Smart Pool Templates
      • Liquidity Bootstrapping FAQ
    • On Chain Registry
    • Interfaces
    • Addresses
  • API
    • Migration to Version 1.0
    • Events
    • API Index
    • UML Docs
  • Guides
    • Interact via Etherscan
    • Using the SOR
    • Creating a Shared Pool
    • Creating a Smart Pool
    • CRP Tutorial
      • Liquidity Bootstrapping Example
    • Smart Pool Use Cases
      • Liquidity Bootstrapping Pool
      • Swing Trading Pool
      • Smart Treasury
      • Perpetual Synthetic Pool
      • Investors' Club
      • Experimental
    • Testing on Kovan
    • Hackathons
      • Hacking & Testing
      • Judging
      • Ideas
Powered by GitBook
On this page
  • This page has been deprecated. V1 documentation is partially maintained here
  • Configurable Rights Pool
  • How is a Smart Pool different from a Core Pool?
  1. Smart Contracts
  2. Smart Pools

Configurable Rights Pool

PreviousOverviewNextComponent Libraries

Last updated 3 years ago

This page has been deprecated. V1 documentation is partially maintained

Configurable Rights Pool

The Balancer Configurable Rights Pool is the reference implementation of a smart contract-controlled Balancer Pool. It is flexible enough to be used directly to create customizable Smart Pools. Like the Core Pool (BPool), it is created from a factory - and as the name implies, its functionality can be customized to meet the needs of your project.

It is also designed to be easily extensible, and we showcase examples of Configurable Rights Pool extensions in . These are projects with specific needs and custom logic, which need to override and alter core functionality.

For example, the first template is Elastic Supply Pool, which features a different mechanism for updating weights, consistent with its daily rebase operation. We will add more templates as we discover further interesting use cases! (If you have a suggestion, we'd love to hear from you on the smart-pool-dev channel on .)

You will find the addresses for deployed contracts on all networks .

How is a Smart Pool different from a Core Pool?

As explained in , a core Balancer Pool's parameters can be changed at will while in the "controlled" state - when only the pool creator can add liquidity. The only way to "open" the pool to outside investment is to "finalize" it - after which all pool parameters are fixed. This is great for security and trust minimization - but what if you want to do liquidity bootstrapping, dynamically adjust swap fees, handle a token with unique properties (such as AMPL), or implement a complex investment strategy? For that, you'll need to change parameters dynamically on "live" pools - and that requires a Smart Pool.

In summary, a Core Pool has "all rights" while controlled, and then "no rights" after finalization. A Configurable Rights Pool has whatever rights you give it, for all time. See this for creating your own smart pool.

here
Smart Pool Templates
Ampleforth's
Discord
here
Core Concepts
visual tutorial