Owner powers and trust

The owner sets the terms of future launches, can redirect a creator's fees after a 3-day notice and can release a stuck launch's reserves after 7 days. It cannot unlock liquidity, change a launched token's terms or take a balance already in the escrow.

What the V2 factory owner can do

addLaunchConfig / updateLaunchConfig
Add a launch configuration, or replace an existing one. Tokens already launched are unaffected: their terms were recorded at launch.
setPairTokenEconomics / setPairTokenApproved
Choose which ERC-20 quote assets can be used, and the phantom reserve and threshold their launches price against.
setLaunchFee, setLaunchEnabled, setWhitelistedLauncher
Change the launch fee, open or close launching to the public, and whitelist addresses that can launch while it is closed.
setMaxCreatorTaxBps
Move the ceiling for a creator's tax, up to 10%. Launched tokens keep the rate they launched with.
setSnipeTaxStartBps / setSnipeTaxSeconds
Change the snipe tax for future launches. A curve already trading keeps its terms.
setGraduationExecutor / setLaunchDeployer / setLaunchForwarder
The first two are set once; a second call reverts. The forwarder, the router trusted to name the user behind a launch-and-buy in one transaction, can be replaced at any time.
setCreatorFeeRecipient + executeCreatorFeeRecipientChange
Redirect any launch's creator fee recipient, behind a 3-day timelock and a 3-day execution window. The contract does not restrict when this can be used, and a transfer by the creator while a proposal is pending does not cancel it.
rescueCurveFees, forceSweptGraduation, rescueSweptGraduation
Recovery paths for a quote asset that stops delivering. rescueSweptGraduation releases a stuck launch's reserves to one address, no earlier than 7 days after the sweep, and only if nobody has seeded the pool by then. See Graduation.

When we use the fee-recipient override

Nothing on chain limits this power, so we limit it ourselves to two cases:

  • A creator who lost their wallet and can prove control of the launch another way: the account that announced it, the domain in the token's links or the wallet that paid the launch fee.
  • A token whose creator has gone, when the community still trading it asks for the creator's fees to go to someone present. They have to show the creator is unreachable, and we ask publicly before proposing anything, so the creator can object during the three days.

We do not use it to punish a creator, settle disputes between holders or reward anyone, and we do not charge for it. It redirects future creator payments, including fees awaiting collection and unreleased buyback tokens; balances already in the fee escrow stay with the previous recipient. The token, its pool and its locked liquidity are out of our reach.

What the hook owner can do

setHookFeeBps
Set the per-swap fee for future launches, up to MAX_HOOK_FEE_BPS = 1,000 bps (10%). It starts at 100 bps (1%).
setProtocolFeeShareBps
The protocol's share of that fee, up to half (MAX_PROTOCOL_FEE_SHARE_BPS = 5,000 bps). It starts at 3,000 bps (30%).
setProtocolFeeRecipient, setFeeSweepOperator
Set the protocol's fee recipient, and the robot that sweeps fees (see Operations).
rescuePoolFees
Pays a graduated pool's pending fees directly to the protocol and the creator, bypassing the escrow, for a pair token that can no longer be delivered there.
setFactory, setBuybackVault
One-time wiring. Reverts if called twice.
setMaxInternalPriceImpactBps
How far the hook's fee conversions may move a graduated pool's price, for future launches.
setBuybackBurnBps
A buyback setting. Launches from this site start with buyback off.

What nobody can do

Unlock liquidity, take someone else's fees, mint, pause or blacklist a launch token, upgrade a contract, change a launched token's terms or renounce the V2 contracts. Each one is explained under Design commitments.

Model V1 can be renounced

Renouncing V1's factory or locker would freeze the locker's protocol fee recipient and fee-collector whitelist for good. We do not renounce them, but the code does not prevent it.

Outside these contracts

Quote assets have their own issuers, who can pause or restrict them, and Uniswap V4 and Robinhood Chain are outside our control. The rescue paths exist for these cases.