# strink.fun > Zero-fee token launchpad on Arc (5042). One transaction deploys a token and locks 100% of its supply as > Uniswap v4 liquidity, forever. No platform fee: the factory and locker have no fee address at all. ## What a launch does 1. deploys a fixed-supply ERC-20 (1,000,000,000; no mint/pause/blacklist/tax/owner) 2. initializes a Uniswap v4 pool quote/token (quote = Arc's native USDC; tick spacing 200, no hook) at the chosen start tick 3. mints one single-sided position holding 100% of supply to an ownerless locker (no withdraw path exists) 4. registers fee routing: lpFee 0 | 10000 (1%) | 30000 (3%) pips; recipients [] = fees burned, else {payout,bps}[] summing to 10000. Fixed forever. Anyone may call locker.collect(tokenId): accrued fees are paid straight to recipients (or burned). ## Contracts Arc (5042): LaunchFactory 0xeE1F77D140318C2dB19b5bD14b52FC753A40A9f2 · LaunchLocker 0x627f870B61fC99b8aa5d3eAF5ae3252946E20928 Quote: Arc's native USDC (18 dec), address zero. ## Launch (contract call) factory.launch((name, symbol, metadataURI, quote, supply=0, startTick, lpFee, salt, recipients)) startTick ~391400 ≈ $10k FDV for 1B supply (raw price = 1.0001^tick token-wei per quote unit; quote is a $1 stable). Optional metadata: POST https://strink.fun/api/launch/meta {chain, launcher, salt, name, symbol, description?, image_url?, website?, x_handle?} → {uri, token}; pass uri as metadataURI. Recommended: buy a little right after launch (a Universal Router swap on the new pool; the site's form suggests ≈ $25). A token with no holder and no price move reads as dead on screeners and sits under "quiet launches" on the home page until an outside wallet trades it. ## API - GET https://strink.fun/api/launch/list?chain=arc&sort=live|new|mcap|volume|gainers|holders&window=1h|24h|all&limit=50 sort=live (the home page default; "trending" is an alias): tokens an outside wallet traded in the last 24h first, ranked by outside wallets this hour, then today, then the last outside trade; then each launcher's newest launch under 1h old; then quiet launches, one row per launcher; both by age. "Outside" = not the launcher and not a swap in the sniper window (launch block + 3; a sell there can only be a sniper's). Rows carry traders_1h_ex / traders_24h_ex (those counts), last_outside_trade_at, live_tier (live|new|quiet, live sort only) and launcher_collapsed. - GET https://strink.fun/api/launch/feed - GET https://strink.fun/api/launch/meta/ - POST https://strink.fun/api/launch/sync?chain=arc&tx=0x… (index a tx you just sent) - GET https://strink.fun/api/health Pages: / (list), /launch, /t/arc/ (trade + fees), /rules, /agents.