---
description: >-
  The Torah Factory now supports pools of assets with volatile prices, with no
  expectation of price stability.
---

# Creating a Crypto Factory Pool

## Creating a Pool

* Create a transaction pool without permission.
* Allow users to freely create trading pairs, not only limited to stablecoins trading pairs, and users can create trading pairs of any tokens: trading pairs of any tokens and meta pool with shared depth.
* Allow users to freely create trading pairs and support long-tailed tokens, and use the meta pool to create them, which can be done one by one to complete the swap of main stablecoins.
* Transaction Routing: this allows users to create liquidity, transactions require users to use transaction routing to select the exchange pool with the smallest slippage for users at the front end.
* Transaction mining: According to the different transaction pools, the user's transactions are counted, calculated according to the token distribution speed and the different reward pools. Different TRH are obtained according to the user's transaction volume within a period of time.

## Parameters

Crypto pools contain a lot of parameters. If you are uncertain of which parameters to use, you may want to ask for help in any Torah channel before deploying. You can use this interactive tool to see how some of the parameters interact. Parameters can be tuned after the fact.

* **Amplification Parameter (A):** \[4,000 to 4,000,000,000] Larger value of A make the curve better resemble a straight line in the center (when pool is near balance).  Highly volatile assets should use a lower value, while assets that are closer together may be best with a higher value.
* **Gamma:** \[.00000001 to .02] The gamma parameter can further adjust the shape of the curve.  Default values recommend .000145 for volatile assets and .0001 for less volatile assets.

<figure><img src="https://1440949946-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsLmKYbSsidYPEPXZ9jZF%2Fuploads%2FDlIfB3FOktFNKjPOGPXs%2Fimage.png?alt=media&#x26;token=f3defc56-444a-4b20-a36b-59d6659ceb5e" alt=""><figcaption></figcaption></figure>

* **Mid Fee:** \[.005 to 100] Percentage.  Fee when the pool is maximally balanced.  This is the minimum fee.  The fee is calculated as `mid_fee * f + out_fee * (10^18 - f)` as displayed above
* **Out Fee:** \[Mid Fee to 100] Fee when the pool is imbalanced.  Must be larger than the Mid Fee and represents the maximum fee.
* **Allowed Extra Profit:** \[0 to .01] As the pool takes profit, the allowed extra profit parameter allows for greater values.  Recommended 0.000002 for volatile assets and 0.00000001 for less volatile assets. &#x20;
* **Fee Gamma:** \[0 to 1] Adjusts how fast the fee increases from Mid Fee to Out Fee.  Lower values cause fees to increase faster with imbalance.  Recommended value of .0023 for volatile assets and .005 for less volatile assets.
* **Adjustment Step:** \[0 to 1] As the pool rebalances, it will must do so in units larger than the adjustment step size.  Volatile assets are suggested to use larger values (0.000146), while less volatile assets do not move as frequently and may use smaller step sizes (default 0.0000055)
* **MA Half Time** \[0 to 604,800] In seconds -- the price oracle uses an exponential moving average to dampen the effect of changes.  This parameter adjusts the half life used.
* **Initial Price:** \[.000000000001 to 1,000,000,000,000] At time of deployment, divide price of token 1 by token 2

A more thorough reader on the parameters can be found here.

After deployment, make sure to [create a gauge](creating-a-factory-pool) just like regular [factory pools](understanding-factory-pools).
