mint.fast docs

How it works

AMM-native launches, fee flow, listing milestone, and what the owner can and cannot do.

AMM-native, not curve-then-migrate

A lot of launchpads run a custom bonding curve, then "migrate" liquidity to Uniswap when a threshold hits. mint.fast skips that.

Every coin is created with a Uniswap v4 pool already live:

  • currency0 = native ETH
  • currency1 = the coin
  • pool LP fee = 0 (the MintFastHook is the fee)
  • tick spacing = 200
  • full 1B supply locked in a single-sided range from the wide min tick up to the launch boundary

Launch price is about 1.5e-9 ETH per token, which is roughly a 1.5 ETH market cap at 1B supply. As people buy, price climbs through that locked range.

There is no on-chain graduation transaction. The word migrated in the app means the coin crossed the 18.67 ETH market-cap milestone. That status sticks once reached. Nothing moves.

Fee path

swap (buy or sell)
  → MintFastHook banks 2% of the ETH side as PoolManager claims
  → anyone calls harvest(token)
  → launchpad pulls ETH, splits by the token's snapshotted bps
       ├─ Fletcher cut → SocialFeeVault escrow keys
       ├─ LP cut → try to mint more ETH-side liquidity (else pendingEth)
       └─ protocol cut → protocolFeesAccrued
  → anyone calls sweepProtocolFees() → treasury

Default splits (50 / 25 / 25) are snapshotted per token at create. Changing defaults later only affects new coins. Live coins keep their original splits forever.

Exact-in buys charge 2% of the full ETH input, including any unfilled remainder on a partial fill. Other swap shapes charge 2% of ETH actually moved.

Fletcher beneficiaries

At create you pass up to 8 beneficiaries. Each row is one of:

kindmeaninghow they claim
1X handle (normalized)vault claim with attester EIP-712 sig
2GitHub handlesame
3Wallet addressvault claimWallet

Shares must sum to 10_000 bps.

  • Empty list at create: 100% goes to the creator wallet, and the list stays unlocked so the creator can call setBeneficiaries once.
  • Non-empty list at create: locked immediately.
  • After lock, only a fee manager can rewrite recipients (used for CTO and typo fixes). Rewrites auto-harvest to the old set first. Already-escrowed vault balances stay under the old keys.

Owner powers (complete list)

The launchpad and vault owners are operated as a 2/4 multisig. On-chain, ownership is Ownable2Step. Renounce is disabled.

Owner can:

  • pause / unpause new token creation (setCreatePaused)
  • set creationFee (hard cap 0.005 ETH), future creates only
  • set default socialSplitBps / lpSplitBps (sum ≤ 10_000), future creates only
  • set treasury
  • add / remove fee managers (setFeeManager)
  • manage vault attesters (adds are 24h timelocked)

Owner cannot:

  • freeze trading on existing coins
  • remove locked liquidity
  • change fee splits on live tokens
  • touch escrowed vault ETH (no sweep)
  • mint more token supply
  • upgrade via proxy (there are no proxies)

Read more