Learn how to create a Meteora DLMM launch pool with configurable price bins, dynamic fees, activation controls, optional Alpha Vault, liquidity seeding, and limit orders.
This guide walks you through the steps to create a DLMM launch pool on Meteora. Whether you’re a seasoned developer or just starting out, this guide has got you covered to deploy liquidity and launch your project on Meteora.
By the end of this quicklaunch, you’ll have built a liquidity pool on Meteora by:
Configuring your liquidity pool settings
Interacting with our DLMM program
Seeing your liquidity pool in action on Meteora
Why Meteora?Meteora is a hyper optimized liquidity layer that ensures that your project’s provided liquidity is secure, sustainable and composable for anyone to trade on. By following this guide, you’ll be able to launch a concentrated liquidity pool with dynamic fees on Meteora in just a few quick and easy steps.
Meteora Invent is a toolkit consisting of everything you need to invent innovative token launches on Meteora. Run the following command in your terminal to get started.
Once you’ve cloned the repository, you’ll have a new project directory with a meteora-invent folder. Run the following to install pnpm and the project dependencies.
Terminal
cd meteora-inventpnpm install
2
Optional: Start a Local Test Validator
In Meteora Invent we provide an optional command for you to run a local validator to test your pool before deploying it to devnet or mainnet. Run the following command in your code editor terminal to get started.
Terminal
pnpm studio start-test-validator
This will start a local validator on your machine which will be hosted on http://localhost:8899.
3
Setup Environment Variables
We provide an easy way to setup environment variables when getting started. Run the following command in your code editor terminal to get started.
Terminal
cp studio/.env.example studio/.env
This will copy the example environment variables file to your .env file. Configure the following variables:
PRIVATE_KEY - Your private key for the wallet you will be using to deploy the pool.
Thereafter, you will need to run this command to generate a keypair from your wallet private key.
Terminal
pnpm studio generate-keypair# For devnet (airdrops 5 SOL)pnpm studio generate-keypair --network devnet --airdrop# For localnet (airdrops 5 SOL)# Ensure that you have already started the local validator with pnpm start-test-validatorpnpm studio generate-keypair --network localnet --airdrop
This will generate a keypair.json file in the studio directory which will be used for all actions in this guide.
4
Configure your DLMM Pool
Navigate to the studio/config/dlmm_config.jsonc file and configure your DLMM pool settings.
Set your DLMM configuration
You can configure everything DLMM pool related in this file.
The comments in the file are to help you understand the different settings you can configure. Please ensure that you read through the comments while configuring your pool.
dlmm_config.jsonc
{ /* rpcUrl is required. You can switch between mainnet, devnet and localnet or use your own RPC URL. */ "rpcUrl": "https://api.devnet.solana.com", // mainnet: https://api.mainnet-beta.solana.com | devnet: https://api.devnet.solana.com | localnet: http://localhost:8899 /* dryRun is required. If true, transactions will be simulated and not executed. If false, transactions will be executed. */ "dryRun": true, // Set to false only after you understand what will happen /* keypairFilePath is required and will be the payer + signer for all transactions */ "keypairFilePath": "./keypair.json", /* computeUnitPriceMicroLamports is required and can be adjusted to fit your needs */ "computeUnitPriceMicroLamports": 100000, /* quoteMint is required for the following actions: * 1. dlmm-create-pool * 2. dlmm-seed-liquidity-lfg * 3. dlmm-seed-liquidity-single-bin * 4. dlmm-set-pool-status * SOL: So11111111111111111111111111111111111111112 | USDC: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | any other token address */ "quoteMint": "So11111111111111111111111111111111111111112", /* If you have a baseMint already created, you can specify it in the cli command via --baseMint flag. If you don't have a baseMint, you can create a new one using createBaseToken. * Either use --baseMint flag or createBaseToken, but not both. */ "createBaseToken": { "supply": 1000000000, // total amount of base token to be minted "decimals": 6, // decimals of the base token // "tokenMintKeypairFilePath": "./mint-keypair.json", // path to token mint keypair if you have a specific keypair for the token mint. If not provided, a new keypair will be generated. "name": "YOUR_TOKEN_NAME", // token name "symbol": "YOUR_TOKEN_SYMBOL", // token symbol "authorities": { "mint": "YOUR_MINT_AUTHORITY_ADDRESS", // token mint authority address. <PublicKey | null> "freeze": "YOUR_FREEZE_AUTHORITY_ADDRESS", // token freeze authority address. <PublicKey | null> "update": "YOUR_UPDATE_AUTHORITY_ADDRESS" // token update authority address. <PublicKey | null> }, /* Optional Metaplex Token Metadata Properties * Read more about the properties here: https://developers.metaplex.com/token-metadata */ "sellerFeeBasisPoints": 0, // Royalty fee in basis points (0-10000) "creators": null, // Array of creator objects of the token (optional) "collection": null, // Collection info (optional) "uses": null, // Usage restrictions (optional) "metadata": { // "uri": "https://gateway.irys.xyz/123456789", // if you already have a metadata URI created, you can specify it here /* Only use the following parameters for createBaseToken if you don't have an existing metadata uri * This will create an image uri and a new metadata uri and upload everything to Irys */ "image": "./data/image/test-token.jpg", // this can be a URL of the image address (e.g. https://example.com/token-image.png) or the image file path (e.g. ./data/image/test-token.jpg) "description": "YOUR_TOKEN_DESCRIPTION", // token description "website": "https://example.com", // project website "twitter": "https://x.com/yourproject", // twitter URL "telegram": "https://t.me/yourproject" // telegram URL } }, /* dlmmConfig is only used in the following actions: * 1. dlmm-create-pool */ "dlmmConfig": { "binStep": 25, // Price increment/decrement percentage in basis points (400 = 4% price step between bins) "feeBps": 1, // Trading fee in basis points (200 = 2% fee per swap) "initialPrice": 1.333, // Initial price(in terms of quote/base price) "activationType": 1, // 0 - Slot | 1 - Timestamp "activationPoint": null, // Activation time of the pool depending on activationType (Calculate in slots if activationType is 0 (slots) | Calculate in seconds if activationType is 1 (timestamp)) "priceRounding": "up", // Price calculation rounding direction for bin ID conversion "creatorPoolOnOffControl": true, // Pool creator permission to enable/disable trading for permissionless pools "hasAlphaVault": false // If true, the alpha vault will be created after the pool is created // "concreteFunctionType": 0, // 0 - LimitOrder | 1 - LiquidityMining (defaults to 0, only pools created with 0 accept limit orders) // "collectFeeMode": 0 // 0 - InputOnly | 1 - OnlyY (defaults to 0) }, /* lfgSeedLiquidity is only used in the following actions: * 1. dlmm-seed-liquidity-lfg * https://ilm.jup.ag/ */ "lfgSeedLiquidity": { "minPrice": 0.003393, // Minimum price boundary for liquidity distribution range "maxPrice": 0.004393, // Maximum price boundary for liquidity distribution range "curvature": 0.6, // Distribution curvature factor (1/k) controlling liquidity concentration (0-1, lower = more concentrated) "seedAmount": "200000", // Total amount of liquidity to seed into the pool (in token units) "operatorKeypairFilepath": "./keypair.json", // File path to operator's private key for signing seeding transactions "positionOwner": "YOUR_POSITION_OWNER_ADDRESS", // Public key of the position owner who controls the liquidity "feeOwner": "YOUR_FEE_OWNER_ADDRESS", // Public key entitled to claim trading fees from this position "lockReleasePoint": 0, // Timestamp/slot when position becomes withdrawable (0 = immediately unlocked) "seedTokenXToPositionOwner": true // Whether to send 1 lamport of token X to position owner as ownership proof }, /* singleBinSeedLiquidity is only used in the following actions: * 1. dlmm-seed-liquidity-single-bin */ "singleBinSeedLiquidity": { "price": 1.333, // Exact price where liquidity will be concentrated in a single bin "priceRounding": "up", // Price calculation rounding direction for bin ID conversion. "up" = round up, "down" = round down "seedAmount": "750000000", // Amount of token X (base token) to seed into the single bin (in token units) "operatorKeypairFilepath": "./keypair.json", // File path to operator's private key for signing seeding transactions "positionOwner": "YOUR_POSITION_OWNER_ADDRESS", // Public key of the position owner who controls the liquidity "feeOwner": "YOUR_FEE_OWNER_ADDRESS", // Public key entitled to claim trading fees from this position "lockReleasePoint": 0, // Timestamp/slot when position becomes withdrawable (0 = immediately unlocked) "seedTokenXToPositionOwner": true // Whether to send 1 lamport of token X to position owner as ownership proof }, /* setDlmmPoolStatus is only used in the following actions: * 1. dlmm-set-pool-status */ "setDlmmPoolStatus": { "enabled": true // true = enable trading | false = disable trading }, /* placeLimitOrder is only used in the following actions: * 1. dlmm-place-limit-order (requires --poolAddress flag) * The pool must have been created with the limit order function type (concreteFunctionType: 0). * A limit order deposits into one or more bins (max 50) and fills as the market price crosses them. */ "placeLimitOrder": { "side": "bid", // "ask" = sell the base token above the active bin | "bid" = buy with the quote token below the active bin "bins": [ { "price": 1.2, // price (in terms of quote/base price) for this portion of the order "amount": 100 // amount in token units: base token amount for "ask" orders, quote token amount for "bid" orders } ] }, /* cancelLimitOrder is only used in the following actions: * 1. dlmm-cancel-limit-order (requires --poolAddress flag, optional --limitOrder flag) * Cancelling withdraws unfilled deposits, filled proceeds and earned fees, then closes the order account. */ "cancelLimitOrder": { "cancelAll": false // when true and no --limitOrder flag is passed, cancels every open order on the pool }, /* alphaVault is only used in the following actions: * 1. dlmm-create-pool * There are 2 types of alpha vault: First Come First Serve (FCFS) and Prorata. */ "alphaVault": { "poolType": "dlmm", // DLMM = dlmm | DAMM v1 = dynamic | DAMM v2 = damm2 "alphaVaultType": "fcfs", // FCFS = fcfs | Prorata = prorata /* Only use the following parameters for alphaVaultType: fcfs * 1. maxDepositCap * 2. individualDepositingCap */ "maxDepositCap": 10000, // Maximum total amount (in quote token) that can be deposited across all users in the vault "individualDepositingCap": 1, // Maximum amount (in quote token) that each individual user can deposit /* Only use the following parameters for alphaVaultType: prorata * 1. maxBuyingCap */ // "maxBuyingCap": 10000, // Maximum total amount (in quote token) that can be bought across all users in the vault "depositingPoint": 1755421200, // When users can start depositing depending on pool's activationType (Calculate in slots if activationType is 0 (slots) | Calculate in seconds if activationType is 1 (timestamp)) "startVestingPoint": 1755507600, // When token vesting begins and users can start claiming their vested tokens depending on pool's activationType (Calculate in slots if activationType is 0 (slots) | Calculate in seconds if activationType is 1 (timestamp)) "endVestingPoint": 1755507600, // When token vesting ends and all tokens become fully claimable depending on pool's activationType (Calculate in slots if activationType is 0 (slots) | Calculate in seconds if activationType is 1 (timestamp)) "escrowFee": 0, // Fee amount (in quote token) charged when creating a stake escrow account "whitelistMode": "permissionless" // Whitelist mode: permissionless | permissioned_with_merkle_proof | permissioned_with_authority /* Optional Configuration: whitelistFilePath * Only use when whitelistMode is permissioned_with_merkle_proof or permissioned_with_authority */ // "whitelistFilepath": "./data/whitelist_wallet.csv", // Optional path to CSV file containing whitelisted wallet addresses and their deposit caps (format: wallet,deposit_cap) /* Optional Configuration: merkleProofBaseUrl, chunkSize, kvProofFilepath, cloudflareKvProofUpload * Only use when whitelistMode is permissioned_with_merkle_proof */ // "merkleProofBaseUrl": "https://example.workers.dev/", // Base URL endpoint where merkle proofs are stored and can be retrieved for whitelisted wallet verification // "chunkSize": 1000, // Optional batch size for processing large whitelist files or merkle tree operations to avoid memory/performance issues // "kvProofFilepath": "./data/kv_proofs", // Optional path to key-value file storing pre-computed merkle proofs for whitelisted addresses // "cloudflareKvProofUpload": { // "kvNamespaceId": "YOUR_KV_NAMESPACE_ID", // "accountId": "YOUR_ACCOUNT_ID", // "apiKey": "YOUR_API_KEY" // } } }
The toolkit contains logic to make it easier for you to create the DLMM pool such as:
Minting a new baseMint token or parsing in an existing baseMint token.
Launching the DLMM pool immediately or at a certain activationPoint (in slots or timestamp depending on the activationType).
Optional creation of an Alpha Vault with your DLMM launch pool.
5
Create your DLMM Pool
After configuring your DLMM pool settings in dlmm_config.jsonc, you can now create your pool by running the following command.If you don’t have a base mint, you can configure createBaseToken in the config file and run the
following command.
pnpm studio dlmm-create-pool
If you already have a base mint created, you can provide it via the CLI with a --baseMint flag
and run the following command.
pnpm studio dlmm-create-pool --baseMint <YOUR_BASE_MINT_ADDRESS>
This will create your pool and print the pool address and other relevant information to the console.
This example includes creating of baseMint token before creating the DLMM launch pool.
6
Seed your DLMM Pool
After creating your DLMM pool, you can now seed your pool with liquidity.
dlmm-seed-liquidity-lfg
dlmm-seed-liquidity-single-bin
If you want to seed your pool with liquidity using the LFG model, you can run the following command.
Please take note that the dlmm-seed-liquidity-lfg command will only work when your DLMM launch pool is not activated yet. You can configure the pool activation time using the activationPoint parameter in the dlmm_config.jsonc file.
Terminal
pnpm studio dlmm-seed-liquidity-lfg --baseMint <YOUR_BASE_MINT_ADDRESS>
This will seed your DLMM pool with liquidity based on the curvature, minPrice and maxPrice parameters that you have set in the dlmm_config.jsonc file.
If you want to learn how the liquidity curvature works, you can head to https://ilm.jup.ag/ to learn more.
If you want to seed your pool with liquidity in a single bin, you can run the following command.
Please take note that the dlmm-seed-liquidity-single-bin command will only work when your DLMM launch pool is not activated yet. You can configure the pool activation time using the activationPoint parameter in the dlmm_config.jsonc file.
Terminal
pnpm studio dlmm-seed-liquidity-single-bin --baseMint <YOUR_BASE_MINT_ADDRESS>
This will seed your DLMM pool with liquidity in a single bin based on the price and seedAmount parameters that you have set in the dlmm_config.jsonc file.
7
Place Limit Orders on your DLMM Pool (Optional)
DLMM pools created with the limit order function type (concreteFunctionType: 0, the default) support onchain limit orders. A limit order deposits tokens into one or more bins and fills automatically as the market price crosses them.
To learn how DLMM limit orders work under the hood, head to DLMM Limit Order.
After configuring the placeLimitOrder settings in dlmm_config.jsonc, place an order with the following command.
pnpm studio dlmm-place-limit-order --poolAddress <YOUR_POOL_ADDRESS>
This will place the order and print the limit order address to the console. Save the address if you want to cancel a specific order later.To inspect your open orders — per-bin fill status, fees earned, and withdrawable amounts — run the following command.
pnpm studio dlmm-get-limit-orders --poolAddress <YOUR_POOL_ADDRESS>
To cancel an order and withdraw unfilled deposits, filled proceeds, and earned fees, run the following command.
pnpm studio dlmm-cancel-limit-order --poolAddress <YOUR_POOL_ADDRESS> --limitOrder <YOUR_LIMIT_ORDER_ADDRESS>
Omit the --limitOrder flag and set cancelLimitOrder.cancelAll to true in dlmm_config.jsonc to cancel every open order on the pool in one run.
Voilà! You’ve successfully created your DLMM pool on Meteora. You can now see your pool in action on Meteora either on Meteora’s mainnet or devnet app.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Meteora Documentation","colors":{"primary":"#F54B00","light":"#F54B00","dark":"#F54B00"},"logo":{"light":"https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/assets/nav/meteora-docs-light.png?fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=9b7afa272c2adebd183c6e55b45c9326","dark":"https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/assets/nav/meteora-docs-dark.png?fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=cc1569cccf60c9058cc0be9f61743fc7"},"favicon":"https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/assets/logo/meteora.png?fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=5ae3f2a17133bed15a6360c41694c4d7","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","typescript","bash","rust"]}},"appearance":{"default":"dark"},"background":{"decoration":"gradient"},"navbar":{"links":[{"icon":"comet","href":"https://app.meteora.ag/","label":"App"},{"icon":"medium","href":"https://blog.meteora.ag","label":"Blog"},{"icon":"discord","href":"https://discord.com/invite/meteora","label":"Support"}]},"footer":{"socials":{"discord":"https://discord.gg/meteora","x":"https://x.com/MeteoraAG","youtube":"https://www.youtube.com/@meteora-ag","medium":"https://blog.meteora.ag/","github":"https://github.com/MeteoraAg","linkedin":"https://www.linkedin.com/company/meteora-ag"},"links":[{"header":"Meteora","items":[{"label":"Meteora","href":"https://app.meteora.ag"},{"label":"Terms of Service","href":"https://docs.meteora.ag/resources/legal/terms-of-service"}]}]},"fonts":{"family":"Inter"},"styling":{"codeblocks":"system","latex":true},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"meteora","hasAudioNarration":false,"actualSubdomain":"meteora","customDomains":["docs.meteora.ag"],"gitSource":{"type":"github","owner":"meteoraag","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae968e0715034d486e241ba","collectionId":"93647572-50f9-4b90-b388-8d55bf85ed84","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae968e0715034d486e241ba"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae968e0715034d486e241ba","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Developer Guides","count":161},{"language":"default","tag":"Get Started","count":67},{"language":"default","tag":"API Reference","count":51},{"language":"default","tag":"API Endpoints","count":46},{"language":"default","tag":"Program","count":39},{"language":"default","tag":"DLMM","count":38},{"language":"default","tag":"DAMM v1","count":32},{"language":"default","tag":"DAMM v2","count":31},{"language":"default","tag":"TypeScript SDK","count":31},{"language":"default","tag":"Core Products","count":28}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"invent/launch-pools/dlmm-launch-pool","slug":"/invent/launch-pools/dlmm-launch-pool","pageMetadata":{"title":"DLMM Launch Pool","sidebarTitle":"DLMM Launch Pool","description":"Learn how to create a Meteora DLMM launch pool with configurable price bins, dynamic fees, activation controls, optional Alpha Vault, liquidity seeding, and limit orders.","llmsDescription":"Guide to creating a DLMM launch pool with Meteora Invent Studio, covering setup, local validator, environment variables, keypair generation, dlmm_config.jsonc, quote mint, createBaseToken, bin step, fee bps, initial price, activation type and point, creator pool on-off control, concrete function type, collect fee mode, LFG seed liquidity, single-bin seed liquidity, DLMM pool status, optional Alpha Vault, dlmm-create-pool and seed commands, and dlmm-place-limit-order, dlmm-get-limit-orders, and dlmm-cancel-limit-order limit order commands.","href":"/invent/launch-pools/dlmm-launch-pool"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how to create a Meteora DLMM launch pool with configurable price bins, dynamic fees, activation controls, optional Alpha Vault, liquidity seeding, and limit orders.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,CodeBlock,Frame,Heading,Note,OptimizedImage,Step,Steps,Tab,Tabs,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This guide walks you through the steps to create a DLMM launch pool on Meteora. Whether you’re a seasoned developer or just starting out, this guide has got you covered to deploy liquidity and launch your project on Meteora.`}),`\n`,_jsx(Heading,{level:`1`,id:`what-you’ll-achieve`,children:`What You’ll Achieve`}),`\n`,_jsx(_components.p,{children:`By the end of this quicklaunch, you’ll have built a liquidity pool on Meteora by:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Configuring your liquidity pool settings`}),`\n`,_jsx(_components.li,{children:`Interacting with our DLMM program`}),`\n`,_jsx(_components.li,{children:`Seeing your liquidity pool in action on Meteora`}),`\n`]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Why Meteora?`})}),_jsx(_components.p,{children:`Meteora is a hyper optimized liquidity layer that ensures that your project’s provided liquidity is secure, sustainable and composable for anyone to trade on. By following this guide, you’ll be able to launch a concentrated liquidity pool with dynamic fees on Meteora in just a few quick and easy steps.`})]}),`\n`,_jsx(Heading,{level:`1`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Node.js >= 22.12.0`}),`\n`,_jsx(_components.li,{children:`pnpm >= 10.0.0`}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`If you don’t have pnpm installed, you can install it by running the following command.`})}),`\n`,_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -g`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pnpm`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`1`,id:`steps`,children:`Steps`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Clone and Setup Meteora Invent`,children:[_jsx(_components.p,{children:`Meteora Invent is a toolkit consisting of everything you need to invent innovative token launches on Meteora. Run the following command in your terminal to get started.`}),_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`git`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` clone`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://github.com/MeteoraAg/meteora-invent.git`})]}),`\n`]})})}),_jsx(_components.p,{children:`Once you’ve cloned the repository, you’ll have a new project directory with a meteora-invent folder. Run the following to install pnpm and the project dependencies.`}),_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`cd`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` meteora-invent`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`})]}),`\n`]})})}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/pnpm-install.webp?fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=82b7c0c69fae2b26f855ebb90853b37f`,\"data-og-width\":`997`,width:`997`,\"data-og-height\":`339`,height:`339`,\"data-path\":`invent/assets/pnpm-install.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/pnpm-install.webp?w=280\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=9747dda61a1898e1859722b654450d0e 280w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/pnpm-install.webp?w=560\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=ba3c285bd7d58ecac85d1befe6f69f99 560w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/pnpm-install.webp?w=840\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=af6dbce02e12fdce453702c05effaca8 840w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/pnpm-install.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=e2facdedfc036076b02681822454cdf6 1100w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/pnpm-install.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=cf8c048f8467f38f51c05a8e69b24bdd 1650w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/pnpm-install.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=3e74363c26fc62ff7b23e7a06e2eaf2b 2500w`})})]}),_jsxs(Step,{title:`Optional: Start a Local Test Validator`,children:[_jsx(_components.p,{children:`In Meteora Invent we provide an optional command for you to run a local validator to test your pool before deploying it to devnet or mainnet. Run the following command in your code editor terminal to get started.`}),_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` start-test-validator`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This will start a local validator on your machine which will be hosted on `,_jsx(_components.code,{children:`http://localhost:8899`}),`. `,_jsx(`br`,{}),` `,_jsx(`br`,{})]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/start-test-validator.webp?fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=b334809944fd930aefd675abaec0658a`,\"data-og-width\":`995`,width:`995`,\"data-og-height\":`309`,height:`309`,\"data-path\":`invent/assets/start-test-validator.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/start-test-validator.webp?w=280\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=a85639d048039e91705d2d1ca2b4e5e9 280w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/start-test-validator.webp?w=560\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=f6e31f782dfcb7fd8714714c55c85a8c 560w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/start-test-validator.webp?w=840\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=177de61d0ea47dffdac22eaf63bf3a47 840w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/start-test-validator.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=5b2a9a375a188b684d07cdd3662dbb94 1100w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/start-test-validator.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=993bb01fb5ad3b905b26f0605ebcc1f0 1650w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/start-test-validator.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=fbe4c4f313a3418b53afde67aefc0935 2500w`})})]}),_jsxs(Step,{title:`Setup Environment Variables`,children:[_jsx(_components.p,{children:`We provide an easy way to setup environment variables when getting started. Run the following command in your code editor terminal to get started.`}),_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`cp`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio/.env.example`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio/.env`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This will copy the example environment variables file to your `,_jsx(_components.code,{children:`.env`}),` file. Configure the following variables:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`PRIVATE_KEY`}),` - Your private key for the wallet you will be using to deploy the pool.`]}),`\n`]}),_jsx(_components.p,{children:`Thereafter, you will need to run this command to generate a keypair from your wallet private key.`}),_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` generate-keypair`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# For devnet (airdrops 5 SOL)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` generate-keypair`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --network`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` devnet`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --airdrop`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# For localnet (airdrops 5 SOL)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Ensure that you have already started the local validator with pnpm start-test-validator`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` generate-keypair`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --network`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` localnet`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --airdrop`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This will generate a `,_jsx(_components.code,{children:`keypair.json`}),` file in the `,_jsx(_components.code,{children:`studio`}),` directory which will be used for all actions in this guide. `,_jsx(`br`,{}),` `,_jsx(`br`,{})]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/keypair.webp?fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=28a39960962f720f71e21796807015f4`,\"data-og-width\":`231`,width:`231`,\"data-og-height\":`187`,height:`187`,\"data-path\":`invent/assets/keypair.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/keypair.webp?w=280\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=3e38b5bc15a6b4000be99dd665577ef1 280w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/keypair.webp?w=560\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=1afc485853abb09d40e1a4764a42b125 560w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/keypair.webp?w=840\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=49639a8d62185d311a04372d3fa55df7 840w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/keypair.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=4b122455c02e3095fd9313d75d980c33 1100w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/keypair.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=13cb9ede6fef6363c5b0f7b350fcd36c 1650w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/keypair.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=92eee195b56dd1d37b13c511570d8b3c 2500w`})})]}),_jsxs(Step,{title:`Configure your DLMM Pool`,children:[_jsxs(_components.p,{children:[`Navigate to the `,_jsx(_components.code,{children:`studio/config/dlmm_config.jsonc`}),` file and configure your DLMM pool settings. `,_jsx(`br`,{}),` `,_jsx(`br`,{})]}),_jsxs(Accordion,{title:`Set your DLMM configuration`,id:`set-your-dlmm-configuration`,children:[_jsx(_components.p,{children:`You can configure everything DLMM pool related in this file.`}),_jsx(Note,{children:`The comments in the file are to help you understand the different settings you can configure. Please ensure that you read through the comments while configuring your pool.`}),_jsx(CodeBlock,{filename:`dlmm_config.jsonc`,numberOfLines:`177`,language:`jsonc`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`jsonc`,children:_jsxs(_components.code,{language:`jsonc`,numberOfLines:`177`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* rpcUrl is required. You can switch between mainnet, devnet and localnet or use your own RPC URL. */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"rpcUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.devnet.solana.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// mainnet: https://api.mainnet-beta.solana.com | devnet: https://api.devnet.solana.com | localnet: http://localhost:8899`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* dryRun is required. If true, transactions will be simulated and not executed. If false, transactions will be executed. */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"dryRun\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Set to false only after you understand what will happen`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* keypairFilePath is required and will be the payer + signer for all transactions */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"keypairFilePath\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./keypair.json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* computeUnitPriceMicroLamports is required and can be adjusted to fit your needs */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"computeUnitPriceMicroLamports\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`100000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* quoteMint is required for the following actions:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 1. dlmm-create-pool`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 2. dlmm-seed-liquidity-lfg`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 3. dlmm-seed-liquidity-single-bin`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 4. dlmm-set-pool-status`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * SOL: So11111111111111111111111111111111111111112 | USDC: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | any other token address`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"quoteMint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"So11111111111111111111111111111111111111112\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* If you have a baseMint already created, you can specify it in the cli command via --baseMint flag. If you don't have a baseMint, you can create a new one using createBaseToken.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * Either use --baseMint flag or createBaseToken, but not both.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"createBaseToken\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"supply\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1000000000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// total amount of base token to be minted`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"decimals\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`6`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// decimals of the base token`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"tokenMintKeypairFilePath\": \"./mint-keypair.json\",`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // path to token mint keypair if you have a specific keypair for the token mint. If not provided, a new keypair will be generated.`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_TOKEN_NAME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// token name`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"symbol\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_TOKEN_SYMBOL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// token symbol`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"authorities\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"mint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_MINT_AUTHORITY_ADDRESS\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// token mint authority address. \u003cPublicKey | null>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"freeze\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_FREEZE_AUTHORITY_ADDRESS\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// token freeze authority address. \u003cPublicKey | null>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"update\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_UPDATE_AUTHORITY_ADDRESS\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // token update authority address. \u003cPublicKey | null>`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* Optional Metaplex Token Metadata Properties`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * Read more about the properties here: https://developers.metaplex.com/token-metadata`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sellerFeeBasisPoints\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Royalty fee in basis points (0-10000)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"creators\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Array of creator objects of the token (optional)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"collection\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Collection info (optional)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"uses\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Usage restrictions (optional)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"metadata\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"uri\": \"https://gateway.irys.xyz/123456789\",`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // if you already have a metadata URI created, you can specify it here`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* Only use the following parameters for createBaseToken if you don't have an existing metadata uri`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * This will create an image uri and a new metadata uri and upload everything to Irys`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"image\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./data/image/test-token.jpg\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// this can be a URL of the image address (e.g. https://example.com/token-image.png) or the image file path (e.g. ./data/image/test-token.jpg)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_TOKEN_DESCRIPTION\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// token description`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"website\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// project website`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"twitter\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://x.com/yourproject\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// twitter URL`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"telegram\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://t.me/yourproject\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // telegram URL`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* dlmmConfig is only used in the following actions:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 1. dlmm-create-pool`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"dlmmConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"binStep\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`25`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Price increment/decrement percentage in basis points (400 = 4% price step between bins)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"feeBps\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Trading fee in basis points (200 = 2% fee per swap)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"initialPrice\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1.333`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Initial price(in terms of quote/base price)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"activationType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// 0 - Slot | 1 - Timestamp`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"activationPoint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Activation time of the pool depending on activationType (Calculate in slots if activationType is 0 (slots) | Calculate in seconds if activationType is 1 (timestamp))`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"priceRounding\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"up\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Price calculation rounding direction for bin ID conversion`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"creatorPoolOnOffControl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Pool creator permission to enable/disable trading for permissionless pools`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"hasAlphaVault\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // If true, the alpha vault will be created after the pool is created`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"concreteFunctionType\": 0,`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 0 - LimitOrder | 1 - LiquidityMining (defaults to 0, only pools created with 0 accept limit orders)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"collectFeeMode\": 0`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 0 - InputOnly | 1 - OnlyY (defaults to 0)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* lfgSeedLiquidity is only used in the following actions:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 1. dlmm-seed-liquidity-lfg`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * https://ilm.jup.ag/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"lfgSeedLiquidity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"minPrice\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.003393`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Minimum price boundary for liquidity distribution range`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"maxPrice\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.004393`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Maximum price boundary for liquidity distribution range`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"curvature\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.6`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Distribution curvature factor (1/k) controlling liquidity concentration (0-1, lower = more concentrated)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"seedAmount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"200000\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Total amount of liquidity to seed into the pool (in token units)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"operatorKeypairFilepath\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./keypair.json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// File path to operator's private key for signing seeding transactions`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"positionOwner\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_POSITION_OWNER_ADDRESS\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Public key of the position owner who controls the liquidity`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"feeOwner\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_FEE_OWNER_ADDRESS\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Public key entitled to claim trading fees from this position`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"lockReleasePoint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Timestamp/slot when position becomes withdrawable (0 = immediately unlocked)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"seedTokenXToPositionOwner\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Whether to send 1 lamport of token X to position owner as ownership proof`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* singleBinSeedLiquidity is only used in the following actions:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 1. dlmm-seed-liquidity-single-bin`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"singleBinSeedLiquidity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"price\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1.333`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Exact price where liquidity will be concentrated in a single bin`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"priceRounding\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"up\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Price calculation rounding direction for bin ID conversion. \"up\" = round up, \"down\" = round down`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"seedAmount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"750000000\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Amount of token X (base token) to seed into the single bin (in token units)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"operatorKeypairFilepath\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./keypair.json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// File path to operator's private key for signing seeding transactions`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"positionOwner\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_POSITION_OWNER_ADDRESS\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Public key of the position owner who controls the liquidity`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"feeOwner\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YOUR_FEE_OWNER_ADDRESS\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Public key entitled to claim trading fees from this position`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"lockReleasePoint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Timestamp/slot when position becomes withdrawable (0 = immediately unlocked)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"seedTokenXToPositionOwner\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Whether to send 1 lamport of token X to position owner as ownership proof`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* setDlmmPoolStatus is only used in the following actions:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 1. dlmm-set-pool-status`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"setDlmmPoolStatus\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"enabled\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // true = enable trading | false = disable trading`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* placeLimitOrder is only used in the following actions:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 1. dlmm-place-limit-order (requires --poolAddress flag)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * The pool must have been created with the limit order function type (concreteFunctionType: 0).`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * A limit order deposits into one or more bins (max 50) and fills as the market price crosses them.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"placeLimitOrder\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"side\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"bid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// \"ask\" = sell the base token above the active bin | \"bid\" = buy with the quote token below the active bin`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"bins\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"price\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1.2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// price (in terms of quote/base price) for this portion of the order`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`100`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // amount in token units: base token amount for \"ask\" orders, quote token amount for \"bid\" orders`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* cancelLimitOrder is only used in the following actions:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 1. dlmm-cancel-limit-order (requires --poolAddress flag, optional --limitOrder flag)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * Cancelling withdraws unfilled deposits, filled proceeds and earned fees, then closes the order account.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cancelLimitOrder\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cancelAll\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // when true and no --limitOrder flag is passed, cancels every open order on the pool`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* alphaVault is only used in the following actions:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 1. dlmm-create-pool`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * There are 2 types of alpha vault: First Come First Serve (FCFS) and Prorata.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"alphaVault\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"poolType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"dlmm\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// DLMM = dlmm | DAMM v1 = dynamic | DAMM v2 = damm2`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"alphaVaultType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"fcfs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// FCFS = fcfs | Prorata = prorata`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* Only use the following parameters for alphaVaultType: fcfs`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 1. maxDepositCap`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 2. individualDepositingCap`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"maxDepositCap\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`10000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Maximum total amount (in quote token) that can be deposited across all users in the vault`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"individualDepositingCap\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Maximum amount (in quote token) that each individual user can deposit`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* Only use the following parameters for alphaVaultType: prorata`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * 1. maxBuyingCap`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"maxBuyingCap\": 10000,`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Maximum total amount (in quote token) that can be bought across all users in the vault`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"depositingPoint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1755421200`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// When users can start depositing depending on pool's activationType (Calculate in slots if activationType is 0 (slots) | Calculate in seconds if activationType is 1 (timestamp))`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"startVestingPoint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1755507600`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// When token vesting begins and users can start claiming their vested tokens depending on pool's activationType (Calculate in slots if activationType is 0 (slots) | Calculate in seconds if activationType is 1 (timestamp))`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"endVestingPoint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1755507600`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// When token vesting ends and all tokens become fully claimable depending on pool's activationType (Calculate in slots if activationType is 0 (slots) | Calculate in seconds if activationType is 1 (timestamp))`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"escrowFee\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Fee amount (in quote token) charged when creating a stake escrow account`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"whitelistMode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"permissionless\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Whitelist mode: permissionless | permissioned_with_merkle_proof | permissioned_with_authority`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* Optional Configuration: whitelistFilePath`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * Only use when whitelistMode is permissioned_with_merkle_proof or permissioned_with_authority`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"whitelistFilepath\": \"./data/whitelist_wallet.csv\",`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Optional path to CSV file containing whitelisted wallet addresses and their deposit caps (format: wallet,deposit_cap)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` /* Optional Configuration: merkleProofBaseUrl, chunkSize, kvProofFilepath, cloudflareKvProofUpload`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` * Only use when whitelistMode is permissioned_with_merkle_proof`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` */`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"merkleProofBaseUrl\": \"https://example.workers.dev/\",`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Base URL endpoint where merkle proofs are stored and can be retrieved for whitelisted wallet verification`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"chunkSize\": 1000,`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Optional batch size for processing large whitelist files or merkle tree operations to avoid memory/performance issues`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"kvProofFilepath\": \"./data/kv_proofs\",`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Optional path to key-value file storing pre-computed merkle proofs for whitelisted addresses`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"cloudflareKvProofUpload\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"kvNamespaceId\": \"YOUR_KV_NAMESPACE_ID\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"accountId\": \"YOUR_ACCOUNT_ID\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // \"apiKey\": \"YOUR_API_KEY\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`]})})})]}),_jsxs(Tip,{children:[_jsx(_components.p,{children:`The toolkit contains logic to make it easier for you to create the DLMM pool such as:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Minting a new `,_jsx(_components.code,{children:`baseMint`}),` token or parsing in an existing `,_jsx(_components.code,{children:`baseMint`}),` token.`]}),`\n`,_jsxs(_components.li,{children:[`Launching the DLMM pool immediately or at a certain `,_jsx(_components.code,{children:`activationPoint`}),` (in slots or timestamp depending on the `,_jsx(_components.code,{children:`activationType`}),`).`]}),`\n`,_jsx(_components.li,{children:`Optional creation of an Alpha Vault with your DLMM launch pool.`}),`\n`]})]})]}),_jsxs(Step,{title:`Create your DLMM Pool`,children:[_jsxs(_components.p,{children:[`After configuring your DLMM pool settings in `,_jsx(_components.code,{children:`dlmm_config.jsonc`}),`, you can now create your pool by running the following command.`]}),_jsx(_components.p,{children:_jsxs(_components.em,{children:[`If you don’t have a base mint, you can configure `,_jsx(_components.code,{children:`createBaseToken`}),` in the config file and run the\nfollowing command.`]})}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dlmm-create-pool`})]}),`\n`]})})}),_jsx(_components.p,{children:_jsxs(_components.em,{children:[`If you already have a base mint created, you can provide it via the CLI with a `,_jsx(_components.code,{children:`--baseMint`}),` flag\nand run the following command.`]})}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dlmm-create-pool`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --baseMint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`YOUR_BASE_MINT_ADDRES`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`S`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This will create your pool and print the pool address and other relevant information to the console. `,_jsx(`br`,{}),` `,_jsx(`br`,{})]}),_jsx(Frame,{caption:`This example includes creating of baseMint token before creating the DLMM launch pool.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-create-pool.webp?fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=662cadb261129ed4c0ea20b705062609`,\"data-og-width\":`827`,width:`827`,\"data-og-height\":`387`,height:`387`,\"data-path\":`invent/assets/dlmm-create-pool.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-create-pool.webp?w=280\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=b17806fae5476f5815a4500855403865 280w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-create-pool.webp?w=560\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=e05a9a17e1d0fc3aeeadf97ddd803536 560w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-create-pool.webp?w=840\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=5779b6348ae0bafa5398242f960c6112 840w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-create-pool.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=cf6030b4ec3ad91a2a45ade30d510017 1100w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-create-pool.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=6fe4a099e274fbe73ba6e5fe6e0e3172 1650w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-create-pool.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=b752d949f2223691e96f5e9a119fefe3 2500w`})})]}),_jsxs(Step,{title:`Seed your DLMM Pool`,children:[_jsx(_components.p,{children:`After creating your DLMM pool, you can now seed your pool with liquidity.`}),_jsxs(Tabs,{children:[_jsxs(Tab,{title:`dlmm-seed-liquidity-lfg`,icon:`chart-bar`,id:`dlmm-seed-liquidity-lfg`,children:[_jsx(_components.p,{children:_jsx(_components.em,{children:`If you want to seed your pool with liquidity using the LFG model, you can run the following command.`})}),_jsxs(Warning,{children:[`Please take note that the `,_jsx(_components.code,{children:`dlmm-seed-liquidity-lfg`}),` command will only work when your DLMM launch pool is not activated yet. You can configure the pool activation time using the `,_jsx(_components.code,{children:`activationPoint`}),` parameter in the `,_jsx(_components.code,{children:`dlmm_config.jsonc`}),` file.`]}),_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dlmm-seed-liquidity-lfg`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --baseMint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`YOUR_BASE_MINT_ADDRES`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`S`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This will seed your DLMM pool with liquidity based on the `,_jsx(_components.code,{children:`curvature`}),`, `,_jsx(_components.code,{children:`minPrice`}),` and `,_jsx(_components.code,{children:`maxPrice`}),` parameters that you have set in the `,_jsx(_components.code,{children:`dlmm_config.jsonc`}),` file.`]}),_jsxs(Note,{children:[`If you want to learn how the liquidity curvature works, you can head to `,_jsx(_components.a,{href:`https://ilm.jup.ag/`,children:`https://ilm.jup.ag/`}),` to learn more.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-lfg.webp?fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=45a983b3842a0e01a0bcdfd7dbb749c1`,\"data-og-width\":`683`,width:`683`,\"data-og-height\":`413`,height:`413`,\"data-path\":`invent/assets/dlmm-seed-liquidity-lfg.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-lfg.webp?w=280\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=7f1d144b10a3b0d8ee4c2d43a7ba6107 280w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-lfg.webp?w=560\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=087d2f8cabf719885eceacb40bfb3d9b 560w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-lfg.webp?w=840\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=6d2008c0ffaecfee78688b2cae5ff974 840w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-lfg.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=22b9fca733d6582f651b406b767e2649 1100w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-lfg.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=ff3eaf0625dbcafb8fec81ae6896e7dc 1650w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-lfg.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=ea5c9d12b1c28d4679c365524143b8a3 2500w`})})]}),_jsxs(Tab,{title:`dlmm-seed-liquidity-single-bin`,icon:`chart-area`,id:`dlmm-seed-liquidity-single-bin`,children:[_jsx(_components.p,{children:_jsx(_components.em,{children:`If you want to seed your pool with liquidity in a single bin, you can run the following command.`})}),_jsxs(Warning,{children:[`Please take note that the `,_jsx(_components.code,{children:`dlmm-seed-liquidity-single-bin`}),` command will only work when your DLMM launch pool is not activated yet. You can configure the pool activation time using the `,_jsx(_components.code,{children:`activationPoint`}),` parameter in the `,_jsx(_components.code,{children:`dlmm_config.jsonc`}),` file.`]}),_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dlmm-seed-liquidity-single-bin`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --baseMint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`YOUR_BASE_MINT_ADDRES`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`S`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`This will seed your DLMM pool with liquidity in a single bin based on the `,_jsx(_components.code,{children:`price`}),` and `,_jsx(_components.code,{children:`seedAmount`}),` parameters that you have set in the `,_jsx(_components.code,{children:`dlmm_config.jsonc`}),` file. `,_jsx(`br`,{}),` `,_jsx(`br`,{})]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-single-bin.webp?fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=5155c8826c25f54004a4896cfe546c57`,\"data-og-width\":`858`,width:`858`,\"data-og-height\":`340`,height:`340`,\"data-path\":`invent/assets/dlmm-seed-liquidity-single-bin.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-single-bin.webp?w=280\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=db9ee8f9a6bc08a4dc54d9cfb67d5e66 280w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-single-bin.webp?w=560\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=4758980c50170da4e57b0ef9bada392d 560w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-single-bin.webp?w=840\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=b850129f2c90c6e1338f2d2a16c6e629 840w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-single-bin.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=d44843e642057a663b1f47b22f0c3d43 1100w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-single-bin.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=7220e8b2bd797a86b77bce922fa0811f 1650w, https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/invent/assets/dlmm-seed-liquidity-single-bin.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=ea81a19dff5f79f1449cc07ffd63466e 2500w`})})]})]})]}),_jsxs(Step,{title:`Place Limit Orders on your DLMM Pool (Optional)`,children:[_jsxs(_components.p,{children:[`DLMM pools created with the limit order function type (`,_jsx(_components.code,{children:`concreteFunctionType: 0`}),`, the default) support onchain limit orders. A limit order deposits tokens into one or more bins and fills automatically as the market price crosses them.`]}),_jsxs(Note,{children:[`To learn how DLMM limit orders work under the hood, head to `,_jsx(_components.a,{href:`/core-products/dlmm/limit-order`,children:`DLMM Limit Order`}),`.`]}),_jsx(_components.p,{children:_jsxs(_components.em,{children:[`After configuring the `,_jsx(_components.code,{children:`placeLimitOrder`}),` settings in `,_jsx(_components.code,{children:`dlmm_config.jsonc`}),`, place an order with the following command.`]})}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dlmm-place-limit-order`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --poolAddress`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`YOUR_POOL_ADDRES`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`S`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`]})})}),_jsx(_components.p,{children:`This will place the order and print the limit order address to the console. Save the address if you want to cancel a specific order later.`}),_jsx(_components.p,{children:_jsx(_components.em,{children:`To inspect your open orders — per-bin fill status, fees earned, and withdrawable amounts — run the following command.`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dlmm-get-limit-orders`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --poolAddress`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`YOUR_POOL_ADDRES`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`S`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`]})})}),_jsx(_components.p,{children:_jsx(_components.em,{children:`To cancel an order and withdraw unfilled deposits, filled proceeds, and earned fees, run the following command.`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pnpm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` studio`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dlmm-cancel-limit-order`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --poolAddress`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`YOUR_POOL_ADDRES`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`S`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --limitOrder`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`YOUR_LIMIT_ORDER_ADDRES`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`S`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`]})})}),_jsxs(Tip,{children:[`Omit the `,_jsx(_components.code,{children:`--limitOrder`}),` flag and set `,_jsx(_components.code,{children:`cancelLimitOrder.cancelAll`}),` to `,_jsx(_components.code,{children:`true`}),` in `,_jsx(_components.code,{children:`dlmm_config.jsonc`}),` to cancel every open order on the pool in one run.`]})]})]}),`\n`,_jsxs(_components.p,{children:[`Voilà! You’ve successfully created your DLMM pool on Meteora. You can now see your pool in action on Meteora either on Meteora’s `,_jsx(_components.a,{href:`https://app.meteora.ag`,children:`mainnet`}),` or `,_jsx(_components.a,{href:`https://devnet.meteora.ag`,children:`devnet`}),` app.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"DLMM Launch Pool","sidebarTitle":"DLMM Launch Pool","description":"Learn how to create a Meteora DLMM launch pool with configurable price bins, dynamic fees, activation controls, optional Alpha Vault, liquidity seeding, and limit orders.","llmsDescription":"Guide to creating a DLMM launch pool with Meteora Invent Studio, covering setup, local validator, environment variables, keypair generation, dlmm_config.jsonc, quote mint, createBaseToken, bin step, fee bps, initial price, activation type and point, creator pool on-off control, concrete function type, collect fee mode, LFG seed liquidity, single-bin seed liquidity, DLMM pool status, optional Alpha Vault, dlmm-create-pool and seed commands, and dlmm-place-limit-order, dlmm-get-limit-orders, and dlmm-cancel-limit-order limit order commands.","href":"/invent/launch-pools/dlmm-launch-pool"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What You’ll Achieve","slug":"what-you’ll-achieve","depth":1,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":1,"children":[]},{"title":"Steps","slug":"steps","depth":1,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"meteora","siteName":"Meteora Documentation","title":"DLMM Launch Pool - Meteora Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-31T09:12:41.600Z","originalFileLocation":"invent/launch-pools/dlmm-launch-pool.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how to create a Meteora DLMM launch pool with configurable price bins, dynamic fees, activation controls, optional Alpha Vault, liquidity seeding, and limit orders.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Meteora Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/meteora/DhpFC5DB62Ttge7c/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/meteora/DhpFC5DB62Ttge7c/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/meteora/DhpFC5DB62Ttge7c/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/meteora/DhpFC5DB62Ttge7c/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/meteora/DhpFC5DB62Ttge7c/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/meteora/DhpFC5DB62Ttge7c/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/meteora/DhpFC5DB62Ttge7c/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/meteora/DhpFC5DB62Ttge7c/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/meteora/DhpFC5DB62Ttge7c/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"DLMM Launch Pool - Meteora Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to create a Meteora DLMM launch pool with configurable price bins, dynamic fees, activation controls, optional Alpha Vault, liquidity seeding, and limit orders.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Meteora Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.meteora.ag/invent/launch-pools/dlmm-launch-pool\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://meteora.mintlify.app/_mintlify/api/og/v2?division=Launch+Pools\u0026amp;title=DLMM+Launch+Pool\u0026amp;description=Learn+how+to+create+a+Meteora+DLMM+launch+pool+with+configurable+price+bins%2C+dynamic+fees%2C+activation+controls%2C+optional+Alpha+Vault%2C+liquidity+seeding%2C+and+lim\u0026amp;theme=eb18b52cbb4394f91f6c5646\u0026amp;signature=4767083ca0b0b5f28dcb0818c8eb5278e146f870e72f85a746a995b529a8118d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"DLMM Launch Pool - Meteora Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to create a Meteora DLMM launch pool with configurable price bins, dynamic fees, activation controls, optional Alpha Vault, liquidity seeding, and limit orders.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://meteora.mintlify.app/_mintlify/api/og/v2?division=Launch+Pools\u0026amp;title=DLMM+Launch+Pool\u0026amp;description=Learn+how+to+create+a+Meteora+DLMM+launch+pool+with+configurable+price+bins%2C+dynamic+fees%2C+activation+controls%2C+optional+Alpha+Vault%2C+liquidity+seeding%2C+and+lim\u0026amp;theme=eb18b52cbb4394f91f6c5646\u0026amp;signature=4767083ca0b0b5f28dcb0818c8eb5278e146f870e72f85a746a995b529a8118d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/meteora/DhpFC5DB62Ttge7c/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Meteora Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F54B00\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.meteora.ag/invent/launch-pools/dlmm-launch-pool\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/invent/launch-pools/dlmm-launch-pool.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.meteora.ag/#organization\",\"name\":\"Meteora Documentation\",\"url\":\"https://docs.meteora.ag\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/meteora/FuYCvEvL3a7_z_Mt/assets/nav/meteora-docs-light.png?fit=max\u0026auto=format\u0026n=FuYCvEvL3a7_z_Mt\u0026q=85\u0026s=9b7afa272c2adebd183c6e55b45c9326\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.meteora.ag#website\",\"name\":\"Meteora Documentation\",\"url\":\"https://docs.meteora.ag\",\"publisher\":{\"@id\":\"https://docs.meteora.ag/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.meteora.ag/invent/launch-pools/dlmm-launch-pool#webpage\",\"url\":\"https://docs.meteora.ag/invent/launch-pools/dlmm-launch-pool\",\"name\":\"DLMM Launch Pool\",\"description\":\"Learn how to create a Meteora DLMM launch pool with configurable price bins, dynamic fees, activation controls, optional Alpha Vault, liquidity seeding, and limit orders.\",\"dateModified\":\"2026-07-31T09:12:41.600Z\",\"isPartOf\":{\"@id\":\"https://docs.meteora.ag#website\"},\"breadcrumb\":{\"@id\":\"https://docs.meteora.ag/invent/launch-pools/dlmm-launch-pool#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.meteora.ag/invent/launch-pools/dlmm-launch-pool#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Launch Pools\",\"item\":\"https://docs.meteora.ag/invent/launch-pools/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DLMM Launch Pool\",\"item\":\"https://docs.meteora.ag/invent/launch-pools/dlmm-launch-pool\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.meteora.ag/invent/launch-pools/dlmm-launch-pool#article\",\"headline\":\"DLMM Launch Pool\",\"name\":\"DLMM Launch Pool\",\"description\":\"Learn how to create a Meteora DLMM launch pool with configurable price bins, dynamic fees, activation controls, optional Alpha Vault, liquidity seeding, and limit orders.\",\"url\":\"https://docs.meteora.ag/invent/launch-pools/dlmm-launch-pool\",\"mainEntityOfPage\":{\"@id\":\"https://docs.meteora.ag/invent/launch-pools/dlmm-launch-pool#webpage\"},\"dateModified\":\"2026-07-31T09:12:41.600Z\",\"publisher\":{\"@id\":\"https://docs.meteora.ag/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.meteora.ag#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Meteora Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Meteora Documentation","nav":{"global":null,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started"}]},{"tab":"Developer Guides","menu":[{"item":"DLMM","icon":"arrows-to-circle","pages":[{"title":"DLMM","href":"/developer-guides/dlmm"}]},{"item":"DAMM v2","icon":"calculator-simple","pages":[{"title":"DAMM v2","href":"/developer-guides/damm-v2"}]},{"item":"DBC","icon":"chart-simple","pages":[{"title":"DBC","href":"/developer-guides/dbc"}]},{"item":"Presale Vault","icon":"gavel","pages":[{"title":"Presale Vault","href":"/developer-guides/presale-vault"}]},{"item":"Alpha Vault","icon":"box","pages":[{"title":"Alpha Vault","href":"/developer-guides/alpha-vault"}]},{"item":"Dynamic Fee Sharing","icon":"money-bill-wave","pages":[{"title":"Dynamic Fee Sharing","href":"/developer-guides/dynamic-fee-sharing"}]},{"item":"Zap","icon":"bolt-lightning","pages":[{"title":"Zap","href":"/developer-guides/zap"}]},{"item":"DAMM v1","icon":"calculator","pages":[{"title":"DAMM v1","href":"/developer-guides/damm-v1"}]},{"item":"Dynamic Vault","icon":"vault","pages":[{"title":"Dynamic Vault","href":"/developer-guides/dynamic-vault"}]},{"item":"Stake2Earn","icon":"steak","pages":[{"title":"Stake2Earn","href":"/developer-guides/stake2earn"}]}],"pages":[{"title":"Developer Guides","href":"/developer-guides/dlmm"}]},{"tab":"Invent","groups":[{"group":" ","pages":[{"title":"Actions","sidebarTitle":"Actions","href":"/invent/actions"}]},{"group":"Scaffold","pages":[{"title":"Fun Launch","sidebarTitle":"Fun Launch","href":"/invent/scaffold/fun-launch"}]},{"group":"Launch Pools","pages":[{"title":"Overview","sidebarTitle":"Overview","description":"Choose a Meteora Invent launch-pool path for DBC, DLMM, DAMM v2, or DAMM v1 token liquidity.","href":"/invent/launch-pools/index"},{"title":"DLMM Launch Pool","sidebarTitle":"DLMM Launch Pool","href":"/invent/launch-pools/dlmm-launch-pool"},{"title":"DAMM v2 Launch Pool","sidebarTitle":"DAMM v2 Launch Pool","description":"Learn how to create a Meteora DAMM v2 launch pool with balanced or one-sided liquidity, configurable fees, activation controls, optional Alpha Vault, and position management settings.","href":"/invent/launch-pools/damm-v2-launch-pool"},{"title":"DBC Token Launch Pool","sidebarTitle":"DBC Token Launch Pool","href":"/invent/launch-pools/dbc-token-launch-pool"},{"title":"DAMM v1 Launch Pool","sidebarTitle":"DAMM v1 Launch Pool","href":"/invent/launch-pools/damm-v1-launch-pool"}]}]},{"tab":"Agents","pages":[{"title":"Agents","href":"/agents/overview"}]},{"tab":"Protocol","pages":[{"title":"Protocol","href":"/protocol/protocol-revenues"}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/resources/audits/overview"}]}]},"basePath":"","title":"DLMM Launch Pool - Meteora Documentation","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-PS-3COT9.js","DynamicMarkdown-BcnBltEQ.js","zoom-image-lightbox-B4-wUcHm.js","lightbox-handle-r17bVUz3.js"]}