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
Create
Name, symbol, image and links. The name gets “ by Fuci”.
- 2
Deploy
The launchpad deploys the token and its own hook with CREATE2.
- 3
Pool
All 1B tokens go into a new TOKEN/FUCI pool at ~$2,500 market cap. Liquidity stays locked.
- 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
| Fee | Rate | Applies to | Goes to |
|---|---|---|---|
| LP fee | 1% | Every buy and sell, in the input token | Burned via collectAndBurn(token) |
| Snipe tax | 100% → 0 over 60 s | Buys only, first 60 seconds | Fuci treasury, in $FUCI |
| FUCI/USDC hop | ~2% (1% tax + 1% LP fee) | Buying or selling from USDC | 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()andsellTaxBps(), 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
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
Launchpad (factory)
Creates tokens, hooks and pools; holds all liquidity
$FUCI
Quote asset for every launch
USDC
Arc's native USDC
PoolManager
Uniswap v4
StateView
Uniswap v4 pool reads
V4 Quoter
Quotes, hooks included
Universal Router
Swaps (V4_SWAP)
Permit2
Router approvals
Treasury
Receives the snipe tax
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.
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):
Selling is the same path reversed. $FUCI holders can trade the TOKEN/FUCI pool directly. Each pool takes its own fee.
pool id : 0x32eb7fd4d2e852606254b356a3d2b8043617cdc947dd4ac2b18589551e0effcf hooks : 0x77644EA553384346F0bC56Ea74BF3b09c3CC20cC (Argus) fee : 0x800000 (dynamic) tickSpacing : 200
Events for indexers
Emitted by the launchpad on every launch:
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.