π²User Guide
How a user interacts with migrate.fun
The Migrate.Fun Platform enables token holders to migrate from an old token to a new token seamlessly. Users receive Migration Fungible Tokens (MFT) as receipts during migration, which can be redeemed for new tokens after the migration period ends.
Key Concepts
Old Token: Your current token that you want to migrate from
New Token: The updated token you'll receive after migration
MFT (MigrateFun Receipt Token): Receipt tokens that prove your migration
Exchange Rate: How many new tokens you receive per old token
Claims Period: 90-day window to claim tokens after migration
User Journey Overview

Migration Phases
Phase 1: Active Migration Period
Duration: Set by project admin (typically 7-30 days)
What You Can Do:
Migrate old tokens to receive MFT receipts
View migration progress and statistics via details page
Check your balances and entitlements in your self-custodial wallet
What You Cannot Do:
Claim new tokens (must wait for migration to end)
Get refunds (unless migration fails)
Phase 2: Post-Migration Claims
Duration: 90 days after migration ends
What You Can Do:
Burn MFT to claim new tokens (1:1)
Claim via merkle proof if you missed migration (late claims window)
Check claim status and history
What You Cannot Do:
Migrate more old tokens
Get refunds (unless protected migration failed)
Phase 3: Expired Period
After: 90 days post-migration
What Happens:
Claims no longer available
Unclaimed tokens returned to project admin
Must contact project directly for resolution
Pre-Migration Preparation
Step 1: Check Eligibility
Requirements
Hold old tokens in your wallet
Have sufficient SOL for transaction fees (~0.01 SOL)
Wallet connected to the migratefun platform
Verify Project Details
Navigate to migration platform
Find your project in the list
Check:
Migration dates (start and end)
Exchange rate
Fee percentage
Protection status
Token info (CA, Pool ID)
Step 2: Prepare Your Wallet
Supported Wallets
Phantom
Solflare
MetaMask
Other Solana-compatible wallets via Walletconnect
Wallet Setup
Ensure wallet has old tokens
Add at least 0.02 SOL for fees
Step 3: Understand the Exchange Rate
How It Works
Exchange Rate: Displayed as ratio (e.g., 1.5:1)
Calculation:
new_tokens = old_tokens Γ exchange_rate

During Migration
Step 1: Connect to Platform
Navigate to Migration Panel
Go to platform URL
Click "Migration" tab
Connect Wallet
Click "Connect Wallet"
Select your wallet provider
Approve connection
Step 2: Select Project
View Available Projects
Shows all active migrations
Filter by token name, time, progress
Select Your Project
Click on project card
Review project details
Verify token addresses match
Step 3: Migrate Tokens
Enter Amount
Check Your Balance
Display shows available old tokens
"Max" button for full migration
Enter Migration Amount
Type amount or use percentage buttons
Preview shows MFT you'll receive
Check fee information
Execute Migration
Click "Migrate"
Review transaction details
Approve in wallet
Wait for confirmation
Transaction Process
Old tokens transferred to vault
MFT tokens minted to your wallet
UserMigration record created
Post-Migration Verification
Check MFT Balance
MFT balance updated immediately
Shows in wallet token list
View Migration Record
Transaction history updated
Migration stats displayed
Step 4: Multiple Migrations
You can migrate multiple times during the active period:
Partial Migrations
Migrate portions at different times
All migrations accumulate
Single UserMigration record tracks total
When Claims Begin
Claims are available immediately after:
Migration period ends
MerkleTree snapshot is taken
Admin finalizes swap
Pool creation completes
Claims are enabled
Step 1: Access Claims Panel
Navigate to Platform
Connect wallet
Go to "Claims" section
Select Project
Find your migration project
Click to view details
Choose claim tokens
Step 2: Claim with MFT
Process Overview
Check MFT Balance
Shows total MFT held
Preview new tokens to receive
Enter Claim Amount
Partial or full claims allowed
1:1 exchange (1 MFT = 1 new token)
Execute Claim

