baselaunchCreate

Security

Each coin's 1,000,000,000 supply is minted once, and the main launcher contracts on Base are verified on Basescan and cannot be upgraded. The contracts have not been independently audited yet. An audit is part of our plan. The owner cannot mint coins, pause trading or withdraw locked liquidity. Coin and token mean the same thing here: an ERC-20 on Base.

Numbers checked on chain on 20 October 2026.

Audit status

The contracts have not been independently audited yet. An audit is part of our plan. Until then, read the contracts and the list below, and only use money you can afford to lose.

The contracts

These are the launcher contracts on Base, every one of each set, with the full address to copy and a link to Basescan, where each is verified so you can read its source. None is a proxy and none can be swapped for new code. The holder rewards factory creates a small distributor for each coin that opts in; every distributor is a clone of one fixed implementation with no owner.

A coin keeps the contracts it was launched with, so coins launched before the current set keep using the earlier one.

Coins launched on launcher 2.1.0

Launch factory0x5C154D821C565eeD0Ee575e5aA9F2fB9Ad736697
Launch router0x32E6c9C592c9082C6F6A205fc3B38FECdC1be5d5
Interface registry0x295F904Eb48862F50086b650b9a56D3B0330F800
Pool hook0x9eBcb19b5075E9e87d62141a360bC39c3F92a044
Fee escrow0x03132BD55D1c189B4e5AC0895628cAB0Beb72bfB
Buyback vault0x6d2D3263733329e2ED65D21DCC082a46ab754E92
Liquidity locker0xE6dBD6f38A883AF15698a771d2772a2728945E70
Launch deployer0xd7b14F37F68e2E468a9aACEad9e16Ab6698DAF2B
Graduation executor0x56eB01751007e982Cc01861829dDDd151E129852
Holders distributor factory0xB7464E790e2A3083FeF8a842d730a49242846ACA
Holders distributor implementation0x7cC41c9bb4c3831CfdE3E72067d1A848A5535068

Coins launched on launcher 2.0

Launch factory0x775199d61734EFde2537443eF4614717Afb6CfC2
Launch router0xfa27309d5493B287235a709dE70306969a41291A
Pool hook0x14C3c3d571b2E4383a2a67377312764c60Fba044
Fee escrow0xad62A3881aF9291CD94622Ef4BbF4BC41f782CfF
Buyback vault0x8Cd01789e9DE3C88daf8524497EbD7CA06a6495c
Liquidity locker0x0E7842CEeD8434ef250fd3014718E33C249a5791
Launch deployer0xD02d9A7C4B755FD33E8dc11d427acD9D0e6738C5
Graduation executor0x4a8443A8773d0aFF04edC60347b60DE75788FBd1
Holders distributor factory0xe161531B9296029De5f274892a4Dc4D945649224
Holders distributor implementation0xf8049DEcBE32bACD3E239Ba5Ff625FC32366a287
Who owns each launcher contract, and whether it can be upgraded
ContractVerifiedUpgradeableOwner
Launch factoryYesNoOne owner address
Launch routerYesNoNone
Interface registryYesNoNone (bound to its router once)
Pool hookYesNoOne owner address
Fee escrowYesNoNone
Buyback vaultYesNoOne owner address
Liquidity lockerYesNoOne owner address
Launch deployerYesNoNone (callable by its factory only)
Graduation executorYesNoNone (callable by its factory only)
Holders distributor factoryYesNo (clones of a single implementation whose code cannot change)One owner address
Holders distributor implementationYesNo (each coin gets a clone of this code)None

An owned contract has a single owner address and a two-step ownership transfer. Ownership cannot be renounced.

What the owner can do

Every owner-only function and every key the owner appoints is listed here with its limit. Settings marked as new launches only are copied into each coin when it is created, so coins already launched keep their terms.

