# Creating a standard AMM Pool

Permissionless pools allow anyone to create a liquidity pool on Maki. Once a pool is created it can then immediately be traded on the Maki swap interface. The pool AMM will also place orders on the [OpenBook](https://github.com/openbook-dex/resources) order book (Serum is no longer supported), allowing liquidity to be traded on the Maki Trading page, or any other OpenBook DEX GUI.

It is ***highly*** suggested to carefully read and understand this ***entire*** guide before creating a pool.

* Every new LP must be linked to a unique OpenBook market ID. The same market ID cannot be used for more than one LP on Maki.
* Once created, new LPs will be immediately tradable on the Maki Swap interface.&#x20;
* LP AMMs will also interact and place orders on the OpenBook order book of the market ID they are linked to. However, if total liquidity in the LP is below the equivalent of $100,000 USD at any given time, the AMM will pause placing orders until additional liquidity is added or token prices rise to meet the threshold.
* OpenBook requires markets to be cranked for consume events (fill orders) to be completed. Maki does not crank OpenBook markets for permissionless pools. If you want your pool to provide liquidity on OpenBook, you may need to crank the OpenBook market itself if no other market participants are contributing to the crank.
* Pool creation requires the base token to have ***freeze authority disabled***.&#x20;
* Every new LP will have an associated AMM ID created. This AMM ID can be used to easily search for the pool on the Swap or Liquidity page, or be shared with others to do the same.
* When a new pool is created, a small fraction of the initial liquidity is transferred to the pool vaults instead of being minted as LP tokens to ensure the liquidity pool is never empty and new LP tokens can always be minted in the event that the previous LP token supply is removed or burned.

### **How to Create a Permissionless Pool**

1. **Obtain an OpenBook Market ID**

* Read the points on **minimum order and price tick size** below
* Create an OpenBook market ID at this link: [https://maki.so/create-market/ ](https://maki.so/create-market)
* Note that creating a new market can cost anywhere from 3 - 4 SOL.

**🚨IMPORTANT🚨: Minimum Order  and Price Tick Size**

**If min tick size is too large you may need to completely remake the market and relaunch and migrate liquidity for the pool linked to it.**

* **Price Tick Size**: This is the smallest amount by which prices can move. For a SOL/USDC market, this would be in units of USDC, a.k.a. the price increment.
  * It is suggested that **Min Price Tick Size** should be a maximum of 0.1% of your intended starting price for the Base Token (price being the number of Quote Tokens needed to purchase 1 Base Token)
    * Example: For a base token with intended price of $1, tick size should be no larger than 0.001 if quote token is USDC. If quote token is SOL, assuming market price for SOL is $100, then the same $1 base token price would equal 0.01 SOL and min tick size should then be 0.00001. In other words, the tick size should be with in 1/1000 (0.001) of your token price.&#x20;
* **Minimum Order Size**: This is the smallest allowed order size. For a SOL/USDC market, this would be in units of SOL, a.k.a. the Lot size.
  * In general, more decimals in the **Minimum Order Size** and min Tick Size are better. However the market cannot have more than 6 decimals places for both of these two parameters combined.&#x20;
    * Example: If min order size is 1, min tick size cannot be smaller than 0.000001. If min order size is 0.1 then min tick size cannot be smaller than 0.00001. However, if min order size is increased to 10, you then gain a min tick size decimal place and min tick can be 0.0000001, and so on. This is helpful for tokens with very low prices.
  * Minimum Order Size can follow with remaining available decimal places based on what's required for min Tick Size.

**Market Creation Tips for Min Order Size and Tick Size**

The below Min Order and Tick sizing can be used as a basic guideline when creating a market, however you'll need to assess what makes sense for your token depending on total token supply, amount of liquidity in the pool, and intended price.

In general, tokens with very high total supply should create a market with larger min order size and smaller tick size.

<table><thead><tr><th>Min Order Size</th><th>Tick Size</th><th data-hidden></th></tr></thead><tbody><tr><td>0.001</td><td>0.001</td><td></td></tr><tr><td>0.01</td><td>0.0001</td><td></td></tr><tr><td>0.1</td><td>0.00001</td><td></td></tr><tr><td>1</td><td>0.000001</td><td></td></tr><tr><td>10</td><td>0.0000001</td><td></td></tr><tr><td>100</td><td>0.00000001</td><td></td></tr><tr><td>1,000</td><td>0.000000001</td><td></td></tr><tr><td>10,000</td><td>0.0000000001</td><td></td></tr></tbody></table>

It's highly suggested to double check tick sizes on your market after creating if possible on an OpenBook GUI.

<figure><img src="https://2055038509-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7YVeYxL5iin4q8CcV0X8%2Fuploads%2FeIKtY6jOazYtnAfYLYXP%2Fmaki3.webp?alt=media&#x26;token=caef65ef-1278-4bf5-93e8-cecde9be0fec" alt=""><figcaption></figcaption></figure>

**2. Once you've created the market on OpenBook, go to the**[ **liquidity page**](https://maki.so/liquidity) **on Maki. Scroll down an click the "Create Pool" button at the bottom.**

<figure><img src="https://2055038509-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7YVeYxL5iin4q8CcV0X8%2Fuploads%2F2dtE1nNTvaZwgsATDFsR%2Fmaki4.webp?alt=media&#x26;token=c93134cb-cfd3-4268-bf9d-e417a015b883" alt=""><figcaption></figcaption></figure>

**3. On the create pool page, input the market ID from OpenBook, then click 'Confirm'.**

* If an LP already exists on Maki for a OpenBook market ID, that ID can not be used to create a new LP.

<figure><img src="https://2055038509-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7YVeYxL5iin4q8CcV0X8%2Fuploads%2FxuNQREMOgRqjKpIwQhUi%2Fmaki5.webp?alt=media&#x26;token=b047abb7-24a5-414c-a3b8-60c1ce8899e4" alt=""><figcaption></figcaption></figure>

**4. Starting Price, Initial Liquidity and Start time:**

* Set the Base Token starting price: This is the number of Quote Tokens needed to purchase 1 Base Token.
* Set Base and Quote token initial liquidity: You can enter one side of initial liquidity and the other side will be calculated according to the Base Token starting price.
* Set the start date and time that you want your pool to launch.
* Ensure that you have adequate funds in your wallet for this initial liquidity, then click 'Confirm and Initialize Liquidity Pool'.

**IMPORTANT**: After confirming and initializing the pool, you can no longer edit starting price, liquidity or start time. The start time is determined by the cluster time on-chain, it is possible that Solana's cluster time is inconsistent. You can check the cluster time [here](https://explorer.solana.com/).

<figure><img src="https://2055038509-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7YVeYxL5iin4q8CcV0X8%2Fuploads%2FUKTWcVN8QUDzdeIe43uh%2Fmaki6.webp?alt=media&#x26;token=a7bd9e8c-b6bf-4088-895b-cc0d7f27472d" alt=""><figcaption></figcaption></figure>

5\. After clicking confirm, you will need to approve **TWO separate transactions** in your wallet. These transactions initialize the pool, create the AMM account and ID, and add liquidity from your wallet. If you do not see one of the transactions appear, your wallet window may be hiding behind your main browser window. If you miss a transaction, the process will fail and you'll need to click confirm again, and re-approve all transactions.

6\. Once you've confirmed the two transactions in your wallet, the new LP will have been created, you will be provided with the new AMM ID, and the pool will launch at the set start time.&#x20;

**Helping users find your pool:**

* The AMM ID or Serum Market ID can be used to easily search for the pool on the Swap or Liquidity page, or shared with others to do the same.&#x20;
* Users can also select tokens on the swap page, or search by token mint address and add a custom token to the user's token list.
* A detailed guide for locating a pool with token address or AMM ID can be found [here](https://makiso.gitbook.io/maki/permissionless/swap-in-a-permissionless-pool).

You can return to the Create Pool page at any time to see LPs that you have previously created and view their AMM IDs.
