Create CLMM Pool
Ferra is a permissionless liquidity infrastructure where anyone can create a CLMM pool.
Overview
Prerequisites
Quick Start
import { clmmMainnet, initFerraSDK } from '@ferra-labs/clmm'
// Initialize SDK
const sdk = initFerraSDK({
...clmmMainnet,
network: 'beta',
fullNodeUrl: 'https://...',
wallet: '0x...'
})
// Create pool with initial liquidity
const params = {
// Token types
coinTypeA: '0x2::sui::SUI',
coinTypeB: '0x...::usdc::USDC',
// Pool parameters
tick_spacing: 60, // Tick spacing (1, 10, 60, 200)
initialize_sqrt_price: '...', // Initial price (sqrt format)
uri: 'https://...', // Pool uri
// Liquidity position
tick_lower: -1000, // Lower price bound
tick_upper: 1000, // Upper price bound
amount_a: '1000000000', // Amount of token A (with decimals)
amount_b: '1000000', // Amount of token B (with decimals)
fix_amount_a: true, // Fix token A amount
slippage: 0.05,
// Optional metadata
metadata_a: coinAMetadata,
metadata_b: coinBMetadata
}
const tx = await sdk.Pool.createPoolTransactionPayloadslippage(params)
const result = await sdk.fullClient.signAndExecuteTransaction({
transaction: tx,
signer: keypair
})Parameters
Parameter
Type
Description
Price Calculation
Tick Spacing Guide
Tick Spacing
Fee
Error Handling
Important Notes
Last updated