Everything the contract owner and appointed keys can do
FunctionWhoWhat it doesLimit
addLaunchConfig
BaseLaunchFactory.sol
OwnerAdds a launch configuration: supply, curve trading fee, virtual reserve, graduation target and pool tick spacing.Curve fee at most 10%, and the curve must quote a small buy. New launches only: every launch snapshots it at creation, so coins already launched keep their terms.
updateLaunchConfig
BaseLaunchFactory.sol
OwnerReplaces or disables an existing launch configuration.Same checks as adding one. New launches only: every launch snapshots it at creation, so coins already launched keep their terms.
setLaunchFee
BaseLaunchFactory.sol
OwnerSets the fixed fee paid in ETH to create a coin.No cap in the contract. Paid once at creation, so it never touches a coin already launched.
setLaunchEnabled
BaseLaunchFactory.sol
OwnerOpens or closes coin creation to the public.Gates creating new coins only. Buying, selling, graduation and fee claims keep working.
setWhitelistedLauncher
BaseLaunchFactory.sol
OwnerLets a named address create coins while public creation is closed.Gates creating new coins only.
setPairTokenEconomics
BaseLaunchFactory.sol
OwnerSets the virtual reserve and graduation target for an ERC-20 pair asset (for example USDC).The asset must have at least 6 decimals and the curve must quote a small buy. New launches only: every launch snapshots it at creation, so coins already launched keep their terms.
setPairTokenApproved
BaseLaunchFactory.sol
OwnerApproves or removes an ERC-20 pair asset for new coins.Approval needs a deployed token with economics set and matching decimals. Removing one only stops new coins on that pair.
setMaxCreatorTaxBps
BaseLaunchFactory.sol
OwnerSets the highest creator fee a creator may choose.Hard ceiling of 10% in the contract. Each coin keeps the creator fee it launched with.
setSnipeTaxStartBps
BaseLaunchFactory.sol
OwnerSets the launch tax that buys pay at the start of the launch tax window.Zero (off), or above 20% and at most 99%. New launches only: every launch snapshots it at creation, so coins already launched keep their terms.
setSnipeTaxSeconds
BaseLaunchFactory.sol
OwnerSets how long the launch tax takes to decay to zero.Between 1 and 60 seconds. New launches only: every launch snapshots it at creation, so coins already launched keep their terms.
setGraduationExecutor
BaseLaunchFactory.sol
OwnerWires the helper that seeds graduated pools.Can be set once; reverts once set.
setLaunchDeployer
BaseLaunchFactory.sol
OwnerWires the helper that deploys each coin and its curve.Can be set once; reverts once set.
setLaunchForwarder
BaseLaunchFactory.sol
OwnerSets the router trusted to name the account a launch is made for (creator record, default creator fee recipient, launch tax exemption).Rotatable at any time. Affects coins created through it from then on, not coins already launched.
setBuybackEnabled
BaseLaunchFactory.sol
Owner (disable only) or the coin's creator fee recipientTurns a coin's buyback-and-lock off. Only the creator fee recipient can turn it on.Applies to fees charged from then on; fees already charged keep their split.
setCreatorFeeRecipient
BaseLaunchFactory.sol
OwnerProposes a new creator fee recipient for any coin, also redirecting its buyback vest. Meant for creators who lose their wallet, but not limited to that case.Executable only after a 3-day timelock, by anyone, within the following 3 days. A transfer by the creator during the wait does not cancel it. Announced on chain when proposed.
cancelCreatorFeeRecipientChange
BaseLaunchFactory.sol
OwnerCancels a pending creator fee recipient override.Only cancels; moves nothing.
forceSweptGraduation
BaseLaunchFactory.sol
OwnerMoves a finished curve's reserves into the factory when the pool seed check refuses them, so the delayed rescue can return them.Only for a curve that has reached its target and whose pool seed is not viable; reverts while anyone could graduate it normally.
rescueCurveFees
BaseLaunchFactory.sol
OwnerPays a curve's pending fees straight to the protocol recipient, the launch interface and the creator recipient when the fee escrow path stops working.Pays the normal split to the normal recipients; nothing goes to the owner, and the interface share is kept.
rescueSweptGraduation
BaseLaunchFactory.sol
OwnerSends a swept launch's reserves (pair asset and coins) to an address the owner names, for off-chain distribution.Only for a launch stuck between curve and pool: 7 days after the sweep if the pool seed is refused, 30 days if it still looks seedable. Seeding stays open to anyone whenever the seed is valid.
setFactory
BaseLaunchHook.sol
OwnerWires the hook to the factory.Can be set once; reverts once set.
setBuybackVault
BaseLaunchHook.sol
OwnerWires the hook to the buyback vault.Can be set once; reverts once set.
setProtocolFeeShareBps
BaseLaunchHook.sol
OwnerSets the protocol share of the base fee (30% by default).Between 20% and 50%. New launches only: every launch snapshots it at creation, so coins already launched keep their terms.
setBuybackBurnBps
BaseLaunchHook.sol
OwnerSets how much of the creator part of the base fee goes to buyback-and-lock when a coin has it on (50% by default).At most 100%. New launches only: every launch snapshots it at creation, so coins already launched keep their terms.
setHookFeeBps
BaseLaunchHook.sol
OwnerSets the trading fee of the Uniswap pool a coin graduates into (1% by default).At most 10%, and at most 20% together with the creator fee. New launches only: every launch snapshots it at creation, so coins already launched keep their terms.
setMaxInternalPriceImpactBps
BaseLaunchHook.sol
OwnerSets the price impact cap for the fee conversion and buyback swaps (3% by default).Above 0% and below 100%. New launches only: every launch snapshots it at creation, so coins already launched keep their terms.
setProtocolFeeRecipient
BaseLaunchHook.sol
OwnerMoves the address the protocol share is paid to, for every coin, existing and future.Moves only the protocol share; creator, interface and referrer shares are unaffected.
setFeeSweepOperator
BaseLaunchHook.sol
OwnerAppoints the operator key that runs fee conversions and buybacks, with minimum outputs, for every coin.Each swap is capped by the coin's own price impact limit. The operator cannot change any share or recipient.
sweepPoolFees
BaseLaunchHook.sol
Fee sweep operator, or the coin's creator fee recipient when no swap is neededConverts and pays out a graduated pool's pending fees, choosing the minimum outputs and running the buyback.Pays the coin's fixed split to its recipients; swaps are capped by the coin's price impact limit.
rescuePoolFees
BaseLaunchHook.sol
OwnerPays a graduated pool's pending fees straight to the protocol recipient, the launch interface and the creator recipient when the normal sweep cannot deliver.Pays the normal split to the normal recipients; nothing goes to the owner, and the interface share is kept.
sweepFees
BaseLaunchBondingCurve.sol
Fee sweep operator, or the coin's creator fee recipient when no swap is neededPays out a curve's pending fees and runs the buyback.Pays the coin's fixed split to its recipients; the buyback is capped by the coin's price impact limit.
setFactory
BaseLaunchBuybackVault.sol
OwnerWires the buyback vault to the factory.Can be set once; reverts once set.
setFactory
BaseLaunchLocker.sol
OwnerWires the liquidity locker to the factory.Can be set once; reverts once set.
setPublisher
BaseLaunchHoldersDistributorFactory.sol
OwnerAppoints the publisher key for every holder rewards distributor.Rotatable at any time. Ownership cannot be renounced.
publish
BaseLaunchHoldersDistributor.sol
Publisher keyPosts a holder reward epoch: decides which accounts get how much of the distributor's unallocated balance. A dishonest publisher could allocate it to any account.Cannot exceed the unallocated balance and cannot touch an epoch already published and still claimable (90 days).
setRouter
BaseLaunchInterfaceRegistry.sol
Registry deployerBinds the router allowed to record each coin's launch interface.Can be set once; the registry has no owner.