Technical Details
Smart Contract:
claim_with_mft.rsMFT Burning: Permanent and irreversible
New Token Transfer: From project vault to your wallet
Gas Fees: ~0.005 SOL per claim
Step 3: Verify Receipt
Check Balances
New token balance increased
MFT balance decreased
Transaction in history
Add Token to Wallet
Copy new token mint address
Add custom token in wallet
Icon and metadata appear
Merkle Tree Claims
For users who missed the migration deadline, claims via merkle tree are available for 90 days.
Eligibility
You're eligible if:
Held old tokens at snapshot time
Didn't migrate during active period
Within 90-day claims window
Project created merkle tree
Step 1: Check Eligibility
Access Claims Panel
Navigate to MerkleClaims ceck
Enter wallet address
System checks eligibility
View Claim Amount
Shows snapshot balance
Applies any penalty rate
Displays claimable amount
Step 2: Generate Proof
Automatic Generation
Click "Generate Proof"
Backend creates merkle proof
Proof data displayed
Proof Components

Step 3: Claim Tokens
Standard Merkle Claim
Requirements
Still hold old tokens (full or partial)
Valid merkle proof
Within claim period
Process

Can claim up to snapshot amount
Must have old tokens to exchange
Proportional claiming allowed
Single claim allowance (no exceptions)
Penalty Rates
Admin may set penalty (0-100%)
Encourages timely migration
Applied to claim amount
Penalized tokens count towards unclaimed amount
Technical Flow
Merkle claim process
Verify merkle proof against root
Check user still holds old tokens
Calculate claimable = min(snapshot, balance)
Transfer old tokens to vault
Apply penalty if configured
Transfer new tokens to user
Record claim to prevent duplicates
Protected Migration Refunds
Understanding Protected Migrations
What Makes It Protected
Target percentage set (e.g., 25% must migrate)
Automatic evaluation at deadline
Refunds if target not met
90-day claims protection
Failed Migration Process
Step 1: Automatic Evaluation
At migration deadline:
System checks total migrated vs target
If below target: Migration marked failed
Notification sent to users
Step 2: SOL Recovery
Admin executes recovery:
Old tokens sold for SOL/USDC
Proceeds allocated to refund pool
Proportional shares calculated
Claiming Refunds
Step 1: Access Refund Panel
Navigate to Platform
Connect wallet
Go to "Refunds" section
Check Eligibility
Must have migrated tokens
Shows your migration amount
Displays refund share
Step 2: Claim SOL Refund
Calculate Your Share

Execute Claim
Click "Claim Refund"
SOL sent to wallet
One-time claim only
Step 3: Verify Receipt
Check SOL balance increase
Transaction confirmed
Claim marked complete
Troubleshooting
Common Issues
"Insufficient Balance"
Cause: Not enough old tokens or SOL Solution:
Check token balance in wallet
Add SOL for fees (0.02 SOL recommended)
Verify correct token selected
"Migration Window Closed"
Cause: Outside active migration period Solution:
Check migration dates
Wait for claims period if migration ended
Use merkle claims if available
"Claims Not Enabled"
Cause: Migration not finalized Solution:
Wait for admin to finalize post-migration steps
Check project status
Contact project admin
"Invalid Merkle Proof"
Cause: Incorrect proof or not eligible Solution:
Regenerate proof from backend
Verify snapshot eligibility
Check wallet address matches
"Transaction Failed"
Cause: Network congestion or slippage Solution:
Retry transaction
Increase priority fee
Wait for less congestion
Wallet Issues
Tokens Not Showing
Add custom token:
Copy token mint address
Add to wallet token list
Refresh balance
Transaction Stuck
Cancel pending:
Open wallet
Find pending transaction
Cancel or speed up
Connection Problems
For Users
Before Migrating
Verify project legitimacy
Check exchange rate and fees
Test with small amount first
During Migration
Double-check amounts
Save transaction IDs
Monitor for confirmation
After Migration
Claim promptly after period ends
Add new token to wallet
Keep records for taxes
Security Tips
Wallet Safety
Never share seed phrase
Use hardware wallet if possible
Verify transaction details
Platform Verification
Check official URLs
Verify contract addresses
Look for audits
Transaction Safety
Start with small amounts
Verify recipient addresses
Check network status
Last updated