Trading & the curve
Before a token graduates you are not trading against other people — you are trading against a formula. This page explains that formula and what it means for your entries and exits.
How the bonding curve works
Each token has its own curve holding 800,000,000 tokens. Price is set by a constant-product formula, the same shape used by automated market makers:
quoteReserve × tokenReserve = kEvery buy takes tokens out of the curve and puts USDG in, so the price goes up. Every sell does the reverse. There is no order book and no counterparty — liquidity is always available, at a price the formula decides.
Why the price does not start at zero
The curve is seeded with virtual reserves — a starting balance that exists only in the formula, not as real deposits. Without it the first buyer would get essentially the entire supply for nothing. The virtual reserves set the opening price and how quickly it climbs.
Slippage and price impact
Because price moves as your own order fills, a large buy pays progressively more for each token. That difference is price impact, and it is shown in the trade panel before you confirm.
Your slippage tolerance sets the worst price you will accept. If the market moves against you between signing and execution beyond that limit, the transaction reverts instead of filling at a bad price. You still pay gas for a reverted transaction.
Anti-snipe protection
On most launchpads, bots buy the entire first block and dump on everyone who arrives seconds later. funflip makes that unprofitable with a surcharge that decays over the first 30 seconds:
| Time after launch | Extra fee on buys |
|---|---|
| 0s | 99% |
| 15s | ~49.5% |
| 30s and after | 0% (normal fee only) |
The decay is gradual rather than a sudden cliff on purpose. An instant drop to zero would just move the race to the first block after the window and recreate the same problem one step later. A smooth decay makes every moment of waiting worth slightly more, which spreads entry out.
The surcharge is routed exactly like the normal trade fee, so it is split between the creator and the protocol rather than burned. Sniping funds the token's own ecosystem.
Graduation
When roughly 2 WETH has been raised, the curve closes permanently and all liquidity migrates to a Uniswap V4 pool in the same transaction as the final buy.
- The curve stops accepting buys and sells forever.
- All raised USDG plus the reserved 200,000,000 tokens are deposited into a new Uniswap V4 pool as a full-range position.
- The LP position NFT is transferred to a locker contract that has no withdrawal function. The principal can never be removed by anyone, including the creator or the protocol.
- Trading continues on Uniswap V4, and prediction markets resolve.
Trading after graduation
Once graduated, the token behaves like any other Uniswap token. The bonding curve is no longer involved, its price protection is gone, and the price can go anywhere the open market takes it — including well below the graduation price.
Selling
You can sell back to the curve at any time before graduation, at the formula's current price. There is always a bid, because the curve holds the USDG that previous buyers paid in.
The same trade fee applies to sells. There is no anti-snipe surcharge on selling — it only applies to buys during the opening window.
The buyer count
Each curve tracks how many unique addresses have bought directly from it. Receiving tokens in a wallet-to-wallet transfer does not count.
This matters because one prediction market resolves on it. Faking N buyers requires N real curve purchases — each one pushing the price up and paying a fee — which makes it far more expensive to manipulate than a simple holder count.
