跳到主要内容

MonoPump

MonoPump is a bonding curve token launchpad that enables anyone to create and launch ERC-20 tokens along a mathematically-defined price curve. When a token reaches its graduation threshold, liquidity automatically migrates to MonoSwap (the DEX), creating a permanent trading pair.

How It Works

The lifecycle of a MonoPump token follows three phases:

Phase 1: LAUNCH             Phase 2: BONDING CURVE           Phase 3: GRADUATION
+------------------+ +------------------------+ +-------------------+
| Creator calls | | Users buy/sell tokens | | Threshold reached |
| launch() or | -----> | along the price curve | ----> | Liquidity migrates|
| launchAdvanced() | | Price rises with supply| | to MonoSwap DEX |
+------------------+ +------------------------+ +-------------------+
Price = p0 + k * supply LP tokens burned
2% buy fee 1.5% graduation fee
20%->0% sell tax (7d decay) Token trades freely

Key Parameters

ParameterDefault ValueDescription
Total Supply1,000,000,000 (1B)Fixed supply per token launch
Graduation Threshold10 LYTHNative LYTH raised to trigger graduation
Initial Price (p0)0.000001 LYTHStarting price per token
Curve Coefficient (k)1e6Price growth rate per token sold
Buy Fee2% (200 bps)Platform fee on purchases
Sell Tax (initial)20% (2000 bps)Decaying sell tax at launch
Sell Tax Decay Period7 daysTime for sell tax to reach 0%
Graduation Fee1.5% (150 bps)Fee on raised LYTH at graduation
Min Graduation Threshold0.1 LYTHPrevents dust exploits
Min Price Floor1e12 weiPrevents underflow attacks

Launch Tiers

MonoPump supports four launch tiers with increasing feature sets:

TierFeaturesHow to Qualify
BasicName and symbol onlyCall launch(name, symbol)
StandardFull metadata (logo, description, socials)Provide image URI or website URL
PremiumMetadata + anti-whale protection + creator vestingEnable anti-whale configs or vesting
VerifiedEverything + KYC verification (optional)Set externally by platform

Basic Launch

The simplest launch creates a PumpToken with no extra features:

// Creates a Basic tier token
function launch(string calldata name, string calldata symbol)
external returns (address token);

The entire 1B token supply is minted to the MonoPump contract. Tokens are sold to buyers along the bonding curve and cannot be directly claimed by the creator.

Advanced Launch

The advanced launch creates a PumpTokenV2 with optional metadata, anti-whale protection, and creator vesting:

function launchAdvanced(
string calldata name,
string calldata symbol,
TokenMetadata calldata metadata, // Description, logo, socials
AntiWhaleConfig calldata antiWhale, // Max wallet, max tx, cooldown
VestingConfig calldata vesting // Creator allocation with lock
) external payable returns (address token);

Bonding Curve Mathematics

MonoPump uses a linear bonding curve where the token price increases linearly with the number of tokens sold:

price(supply) = initialPrice + (curveCoefficient * supply) / 1e18

With the default configuration:

price(0)         = 0.000001 LYTH     (first token)
price(100M) = 0.100001 LYTH (100M tokens sold)
price(500M) = 0.500001 LYTH (500M tokens sold)

Buy Calculation

When a user sends LYTH to buy tokens, the contract integrates the curve to determine how many tokens they receive. For a linear curve, this involves solving a quadratic equation:

Given:
s0 = current supply sold
C = LYTH amount (after fee)
p0 = initial price
k = curve coefficient

Cost to buy t tokens: C = p0 * t + k * t * (2 * s0 + t) / (2 * 1e18)

Solving for t (tokens out):
b = 2 * (1e18 * p0 + k * s0)
discriminant = b^2 + 8 * 1e18 * k * C
t = (sqrt(discriminant) - b) / (2 * k)

This integration ensures that large buys are priced accurately -- the buyer pays the area under the curve, not just the spot price.

Sell Calculation

Selling tokens returns the integral of the price curve over the tokens being sold:

Given:
s0 = current supply sold
t = tokens being sold

Return = p0 * t / 1e18 + k * t * (s0 + s0 - t) / (2 * 1e36)

The sell return is the area under the curve between the new supply and the current supply.

Fees

Buy Fee

A 2% (200 basis points) platform fee is deducted from every purchase before calculating tokens out:

User sends 1 LYTH to buy tokens:
Fee = 1 LYTH * 2% = 0.02 LYTH
Net = 0.98 LYTH (used to calculate tokens)

If a referral contract is configured, the fee is sent to the Referral contract. The referrer receives 5% of the fee (configurable up to 10%), and the remainder goes to the FeeCollector. Without a referral contract, the entire fee goes to the FeeCollector.

Decaying Sell Tax

A sell tax starts at 20% (2000 bps) at launch and decays linearly to 0% over 7 days:

sell_tax(t) = decayTaxBps * (decayDuration - elapsed) / decayDuration

Day 0: 20.0% tax
Day 1: 17.1% tax
Day 2: 14.3% tax
Day 3: 11.4% tax
Day 4: 8.6% tax
Day 5: 5.7% tax
Day 6: 2.9% tax
Day 7+: 0.0% tax

The sell tax discourages immediate dumping after launch and incentivizes longer holding.

Graduation Fee

When a token graduates to MonoSwap, 1.5% (150 bps) of the total raised LYTH is sent to the FeeCollector. The remaining 98.5% is used to create the initial liquidity pool.

Anti-Whale Protection

Advanced launches (launchAdvanced) can configure anti-whale limits via PumpTokenV2:

