Fuci Launch docs

Tokens paired with $FUCI, on Arc.

Fuci Launch creates a token on Arc Mainnet (chain id 5042) in one transaction, each in its own Uniswap v4 pool paired with $FUCI. Everything below is on-chain and fixed at deployment; the contracts are verified on the explorer.

Supply
1,000,000,000
Opening market cap
~$2,500
Trading fee
1%, burned
Liquidity
Locked forever
Snipe tax
100% → 0 in 60 s
Bonds at
~10× opening
First buy
≥ $5 USDC
Team allocation
None

How a launch works

  1. 1

    Create

    Name, symbol, image and links. The name gets “ by Fuci”.

  2. 2

    Deploy

    The launchpad deploys the token and its own hook with CREATE2.

  3. 3

    Pool

    All 1B tokens go into a new TOKEN/FUCI pool at ~$2,500 market cap. Liquidity stays locked.

  4. 4

    First buy

    Your USDC is swapped to $FUCI, then into your token, in the same transaction.

Ready? Create a token.

Fees & snipe tax

  • LP fee

    1%

    Applies to

    Every buy and sell, in the input token

    Goes to

    Burned via collectAndBurn(token)

  • Snipe tax

    100% → 0 over 60 s

    Applies to

    Buys only, first 60 seconds

    Goes to

    Fuci treasury, in $FUCI

  • FUCI/USDC hop

    ~2% (1% tax + 1% LP fee)

    Applies to

    Buying or selling from USDC

    Goes to

    Tax mostly to $FUCI holders, in USDC

  • The snipe tax falls linearly: at 30 s it is 50%, at 60 s it is gone. Sells never pay it.
  • During the snipe window, exact-output buys revert; buy with an exact input.
  • The creator's first buy, inside the launch transaction, is exempt.
  • Live values: the hook's buyTaxBps() and sellTaxBps(), in basis points, including the 1% fee.

Token

  • Standard ERC-20, 18 decimals, fixed supply of 1,000,000,000. No mint, no owner, no pause, no blacklist, no transfer tax.
  • Every name ends in “ by Fuci” (at most 32 bytes in total).
  • The whole supply goes into the pool. The creator gets tokens only through the first buy.

Pool & bonding

pool key
currency0 / currency1 : the token and $FUCI, sorted by address
fee                   : 0x800000 (dynamic; the hook sets the LP fee per swap)
tickSpacing           : 200
hooks                 : the launch's own hook; its address ends in the 0x20C8 flag bits
                        (beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnsDelta)
  • Opens at about $2,500 fully diluted market cap, priced from the live FUCI/USDC pool.
  • Liquidity is single-sided (token only) and held by the launchpad, which has no function to remove it.
  • A launch is bonded once its price reaches about 10× the opening price (23,000 ticks). The hook's bonded() view latches true.

Contracts

launch() reference

launch(LaunchParams) on the launchpad deploys the token and its hook, initialises the pool, adds the liquidity and makes the creator's first buy, in one transaction. Approve firstBuyUsdc of USDC to the launchpad first.

solidity
struct LaunchParams {
  string  name;          // " by Fuci" is appended
  string  symbol;
  string  imageURI;
  string  website;
  string  twitter;
  string  telegram;
  bytes32 tokenSalt;     // token salt = keccak256(abi.encode(msg.sender, tokenSalt))
  bytes32 hookSalt;      // mined so the hook address has the 0x20C8 flag bits
  uint256 firstBuyUsdc;  // at least 5 USDC (6 decimals)
  uint256 minTokensOut;
}

Helper views on the launchpad:

predictToken(creator, name, symbol, tokenSalt)hookInitCodeHash(token)predictHook(token, hookSalt)openingTick()launchCount()allTokens(i)launches(token)

Trading & routing

Buying from USDC is two hops in one Universal Router call (V4_SWAP, SWAP_EXACT_IN):

USDC→FUCI/USDC pool→$FUCI→TOKEN/FUCI pool→TOKEN

Selling is the same path reversed. $FUCI holders can trade the TOKEN/FUCI pool directly. Each pool takes its own fee.

FUCI/USDC pool
pool id     : 0x32eb7fd4d2e852606254b356a3d2b8043617cdc947dd4ac2b18589551e0effcf
hooks       : 0x77644EA553384346F0bC56Ea74BF3b09c3CC20cC (Argus)
fee         : 0x800000 (dynamic)
tickSpacing : 200

Events for indexers

Emitted by the launchpad on every launch:

solidity
event TokenCreated(
  address indexed token, address indexed creator,
  string name, string symbol, bytes32 poolId,
  string imageURI, string website, string twitter, string telegram
);

event FuciLaunch(
  address indexed token, address indexed creator,
  address hook, address quoteAsset, bytes32 poolId,
  int24 tickStart, int24 tickBond,
  uint256 firstBuyUsdc, uint256 firstBuyFuci, uint256 firstBuyTokens
);

launches(token) returns (hook, splitter, locker, positionId, tickStart, tickBond, creator, quoteAsset, poolId, launchedAt). The splitter is unused (fees are burned). Swaps are standard PoolManager Swap events for the pool id; the hook also emits SnipeTax.

FAQ

Do I need $FUCI to launch?+

No. Pay the first buy in USDC; it is swapped through $FUCI for you in the launch transaction.

Can the liquidity be pulled?+

No. The launchpad holds every launch's liquidity and has no function to remove it.

Why does buying cost a little more than 1%?+

A USDC buy crosses two pools: FUCI/USDC (about 2%: a 1% tax that mostly pays $FUCI holders, plus its 1% LP fee) and TOKEN/FUCI (1% fee, burned), plus price impact. Holding $FUCI and trading TOKEN/FUCI directly skips the first hop.

Where does my token's image live?+

Images uploaded on Create are stored by Fuci and served from launch.fuci.family; the URL is saved on-chain in TokenCreated.

Are the contracts verified?+

Yes. The launchpad is verified on the Arc explorer. Launches made on this site have their token and hook submitted to Sourcify automatically.