Maverick Docs
  • Introducing Maverick
  • Getting Started
    • 🖥️The Maverick V2 UI
    • 👛Connect a Wallet
    • ⛓️Choose a Network
    • 🪙Approving Tokens
  • Guides
    • 🤝Traders
      • How to Make a Swap
    • 💰Liquidity Providers
      • Understanding Liquidity Provision
      • Understanding Modes
      • How to Add Liquidity
      • How to Deploy a New Pool
      • How to Check Position Balances
      • How to Manage Liquidity in a Pool
      • How to Migrate from V1 to V2
      • Understanding Permanent Loss
      • Liquidity Strategies
    • ⚡Incentives
      • Understanding Boosted Positions
      • Understanding Incentives
      • How to Join a Boosted Position
      • How to Create a Boosted Position
      • How to Manage a Boosted Position
      • How to Add Incentives
    • 🎡veFlywheel
      • veFlywheel Basics
      • Guide to veFlywheel Emissions
      • How to Vote to Direct Emissions
    • 👩‍🏫Advanced Tutorials
      • Single-Sided Incentives
  • Technical Reference
    • Contract Addresses
      • V1 Contract Addresses
      • V2 Contract Addresses
    • Maverick V1
      • V1 Whitepaper
      • V1 Contracts
        • Router
        • Pool
        • Factory
        • SlimRouter
    • Maverick V2
      • V2 Whitepaper
      • V2 Contracts
        • Maverick V2 Common Contracts
          • base
            • IMulticall
            • IPayableMulticall
            • Multicall
            • PayableMulticall
          • interfaces
            • IMaverickV2AddLiquidityCallback
            • IMaverickV2Factory
            • IMaverickV2FactoryAdmin
            • IMaverickV2FlashLoanCallback
            • IMaverickV2Pool
            • IMaverickV2PoolAdmin
            • IMaverickV2SwapCallback
          • libraries
            • ArrayOperations
            • Constants
            • Math
            • PoolLib
            • TickMath
            • TransferLib
        • Maverick V2 AMM Contracts
          • poollib
            • Bin
            • Delta
            • Deployer
            • DeployerPermissioned
            • SwapMath
            • Twa
          • MaverickV2Factory
          • MaverickV2Pool
          • MaverickV2PoolPermissioned
        • Maverick V2 Reward Contracts
          • interfaces
            • IMaverickV2IncentiveMatcher
            • IMaverickV2IncentiveMatcherFactory
            • IMaverickV2Reward
            • IMaverickV2RewardFactory
            • IMaverickV2RewardRouter
            • IMaverickV2RewardVault
            • IMaverickV2VotingEscrowBase
            • IMaverickV2VotingEscrow
            • IMaverickV2VotingEscrowFactory
            • IMaverickV2VotingEscrowLens
            • IMaverickV2VotingEscrowWSync
          • libraries
            • IncentiveMatcherDeployer
            • RewardDeployer
            • VotingEscrowDeployer
            • VotingEscrowWSyncDeployer
          • rewardbase
            • IRewardAccounting
            • RewardAccounting
          • votingescrowbase
            • HistoricalBalance
            • IHistoricalBalance
            • ILegacyVeMav
            • VotingEscrow
          • MaverickV2IncentiveMatcher
          • MaverickV2IncentiveMatcherFactory
          • MaverickV2Reward
          • MaverickV2RewardFactory
          • MaverickV2RewardRouter
          • MaverickV2RewardVault
          • MaverickV2VotingEscrow
          • MaverickV2VotingEscrowFactory
          • MaverickV2VotingEscrowLens
          • MaverickV2VotingEscrowWSync
        • Maverick V2 Supplemental Contracts
          • base
            • Checks
            • IChecks
            • IMigrateBins
            • MigrateBins
          • boostedpositionbase
            • BoostedPositionBase
            • IBoostedPositionBase
            • ImmutableArrayGetter
          • interfaces
            • IMaverickV2BoostedPosition
            • IMaverickV2BoostedPositionFactory
            • IMaverickV2LiquidityManager
            • IMaverickV2PoolLens
            • IMaverickV2Position
            • IMaverickV2Quoter
            • IMaverickV2Router
            • IPositionImage
          • libraries
            • BoostedPositionDeployerDynamic
            • BoostedPositionDeployerStatic
            • BytesLib
            • LiquidityUtilities
            • PackLib
            • Path
            • PoolInspection
          • liquiditybase
            • ArgPacker
            • IArgPacker
          • paymentbase
            • IERC20PermitAllowed
            • IPayment
            • ISelfPermit
            • IState
            • IWETH9
            • Payment
            • SelfPermit
            • State
          • positionbase
            • INft
            • Nft
          • routerbase
            • CallbackOperations
            • ExactOutputSlim
            • ICallbackOperations
            • IExactOutputSlim
            • IPushOperations
            • IRouterErrors
            • PushOperations
          • MaverickV2BoostedPositionDynamic
          • MaverickV2BoostedPositionFactory
          • MaverickV2BoostedPositionStatic
          • MaverickV2LiquidityManager
          • MaverickV2PoolLens
          • MaverickV2Position
          • MaverickV2Quoter
          • MaverickV2Router
          • PositionImage
      • V2 API Documentation
      • V2 Testnet Guide
        • Get Sepolia ETH & Test Tokens
        • How to Create a Boosted Position in V2
        • How to Add & Match Incentives
        • How to Create a veFlywheel
    • Development FAQ
    • Finding LP Balances
  • MAV token
    • MAV Token & Tokenomics
    • veMAV & MAV Staking
    • How to Stake MAV
    • Syncing V1 veMAV
    • Airdrop Information
      • Maverick Ecosystem Rewards Pre-Season Airdrop
      • Maverick Governance & S1 Airdrops
  • Further Information
    • Frequently Asked Questions
    • Glossary
    • Security
    • Maverick Wallets
    • Dune Analytics
    • Rebasing Tokens
    • Restricted Territories
    • Delphi Digital Report
