Create: Memecoin Pool
Summary
Memecoin Pools are a subset of Dynamic AMM Pools. A Memecoin Pool is a Dynamic AMM Pool that has a fee scheduler, with liquidity permanently locked at pool creation.
Memecoin Pools can be integrated with platforms such as memecoin launchpads to support liquidity and trading for the token after it has graduated from the launchpad.
To create a new Memecoin Pool or for integration purposes, you can use the Dynamic AMM TypeScript SDK with the code example highlighted below.
Getting Started
Dynamic AMM SDK: https://github.com/mercurial-finance/mercurial-dynamic-amm-sdk
Dynamic AMM Program ID: Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB
Dynamic AMM API endpoints: https://amm-v2.meteora.ag/swagger-ui/
Devnet: https://devnet.meteora.ag/
1. Install dependencies and initialize AmmImpl instance
1.1 Install dependencies
1.2 Initialize AmmImpl instance
2. Fee Schedule Setup: Choose a suitable Pool and Fee 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.
If none of the pool_config_key
in the list meet your requirements, please reach out to Meteora for a custom pool config key.
2.1 Public Pool Config List
Pool config list: https://amm-v2.meteora.ag/swagger-ui/#/pools/get_all_pool_configs
Devnet API: https://devnet-amm-v2.meteora.ag/pool-configs You can also get the list of config keys from devnet API
API endpoint to return the associated fee curve for each existing config: https://amm-v2.meteora.ag/swagger-ui/#/fee_config/get_config_associated_fee_configs
Using this endpoint, integrators can input the config pubkey, and it will return an array of fee update timings for the config, if there's any.
Integrators 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.
Only the Meteora team can create a new config to add it to the preset pool config list.
2.2 Default Pool Config used by Meteora Frontend
By default, Meteora's frontend is currently using this pool config key for Memecoin Pool creation:
FiENCCbPi3rFh5pW2AJ59HC53yM32eLaCjMKxRqanKFJ
For the
FiENCCbPi3rFh5pW2AJ59HC53yM32eLaCjMKxRqanKFJ
pool config, it doesn't allow creation of any Alpha Vault, therefore it's fieldvault_config_key
is1111111...
2.3 New Custom Pool Config and Fee Curve for Integrators / Launchpads
Custom Pool Config Key: Integrators such as launchpads or other partners 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.
NOTE:
New dedicated config keys can only be created by Meteora. Please reach out to us if this is required.
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.
Custom Fee Curve: If you are an integrator, 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. You would need to send us your signer wallet that would be used to deploy the pools.
NOTE:
Even with a dedicated config key for your team, Meteora would need to customize the fee curve/schedule for you. You can't do it on your own.
Custom Pool Config and Fee Curve is used by integrators such as Moonshot by DEX Screener.
2.4 Custom Fee Curve for a Specific Pool
If required, Meteora can set a custom fee curve for a single, specific pool. This would override the fee curve used by the pool's config key, doesn't matter which config key is used.
Note: For more information about setting Pool and Fee Config for Memecoin Pools, please read here.
3. Create a Memecoin Pool
After you have selected your preferred pool_config_key
, reference this example: https://github.com/MeteoraAg/dynamic-amm-sdk/blob/main/ts-client/src/examples/create_pool_and_lock_liquidity.ts
Using the example, update it with your pool config key selected and other parameters in order to create a Memecoin Pool - which is a Dynamic AMM Pool with a fee scheduler and with liquidity (LP tokens) locked to the user's own lock escrow account.
How to assign which wallets can claim fees from the permanently-locked liquidity
Please refer to the section under let allocations = [
In the config file, you can specify different wallet addresses to receive fees from the locked liquidity, and the % to allocate to each wallet. Multiple wallets are possible, but their allocations must add up to 100%.
Last updated