MECHANICS / FEES

Fee schedule and caps

Two numbers matter for every fee: what the contract will never allow, and what it is currently set to. The first is a constant in the source. The second is an owner setting, which will be published when the launchpad opens.

Hard caps (constants in the source)

ConstantValueWhereWhat it bounds
MAX_CURVE_FEE_BPS1,000 bps = 10%V2 factoryThe base trade fee a launch config may charge on the curve
MAX_CREATOR_TAX_CEILING_BPS1,000 bps = 10%V2 factoryHow high the owner may raise maxCreatorTaxBps
MAX_TOTAL_TRADE_FEE_BPS2,000 bps = 20%V2 factory, curve and hookCurve fee + creator tax, and hook fee + creator tax. Checked in all three places
MAX_HOOK_FEE_BPS1,000 bps = 10%V2 hookThe ceiling on the per-swap fee in a graduated pool
MAX_PROTOCOL_FEE_SHARE_BPS5,000 bps = 50%V2 hookThe protocol's share of that fee. The protocol can never take more than half
MAX_SNIPE_TAX_START_BPS9,900 bps = 99%V2 factoryThe launch-second snipe tax, held below 100% so a taxed buy still nets something
MAX_SNIPE_TAX_SECONDS60 sV2 factoryThe snipe tax decay window
MAX_SNIPE_TAX_EXEMPTIONS32V2 factoryAddresses a creator may exempt at launch
CREATOR_FEE_RECIPIENT_TIMELOCK3 daysV2 factoryNotice before an owner-proposed creator-recipient override can execute (plus a 3-day execution window)
GRADUATION_RESCUE_DELAY7 daysV2 factoryHow long a swept launch must sit before its reserves can be released manually
MAX_PROTOCOL_FEE_SHARE50 (percent)V1 lockerThe protocol's share of collected LP fees

AGI settings (as read from the deployed contracts)

  • hookFeeBps = 1001% per swap in a graduated pool, taken by the hook. The ceiling is 10 times that, so read this as a setting, not a promise.
  • curveFeeBps = 1001% on every buy and sell on the curve. It lives in the launch config and each curve freezes it at launch, so a trade pays the same rate before and after graduation.
  • protocolFeeShareBps = 300030% of the base fee goes to the protocol wallet, 70% to the creator.
  • maxCreatorTaxBps = 200 — a creator may add up to 2% on top, paid 100% to the creator. Set after deploy; the contract's initial value is 1000 (10%), which is also its hard ceiling.
  • snipeTaxStartBps = 9900, snipeTaxSeconds = 5 — the launch-second snipe tax and its window, stored on the V2 factory. The window was set after deploy; the contract's initial value is 15 s. The curve trims the start rate so a buyer always keeps at least 1% after all fees: 98% with no creator tax, 96% at the 2% cap.
  • launchFee0.0005 ETH, paid to the protocol wallet in the launch transaction.

These are the settings intended for the AGI Launchpad, not published live values: the launchpad is not open yet. Every one of them is a starting value the owner may change afterwards, inside the ceilings above (the launch fee has no ceiling). A change only reaches launches created after it: a token keeps the terms it launched with. The values on chain take precedence over this page.

How a V2 trade is split

  • On the curve, a buy or sell pays the 1% base fee (curveFeeBps) plus the creator tax (creatorTaxBps, 0 to 2%) on its quote leg. A buy inside the snipe window pays the snipe tax as well.
  • In a graduated pool, the hook takes the same 1% (hookFeeBps) plus the same creator tax from the swap's unspecified currency, in one take from the pool manager's ledger, crediting the two cuts to separate ledgers.
  • At sweep time the base fee splits 30% to the protocol wallet and 70% to the creator (protocolFeeShareBps).
  • The creator tax goes 100% to the creator. It never enters the split.
  • The snipe tax joins the base fee and splits the same way: 30% protocol, 70% creator.
  • Every payout is credited to AgiV2FeeEscrow and waits there until its recipient claims it: the protocol wallet claims the protocol's 30%, the creator fee recipient claims the 70% plus the tax. The escrow pays the caller's own balance only; nobody can claim another's.
A fee change never reaches a token that already launched

Each curve receives the fee policy as constructor immutables, and each graduated pool is registered with the policy snapshotted at its launch. Retuning the hook governs launches from that moment on. This is also why expectedEconomics exists: it is the creator's protection in the window between reading the terms and their transaction landing.