Each DAMM v2 pool is a PDA of token mints + config. There are 2 types of config:
  1. Public config - can be used by anyone to create a pool.
  2. Private config - can only be used by the pool_creator_authority to create a pool.

Public Config

In a public config, anyone can use one of the public config keys to create a pool. Currently, we have 72 config keys created for devnet and mainnet. Integrators can consider using a public config if tokens cannot be bought (leaked) before the token launch time. But launchpads typically use a private config. To fetch all public config key addresses, you can use the getAllConfigs function in the Typescript SDK .
Integrators cannot change the fee schedule for that particular public config key.

Private Config

In a private config, only a specified address (configured in the pool_creator_authority field) can create a pool with that config. If you are a launchpad, this helps you prevent front-running of the token launch pool.
  • Integrators such as launchpads or other partners may need to use their own unique pool config key (with a custom fee schedule), if they want custom pool_creator_authority to prevent front-running of the token launch pool. New dedicated config keys can only be created by Meteora, so please reach out to the team if this is required.
  • If you’re an integrator that’s keen to create your own unique custom pool config key with a custom fee schedule and pool_fees, please reach out to the team.
  • The 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.
Integrators can reach out to Meteora to request to create or change their fee schedule.