Target SOL and Migration
One of the most important concepts in PrintFun's token ecosystem is the Target SOL - the amount of SOL required to trigger a token's migration from the Dynamic Bonding Curve (DBC) to Meteora's Dynamic AMM (DAMM).
Each token has its own specific Target SOL value, which is determined by the configuration parameters chosen when the token was created. This value represents the exact amount of SOL that needs to accumulate in the token's liquidity pool before migration is triggered.
This page explains how Target SOL works, how it's calculated, and why it's crucial for your token's journey.
What is Target SOL?
Target SOL is the specific amount of Solana that needs to be accumulated in a token's liquidity pool before it can graduate from PrintFun's Dynamic Bonding Curve to Meteora's Dynamic AMM. This threshold ensures that tokens have sufficient liquidity before migrating to a more advanced trading mechanism.
Why Target SOL Matters
- • Ensures sufficient liquidity for healthy trading
- • Creates a clear milestone for token communities
- • Prevents premature migration of tokens
- • Establishes a foundation for long-term success
Migration Benefits
- • Lower trading fees on DAMM
- • Enhanced price stability
- • Wider market exposure
- • Increased trading volume potential
- • Access to Meteora's ecosystem features
How to Calculate Target SOL
When creating a token on PrintFun, the Target SOL is determined by the configuration parameters you choose. Here's how to find the exact Target SOL amount for your token:
Using the DBC SDK
The most accurate way to get the Target SOL for a specific token is to use the getPoolMigrationQuoteThreshold
function from the Dynamic Bonding Curve SDK:
// Import the DBC SDK
import { DynamicBondingCurveClient } from '@meteora-ag/dynamic-bonding-curve-sdk'
// Initialize the client
const connection = new Connection('https://api.mainnet-beta.solana.com')
const client = new DynamicBondingCurveClient(connection, 'confirmed')
// Get the migration threshold for a specific pool
const poolAddress = new PublicKey('your_token_pool_address')
const threshold = await client.state.getPoolMigrationQuoteThreshold(poolAddress)
// Convert from lamports to SOL
const targetSol = threshold.toNumber() / 1e9
console.log(`Target SOL: ${targetSol} SOL`)
This function returns the exact amount of SOL (in lamports) required for the token to migrate. Divide by 10^9 to convert to SOL.
Finding a Token's Target SOL on PrintFun
You can easily find a token's Target SOL value on its detail page on PrintFun. Navigate to the token's page and look for the "Target SOL" value in the Token Stats section. This shows the exact amount of SOL needed to trigger migration for that specific token.
Checking Migration Progress
You can also check how close a token is to reaching its Target SOL using the getPoolCurveProgress
function:
// Get the progress percentage (0-1)
const progress = await client.state.getPoolCurveProgress(poolAddress)
console.log(`Migration Progress: ${progress * 100}%`)
This returns a value between 0 and 1, representing the percentage of Target SOL that has been accumulated so far.
Migration Process
Once a token reaches its Target SOL threshold, the migration process begins:
- 1. The DBC pool reaches the pre-defined Target SOL threshold
- 2. No further swaps can occur with that pool
- 3. Meteora's migrator keeper service sends a crank to create a new DAMM pool
- 4. LP tokens are distributed according to the configuration:
- • Partner LP percentage
- • Creator LP percentage
- • Partner locked LP percentage
- • Creator locked LP percentage
- 5. The token now trades on Meteora's DAMM with the configured fee tier
Fee Tiers After Migration
When configuring your token, you can choose from several fee tiers that will apply after migration:
Fee Option | Fee Percentage | Recommended For |
---|---|---|
0 | 0.25% | High volume, stable tokens |
1 | 0.30% | Standard tokens |
2 | 1.00% | Medium volatility tokens |
3 | 2.00% | Higher volatility tokens |
4 | 4.00% | High volatility tokens |
5 | 6.00% | Extreme volatility tokens |
Migration Options and Fee Distribution
PrintFun offers two migration options that affect how holders receive rewards after migration. Whether fees are paid in SOL or in the token depends on which DAMM pool they migrate to:
DAMMv1
With DAMMv1 migration, holders receive their trading fee rewards split between:
- • Part in SOL (quote token)
- • Part in the native token
Ideal for projects that want to maintain token velocity and provide diverse rewards to holders. Fees are collected and distributed in both SOL and the native token.
DAMMv2
With DAMMv2 migration, holders receive 100% of their trading fee rewards in:
- • SOL only (quote token)
Preferred for projects focused on maximizing SOL rewards for holders. Fees are collected and distributed exclusively in SOL, providing immediate value to token holders.
Best Practices
Setting Target SOL
- • Consider your token's market cap goals
- • Balance between accessibility and stability
- • Higher targets mean more liquidity but longer time to migrate
- • Lower targets mean faster migration but potentially less stability
Accelerating Migration
- • Encourage community participation
- • Create incentives for liquidity providers
- • Promote your token to increase trading volume
- • Consider contributing liquidity yourself