Skip to main content

What Is Token Graduation?

Migration—we call it graduation—is when your token moves from RektHub’s bonding curve to a decentralized exchange (DEX) like Uniswap or PancakeSwap. It’s not leaving RektHub; it’s your token economy maturing into its next phase.
Token graduation celebration
Think of it as your token’s “graduation day” from the fair launch curve to the big leagues of DeFi liquidity.
Graduation unlocks: Deep liquidity, major DEX exposure, and often 5-10x price discovery for early believers.

When Can You Graduate?

Your token is eligible for graduation when 850 million tokens have been sold from the bonding curve.
1

850M Tokens Sold

All tradeable supply has been purchased from the curve
2

Token Marked as Bonded

Trading on the curve stops automatically
3

Liquidity Accumulated

Curve has substantial native currency (e.g., 500 ETH)
4

Ready for Graduation

150M reserved tokens + accumulated liquidity ready to migrate
You cannot graduate early. The 850M requirement ensures sufficient liquidity for a healthy DEX pool and rewards creators who build genuine demand.
// Example bonding state
{
  realTokenReserves: 0,              // All 850M sold
  realNativeReserves: 500 ETH,       // Accumulated from sales
  reservedTokens: 150,000,000,       // Untouched supply for DEX
  accumulatedCreatorFees: 15 ETH,    // Your trading fees (claimable)
  status: "bonded",
  readyForGraduation: true
}

The Graduation Process

1. Bonding Achieved

When the 850 millionth token is sold, your token automatically enters the “bonded” state.

Trading Stops

No more buys or sells on the bonding curve

Liquidity Locked

All accumulated native currency ready for migration

Reserved Supply

150M tokens prepared for DEX liquidity

Creator Notified

Time to choose your graduation destination
// Bonding event emitted
event TokenBonded(address indexed tokenAddress);

// Curve state
s_bonded = true;
s_realTokenReserves = 0;
s_realNativeReserves = 500 ETH;  // Example

2. Choose Your DEX

As the creator, you control where your token graduates (assuming RektHub supports that DEX).
  • Uniswap
  • PancakeSwap
  • Aerodrome
  • Coming Soon
Best for: Ethereum, Arbitrum, Base, PolygonPros:
  • Deep liquidity across chains
  • Proven infrastructure
  • High trust and volume
Cons:
  • Higher gas fees on Ethereum
How to choose: Consider where your community trades, which chain has lowest fees, and where you want long-term liquidity.

3. Migration Fee Charged

RektHub charges a 12% fee on the total liquidity being migrated. This fee is split between you and the platform. Migration Fee Breakdown (500 ETH example):
// Bonding liquidity: 500 ETH
const bondingLiquidity = 500;

// Calculate 12% migration fee
const migrationFee = bondingLiquidity * 0.12; // 60 ETH

// Split fee
const creatorShare = migrationFee * 0.6; // 36 ETH (60%)
const platformShare = migrationFee * 0.4; // 24 ETH (40%)

// Net liquidity to DEX
const liquidityToDEX = bondingLiquidity - migrationFee; // 440 ETH

// Your total earnings
const tradingFees = 15; // Accumulated during bonding
const totalEarnings = tradingFees + creatorShare; // 51 ETH total
Getting to bonding means you built real demand. You earned this through:
  • Community engagement
  • Marketing efforts
  • Delivering value
  • Building trust
The 60% creator share recognizes that achievement. It’s a reward for success, not a tax.

4. Liquidity Pool Created

The remaining liquidity (440 ETH + 150M tokens in our example) is sent to your chosen DEX where a liquidity pool is automatically created.
1

Assets Transferred

440 ETH + 150M tokens sent to migrator contract
2

Pool Created

Migrator calls DEX router to create liquidity pool
3

LP Tokens Minted

DEX mints LP tokens representing pool ownership
4

LP Tokens Locked/Burned

LP tokens typically burned or locked forever (no rug pull risk)
5

Trading Opens

Token immediately tradeable on the DEX
What happens on the DEX: - Pool address: 0x... (returned from migrator) - Initial price: Determined by 440 ETH : 150M ratio - LP tokens: Locked or burned (check specific DEX) - Trading: Live immediately

5. Price Discovery Boost (IYKYK)

Here’s the fun part. When 150M tokens hit the DEX against hundreds of ETH in liquidity, there’s immediate buying pressure. Early bonding curve buyers often see 5-10x gains at graduation.
Typical graduation price action

Why the Graduation Pump?

