Pool Fee Configs
How to Choose a Suitable Pool Config
What fee parameters to choose depends on your project’s needs. You will need to look at the pool config list and choose a suitable pool_config_key
with your preferred fee parameters.
If you want to create an Alpha Vault along with your new pool, you also need to find a pool_config_key
that is mapped to a vault_config_key
that meets your requirements. You can find the list of alpha vault configs here.
Public Pool Config List
Mainnet Pool Config List API
Access the complete list of pool configurations available on Mainnet for DAMM v1 pools.
Devnet Pool Config List API
Access the complete list of pool configurations available on Devnet for testing and development.
-
Using these endpoint, pool creators can input the config pubkey, and it will return an array of fee update timings for the config.
-
Pool creators may choose a
pool_config_key
with a fee curve that suits your integration.
If there is no existing config in the list that fits your project’s requirement, a new config needs to be created.
Default Pool Config Used by Meteora Frontend
By default, Meteora’s frontend is currently using this pool config key for Memecoin Pool creation:
For the FiENCCbPi3rFh5pW2AJ59HC53yM32eLaCjMKxRqanKFJ
pool config, it doesn’t allow creation of any Alpha Vault, therefore its field vault_config_key
is 1111111...
New Custom Pool Config and Fee Curve for Pool Creators
Custom Pool Config Key
Pool creators may need to use their own unique custom pool config key, if they want custom pool_creator_authority
to prevent front-running of the token launch pool.
pool_creator_authority
doesn’t work with program address. It’s not a program whitelist, it needs to be a PDA (program derived address) or normal account.Custom Fee Curve
Meteora can also apply a custom fee curve/schedule for your pools, but we will need to create a dedicated config key for your team, where pool_creator_authority
is linked to your signer wallet for pool creation.
Custom Fee Curve for a Specific Pool
If required, Meteora can set a custom fee curve for a single, specific pool which would override the fee curve used by the pool’s config key regardless of which config key is used.
API to Track Associated Fee Curve for Each Config
Using this endpoint, pool creators can input the config pubkey, and it will return an array of fee update timings for the config. Pool creators may then choose a config with a fee curve that suits their integration.
Steps to Check Fee Curves
View All Pool Configs
Navigate to Swagger UI
Select Config
Press “Execute” and find and select the config you want to view
Check Dynamic Fee Curve
Check for any Dynamic Fee curve for that specific config
Understanding Pool Config Fields
Field | Description |
---|---|
config_address | The pool config key |
trade_fee_bps | Pool trading fee |
protocol_fee_bps | Protocol fee charged from pool trading fee |
activation_duration | Used to determine when exactly the pool will start trading |
vault_config_key | Alpha vault config key. If it is 11111111111111111111111111111111 , means no alpha vault. If not, the pool can create an alpha vault. Note: This is NOT the same as the vault address. |
pool_creator_authority | Address which can use the pool config key to create a pool. If it is 11111111111111111111111111111111 , it’s public and available for everyone to use |
activation_type | Pool activation type. 0 = slot, 1 = time |
Start trade time calculation
current_time + activation_duration
ORcurrent_slot + activation_duration
(depends on theactivation_type
)
Pool Config Example
User Flow Example
A pool config may or may not have an associated vault config. There’s no vault config associated when the vault_config_key
is 11111111111111111111111111111111
.
When the pool config has a vault config, user can create the pool + Alpha Vault that is binded (auto-whitelisted) by the pool. The Alpha Vault created will inherit the parameters (Pro Rata / FCFS + buying_cap, vesting duration, etc.) from the vault config.
Creating Pool ABC/SOL with an Alpha Vault
Let’s say a user wants to create the pool ABC/SOL with an Alpha Vault, the user will need to:
-
Check for pool config that have
vault_config_key
not =1111...
, andpool_creator_authority
is the user or1111...
(accessible by the public) -
Based on the vault requirement the user wants, the user will need to:
- a) Check all the pool configs from step 1, which are each mapped to a
vault_config_key
, as well as - b) Check for vault config and look for one that fits the requirement
- a) Check all the pool configs from step 1, which are each mapped to a
-
If the user finds a requirement that suits their needs, they can use that
pool_config_key
to create the pool, then use the pool config-mappedvault_config_key
to create the vault. As long asvault_config_key
is used, the vault is automatically whitelisted upon pool creation.
All the settings are already predefined by pool_config
+ its mapped vault_config_key
.
Pool Config Example
Alpha Vault Config Example
In this example above, only the pool_creator_authority
=> 5unTfT2kssBuNvHPY6LbJfJpLqEcdMxGYLWHwShaeTLi
can use the pool config 8aPHoLN8ke6PhWeYA7ELi19fppptVYUCQvqKWR5yP1sn
to create a pool with the below settings:
- 1.5% fee
- 20% protocol fee (this is fixed Meteora fee)
- Pool starts trading after 1512000 slot upon creation
- Slot based activation
You can also create a binded Alpha Vault with FCFS config as shown below:
- Max deposit cap = 10 token
- Vested over 24106 slot after pool activate
- Deposit opens at 24107 slot before vault crank
- Every escrow maximum can only deposit 1 token