What the owner cannot do

  • Mint coins. The whole supply of 1,000,000,000 is minted once, to the curve, when the coin is created, and the coin has no mint function and no owner.
  • Pause trading. Buying and selling on the curve and in the pool have no owner switch. Closing coin creation only stops new coins.
  • Withdraw locked liquidity. The locker has no withdraw function, and its only owner function is one-time wiring.
  • Change a launched coin's fee rates. Every term is fixed when the coin is created. The owner can move the protocol payout address, turn a coin's buyback off, and redirect its creator fee recipient after the 3-day notice.
  • Take claimable fees. The fee escrow pays a balance only to the address it was credited to, and has no owner or rescue path.
  • Touch launch interface or trade referrer shares. The interface registry has no owner, and the owner's fee rescue paths pay the normal split to the normal recipients.
  • Change a holder rewards distributor's code or recover its funds.

One exception to read twice: if a finished curve gets stuck before its pool is created, the owner can move its reserves to an address the owner names, but only 7 days after the sweep when the pool seed is refused, or 30 days when it still looks seedable. Anyone can seed the pool whenever the seed is valid.

What happens to liquidity at graduation

When a coin graduates, 204,081,633 coins and the ETH raised seed a full-range Uniswap v4 position, and the remaining 81,632,653 coins are locked. The position is held by the liquidity locker above. The locker has no function that withdraws it, so nobody, including the creator and baselaunch, can take the liquidity out. How graduation works

Why scanners may show unknown before graduation

Before a coin graduates, its coins sit in its bonding curve and not in a Uniswap pool. Tools that look for a pool or a locked position, such as DEX scanners and honeypot checkers, have nothing to read yet and may show the coin as unknown or unchecked. That says the tool has no data. It is not a verdict on the coin either way.

How to check a coin yourself

  1. Copy the contract addressOpen the coin page on baselaunch and copy the address from the page.
  2. Open it on BasescanThe total supply should be 1,000,000,000. Before graduation, the curve holds whatever has not been bought yet. At graduation, about 71.4% is in holders' wallets, about 20.4% sits in the Uniswap pool and about 8.2% is locked.
  3. Check the creating transactionThe transaction that created the coin should be a call to the launch router or launch factory in the lists above.
  4. Read the coin pageThe creator fee, the launch tax and the graduation target are shown there. All costs are on fees.

Report a vulnerability

Send a short note on X or Telegram and we will move the details to a private chat. Please do not post exploit details publicly. Our contact details are also in security.txt.

We never DM you or ask for a seed phrase. If someone claiming to be baselaunch does, it is not us.

Common questions

Is there an audit?

The contracts have not been independently audited yet. An audit is part of our plan.

Can the owner take my funds?

Mostly not, with two exceptions. Nothing in the list above moves a coin's trading reserves while it trades, withdraws the liquidity locked at graduation, or takes fees already credited to you. First, if a finished curve gets stuck before its pool exists (a stuck graduation), the owner can send its reserves to an address the owner names, but only 7 days after the sweep when the pool seed is refused, or 30 days when it still looks seedable. Second, the owner can redirect a coin's creator fee recipient after a 3-day public notice, which also redirects its future creator payouts.

Can the contracts be upgraded?

No. None of the launcher contracts is a proxy and none has an upgrade function, so the code at each address above is the code that runs.

Where do I report a vulnerability?

Message baselaunch on X or Telegram with a short note and we will move the details to a private chat. Please do not post exploit details publicly. We never DM you or ask for a seed phrase.

See also fees and risks.

Meme coins are highly speculative and most lose their value. Nothing here is financial advice.

Last updated