Suddenly 150M tokens are available that weren’t tradeable before. New buyers rush in.
440 ETH creates confidence. Traders see “real liquidity” and feel safe buying large amounts.
“I missed the bonding curve at $0.00001, but I can still get in on DEX!” New wave of buyers.
Bonding curve sellers are done. Only DEX buyers remain. Supply/demand imbalance = pump.
New trading venue, new market dynamics. Often finds higher equilibrium price.
This rewards early believers who bought on the curve at low prices. They exit into deep DEX liquidity at significantly higher prices.

Example Price Action

  • Pre-Graduation
  • At Graduation
  • Post-Graduation (24h)
Bonding curve final state:
  • 850M tokens sold
  • 500 ETH accumulated
  • Price: ~$0.0000018 per token
  • Market cap: ~$1.8M (1B tokens)

Post-Graduation

Your Token Lives On

Graduation doesn’t mean your token leaves RektHub. It means:

Multi-Venue Trading

Token trades on DEX + RektHub aggregators

Keep Accumulated Fees

Claim your trading + migration fees anytime

Community Remains

Rekt Community chat, activity feeds still active

Creator Status

Still your token, still your community

What You Control

  • Metadata
  • Community
  • Fee Claims
Update token image, description, socials anytime:
// As creator, you can always update
await token.setTokenURI("ipfs://new-metadata-hash");

What You Don’t Control

These are intentional protections: - Liquidity: Once migrated, liquidity is locked/burned on DEX (no rug pulls) - Trading: Anyone can trade on the DEX without RektHub - Price: Market determines price, no more bonding curve math

Migration Fee Structure (Detailed)

Base Fee: 12% of Liquidity

The fee is applied to total native currency being migrated (not tokens). Migration Fee Examples:
Bonding LiquidityMigration Fee (12%)Creator Gets (60%)Platform Gets (40%)To DEX (88%)
100 ETH12 ETH7.2 ETH4.8 ETH88 ETH + 150M tokens
250 ETH30 ETH18 ETH12 ETH220 ETH + 150M tokens
500 ETH60 ETH36 ETH24 ETH440 ETH + 150M tokens
1,000 ETH120 ETH72 ETH48 ETH880 ETH + 150M tokens
2,000 ETH240 ETH144 ETH96 ETH1,760 ETH + 150M tokens

Who Pays?

Nobody directly. The fee comes from the accumulated liquidity in the bonding curve. Users already contributed through trading during the bonding phase. Think of it as a “success tax” on the liquidity pool, not an additional charge to users.

When Is It Charged?

At the exact moment of migration. The smart contract:
1

Calculate Total Liquidity

Get realNativeReserves from curve (e.g., 500 ETH)
2

Deduct 12% Fee

500 × 0.12 = 60 ETH migration fee
3

Split 60/40

Creator: 36 ETH, Platform: 24 ETH
4

Send Remaining to DEX

440 ETH + 150M tokens create LP
All in one transaction. No manual steps, no delays, no trust required.

Technical Implementation

Migration Function

function migrate(address migrator)
    external
    returns (
        address poolAddress,
        string memory platformName,
        uint256 nativeLiquidityAdded,
        uint256 tokenLiquidityAdded,
        uint256 migrationFee,
        uint256 creatorFee,
        uint256 platformFee
    )
{
    // 1. Authorization check
    require(msg.sender == s_factory, "Only factory");
    require(s_bonded, "Not bonded");
    require(!s_graduated, "Already graduated");
    require(migrator != address(0), "Invalid migrator");

    // 2. Get liquidity amounts
    uint256 nativeLiquidity = s_realNativeReserves;
    tokenLiquidityAdded = 150_000_000 * 10**18;
    address tokenAddress = s_token;

    // 3. Calculate fees
    migrationFee = nativeLiquidity * 1200 / 10000;  // 12%
    creatorFee = migrationFee * 6000 / 10000;        // 60%
    platformFee = migrationFee - creatorFee;         // 40%
    nativeLiquidityAdded = nativeLiquidity - migrationFee;

    // 4. Update state
    s_graduated = true;
    s_realNativeReserves = 0;
    s_realTokenReserves = 0;
    s_virtualNativeReserves = 0;
    s_virtualTokenReserves = 0;
    s_accumulatedCreatorFees += creatorFee;

    // 5. Execute transfers
    (bool successFactory,) = s_factory.call{value: platformFee}("");
    require(successFactory, "Platform fee transfer failed");

    IERC20(tokenAddress).safeTransfer(migrator, tokenLiquidityAdded);

    // 6. Call migrator
    try IDEXMigrator(migrator).migrate{value: nativeLiquidityAdded}(
        tokenAddress,
        nativeLiquidityAdded,
        tokenLiquidityAdded
    ) returns (address _poolAddress, string memory _platformName) {
        poolAddress = _poolAddress;
        platformName = _platformName;
    } catch {
        revert("Migration failed");
    }

    // 7. Emit event
    emit TokenMigrated(
        tokenAddress,
        poolAddress,
        platformName,
        nativeLiquidityAdded,
        tokenLiquidityAdded,
        migrationFee,
        creatorFee,
        platformFee
    );
}