SettingRangeDescription
maxWalletBps0-10000 (0=disabled)Maximum % of supply any single wallet can hold
maxTxBps0-10000 (0=disabled)Maximum % of supply per transaction
cooldownSeconds0+ (0=disabled)Minimum seconds between buys for the same wallet
enabledPostGraduationtrue/falseWhether limits continue after DEX listing

Example: Setting maxWalletBps to 200 limits each wallet to 2% of the total 1B supply (20M tokens). Setting cooldownSeconds to 60 requires a 1-minute wait between purchases.

The MonoPump contract itself (as launcher) is always exempt from these limits. After graduation, the creator can configure DEX pair addresses as exempt.

Flash Loan Protection

MonoPump includes per-block transaction tracking. A user cannot buy and sell in the same block:

if (block.number == lastTxBlock[msg.sender]) revert FlashLoanDetected();

This prevents atomic arbitrage via flash loans.

Creator Vesting

Advanced launches can optionally lock a creator allocation behind a vesting schedule via the CreatorVesting contract:

ParameterConstraintDescription
creatorAllocationBpsMax 1000 (10%)Percentage of total supply allocated to creator
cliffDaysMin 30 daysNo tokens released before cliff
vestingDaysMin 180 daysLinear vesting duration after cliff

The maximum vesting duration is 4 years (1460 days).

Vesting Schedule

Tokens Vested
^
100%| ___________
| /
| /
| / Linear vesting
| / (180+ days)
0%|_________________________/
| Cliff |
+-------(30+ days)-------+----(vesting)-----> Time

After the cliff period, tokens vest linearly. The creator can call claim() at any time to withdraw vested tokens. Tokens with active vesting schedules display a trust badge in the MonoHub UI.

Graduation

When a token's total raised LYTH reaches the graduation threshold (default: 10 LYTH), the _graduate() function triggers automatically at the end of the next buy transaction:

Graduation Process

  1. Calculate amounts: All raised LYTH and remaining token balance in the contract
  2. Deduct graduation fee: 1.5% of raised LYTH goes to FeeCollector
  3. Approve router: MonoPump approves MonoRouter to spend the remaining tokens
  4. Add liquidity: Calls MonoRouter.addLiquidityLYTH() with 1% slippage tolerance
  5. Burn LP tokens: LP tokens are sent to 0x...dEaD (dead address), permanently locking liquidity
  6. Mark graduated: info.graduated = true prevents further bonding curve trades
  7. Emit event: Graduated(token, pair, liquidity) for indexer tracking
Graduation Flow:
MonoPump -----> FeeCollector (1.5% fee)
|
+---------> MonoRouter.addLiquidityLYTH()
|
+---> MonoFactory.createPair()
+---> MonoPair.mint() --> LP tokens to 0x...dEaD

After graduation, the token trades freely on MonoSwap like any other pair. The burned LP tokens ensure the initial liquidity can never be withdrawn (rug-proof).

PumpToken vs PumpTokenV2

FeaturePumpToken (Basic)PumpTokenV2 (Advanced)
ERC-20 standardYesYes
Fixed supply (1B)YesYes
Anti-whale limitsNoYes (maxWallet, maxTx, cooldown)
Post-graduation limitsNoOptional
Creator fieldNoYes (creator address)
Launcher controlNoYes (exempt addresses, remove limits)

Both token types are standard ERC-20 and behave identically once graduated (unless enabledPostGraduation is set on V2).

Token Metadata

Advanced launches store on-chain metadata accessible to the indexer and frontend:

FieldMax LengthDescription
description500 charsToken description
imageUriUnlimitedIPFS or HTTP URL for token logo
websiteUrlUnlimitedProject website
twitterUrlUnlimitedTwitter/X profile
telegramUrlUnlimitedTelegram group
discordUrlUnlimitedDiscord server

The token creator can update metadata at any time via updateMetadata().

How to Launch a Token

Step 1: Connect Wallet

Connect an EVM wallet (MetaMask, etc.) to MonoHub and switch to a supported chain.

Step 2: Navigate to Token Builder

Go to the Token Builder page at /token-builder.

Step 3: Configure Your Token

  • Name: The token's display name (e.g., "My Token")
  • Symbol: The trading ticker (e.g., "MTK")
  • Description (optional): Up to 500 characters describing the project
  • Logo (optional): Upload an image or provide an IPFS/HTTP URL
  • Social links (optional): Website, Twitter, Telegram, Discord
  • Anti-whale settings (optional): Max wallet %, max transaction %, buy cooldown
  • Creator vesting (optional): Allocation %, cliff period, vesting duration

Step 4: Launch

Submit the transaction. For Basic launches, only gas fees apply. For Advanced launches, the transaction includes all configuration data on-chain.

Step 5: Share and Grow

Once launched, your token appears on the Pump Screener and Token Markets pages. Share the token page URL to attract buyers. As people buy along the bonding curve, the price increases and the token progresses toward graduation.

Step 6: Graduation

When the graduation threshold is reached, liquidity migrates automatically to MonoSwap. No action is required from the creator. The token is now freely tradable on the DEX with permanent, locked liquidity.

Contract Constants

ConstantValueDescription
MAX_TOKEN_SUPPLY1,000,000,000 (1B)Fixed supply for all launches
MAX_FEE_BPS1000 (10%)Maximum allowed platform fee
MAX_DECAY_TAX_BPS3000 (30%)Maximum allowed initial sell tax
MIN_GRADUATION_THRESHOLD0.1 LYTHMinimum graduation threshold
MAX_DECAY_DURATION30 daysMaximum sell tax decay period
MIN_PRICE1e12 weiMinimum price floor
DEAD_ADDRESS0x...dEaDLP burn address for graduation