Powered by GitBook
On this page
  • How to deploy a new pool
  • Configuring a new pool
  1. Guides
  2. Liquidity Providers

How to Deploy a New Pool

This section will walk you through the additional steps required to deploy a new pool.

PreviousHow to Add LiquidityNextHow to Check Position Balances

Last updated 9 months ago

In our , we saw that it was possible to deploy a new pool if one did not already exist at your desired fee tier and bin width. In this section, we'll address the additional steps that deploying a new pool will require as you're adding liquidity.

For every token pair in Maverick AMM, there can be multiple pools with different fee tiers and bin widths. This is in order to fit the needs and strategies of different liquidity providers. These pools are not differentiated for swappers—instead, the AMM will intelligently rout their swaps to whichever pool can currently offer them the best overall price. For more information on fees, please see the .

If there isn't yet a pool for your desired token pair or if the pool that does exist doesn't have the bin width and/or fee tier you want, you can deploy a new pool. You will have to add liquidity to it before it becomes active. If you do not complete every step of the Add Liquidity flow, the pool will remain undeployed.

When a new pool is deployed, it first needs liquidity to be added in Mode Static. Without a base layer of some static liquidity the movement modes will not work as expected. If you choose to deploy a new pool, the movement modes will be disabled and you will be required to start it with static liquidity. Learn more .

How to deploy a new pool

You can start the new pool flow by adjusting parameters on the Select Pool page, which can be accessed by clicking on any pool in the list on the Pools page.

The first step is to select the token pair using the dropdown menus on the Select Pool screen. If you select a pair that has not yet been deployed on Maverick, the page will update to the Pool Not Deployed state ().

If the pair has already been deployed but you want to choose a new fee tier and/or bin width, you can click the Edit button (1) under Select Fee Tier:

This will open a modal showing all the fee tier and bin width options. By default, the modal lists all of the currently deployed pools, but a user can click the Not Deployed tab (2) at the top of the modal to choose from a list of pools that have yet to be deployed:

Like the Deployed tab, the pools listed here are listed in ascending order, first by fee tier and then by bin width. If a pool is listed under this tab, it means that there is no liquidity in it and it is not active on Maverick.

If you want to move ahead with deploying one of the fee/width combinations that has not yet been deployed, you can select it by clicking on it. A checkmark will appear next to it to show it has been selected. You can now click Select and the modal will close.

The Select Pool page will now update to the Pool Not Deployed state.

Configuring a new pool

When the Select Pool is in the Pool Not Deployed state, the liquidity graph on the right is replaced by basic instructions on deploying a new pool.

If you haven't already, you should select the fee tier and bin width. This is done by clicking the Edit button (1) under Select Fee Tier.

You will also need to select a starting price for your pool (2). This is denominated in the base asset (the first of the two assets selected).

Be very careful when selecting the starting price of a new pool. It is recommended that you choose a price as close to the market price as possible. If you start a new pool at a price that diverges from the market price, you may lose funds to arbitrage.

After you have selected the initial pool parameters, you will need to as with any other pool. Again, if you do not complete all the steps in the add liquidity flow, the new pool will not be deployed.

💰
add liquidity
guide to adding liquidity
more on that below
section in our FAQ
here
On the Select Pool page, users can choose to edit the fee tier and bin width of the pool to which they will be adding liquidity.
From within this modal, users can click on the "Not Deployed" tab to see a list of pools that have yet to be deployed.
The Select Pool page in the Pool Not Deployed state.