DEX Migrator Interface

Every DEX integrates through a standard interface:
interface IDEXMigrator {
    /**
     * @notice Migrates liquidity to a DEX
     * @param token Token address to create pool for
     * @param nativeAmount Native currency to add to pool
     * @param tokenAmount Token amount to add to pool
     * @return poolAddress Address of created liquidity pool
     * @return platformName Name of the DEX platform
     */
    function migrate(
        address token,
        uint256 nativeAmount,
        uint256 tokenAmount
    ) external payable returns (
        address poolAddress,
        string memory platformName
    );
}
contract UniswapMigrator is IDEXMigrator {
    IUniswapV2Router02 public immutable router;

    function migrate(
        address token,
        uint256 nativeAmount,
        uint256 tokenAmount
    ) external payable returns (address poolAddress, string memory platformName) {
        // 1. Approve router
        IERC20(token).approve(address(router), tokenAmount);

        // 2. Add liquidity
        (,, uint256 liquidity) = router.addLiquidityETH{value: nativeAmount}(
            token,
            tokenAmount,
            0,  // Accept any amount (migrator controls input)
            0,  // Accept any amount
            address(this),  // Receive LP tokens
            block.timestamp + 1
        );

        // 3. Get pool address
        address factory = router.factory();
        poolAddress = IUniswapV2Factory(factory).getPair(
            token,
            router.WETH()
        );

        // 4. Burn LP tokens (permanent liquidity lock)
        IERC20(poolAddress).transfer(address(0xdead), liquidity);

        platformName = "Uniswap V2";
    }
}

Who Triggers Graduation?

  • Current (Admin-Controlled)
  • Coming Soon (Creator-Controlled)
RektHub admin triggers migration when a token bonds. Creators request graduation via Telegram/support.Process:
  1. Token bonds (850M sold)
  2. Creator contacts RektHub team
  3. Chooses preferred DEX
  4. Admin triggers migration on-chain
Why admin-controlled for now?
  • Ensures smooth migrations during early platform rollout
  • Testing with real liquidity before full automation
  • Prevents user error in high-stakes transactions
Building trust first. We’re making sure migrations work flawlessly before making them fully permissionless.

Common Questions

No. The 850M requirement is hardcoded. It ensures sufficient liquidity and fair reward for community building.
You must graduate once bonded. The bonding curve stops trading at 850M sold. Your token needs DEX liquidity to remain tradeable.
Not in one migration. You choose one DEX. After graduation, anyone can create additional pools elsewhere if they want.
They remain in your bonding curve contract forever. Claim anytime with claimCreatorFees(). Graduation doesn’t affect accumulated fees.
No. LP tokens are typically burned or locked. You can’t pull liquidity. This is enforced by the DEX migrator contract.
The smart contract reverts the entire transaction. Liquidity stays in the curve, state doesn’t change, you can try again.
Yes! Your token page, community chat, and activity feeds remain active. Graduation doesn’t remove you from RektHub.
If you have a custom DEX and implement the IDEXMigrator interface, contact us. We can potentially add support.

Graduation Checklist

Before your token graduates, ensure:
1

850M Tokens Sold ✓

Automatic requirement—just wait for bonding
2

Community is Active

Engaged holders, strong social presence
3

Metadata Updated

Token image, description, socials all current
4

DEX Chosen

Decided where you want to graduate (Uniswap, PancakeSwap, etc.)
5

Fees Claimed (Optional)

Claim any trading fees you want now (or wait)
6

Understand LP Locking

LP tokens will be locked/burned—no rug pull possible
7

Ready to Celebrate 🎉

Graduation is a milestone—enjoy it with your community!

Next Steps

Ready to graduate? When your token bonds, reach out on Telegram and we’ll help you through the process.