SynthHookV2 on Robinhood Chain
Uniswap v4 Hook Contract 0x980879a75e09662d923c99ff74bd119ac29c6aec on Robinhood Chain · Launchpad · Verified contract
- Volume (24h)
- $23.69K
- Value locked (TVL)
- $6.43K
- All-time volume
- $412.93K
- Pools using this hook
- 50
- Swaps (24h)
- 2,126 (194 traders)
- Total swaps
- 30,124
What it does
Launchpad hook for single-sided ETH/token launches that gates trading to synth wallets until a coin's ETH threshold or time window is met, then opens trading to everyone while charging a 1% ETH fee on swaps.
How it works step by step
- Snapshots the admin's graduation threshold and open window onto each coin at registration, then opens trading when the ETH principal in the position reaches the threshold or the time window elapses.
- Restricts pool initialization and liquidity addition to the launch factory and position manager.
- Locks liquidity by reverting all beforeRemoveLiquidity and beforeDonate calls.
- Gates swaps so only synth wallets can trade before opening; afterwards anyone can trade.
- Takes a 1% ETH fee on each swap through return deltas and accrues it per coin.
- Collect fees splits accrued ETH between the synth wallet (80% by default), ops wallet (10%) and buyback treasury (10%).
- Swap behaviour
- Before a coin opens, only synth wallet operators can swap. After opening, anyone can swap. Only exact-input swaps are allowed. Each swap takes a 1% fee in ETH: sells via beforeSwap and buys via afterSwap, with fees accrued to the coin for later collection.
- Liquidity behaviour
- Liquidity can only be added by the position manager when the call originates from the factory; beforeRemoveLiquidity and beforeDonate always revert with Locked, so the single-sided launch position cannot be withdrawn through the pool. Principal is reported via principal() using the current price.
- Fee behaviour
- Swaps selling the token into ETH (zeroForOne) take a 1% fee (100 bps) in ETH via beforeSwap; buys (after-swap ETH input side) take a 1% fee via afterSwap as an unspecified-currency delta. Fees accrue per coin and are minted to the hook as ETH claims. collectFees splits accrued ETH by default 80% to the synth wallet (creditFee), 10% to the ops wallet and 10% to the buyback treasury; the split is admin-adjustable but must total 10000 bps.
- Owner & admin controls
- ADMIN address (fixed constant) can set graduationThreshold, openWindow, opsWallet, buybackTreasury and the fee split (wallet, ops, treasury bps summing to 10000). No pause, no upgrade proxy, and no way to change the hook's permission flags. Admin cannot withdraw pool funds directly; fees are paid only through collectFees to the configured addresses. Admin changes apply to coins registered afterward, since each coin freezes threshold and opensAt at register.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeDonate, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: restricts pool initialization to the factory. beforeAddLiquidity: restricts liquidity addition to the factory via the position manager. beforeRemoveLiquidity and beforeDonate: always revert, locking liquidity. beforeSwap: gates trading until the coin opens (wallet-only before open), enforces exact-input, and takes the 1% sell fee via a return delta. afterSwap: takes the 1% buy fee via an unspecified delta and emits Swapped and TradingOpened logic. beforeSwapReturnDelta and afterSwapReturnDelta: enabled so the hook can take fees in ETH.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: The fixed ADMIN key can change fee split and recipient addresses (ops wallet and buyback treasury), so future fees could be redirected to addresses it controls, and it can change the graduation threshold and open window for future launches. It cannot change fees rates, pause trading, or move funds already in the position. The EXECUTOR key controls each synth wallet's operator and trading, and the launcher controls deposits and earnings withdrawals.
Risk to user funds: The hook holds ETH fee claims and transiently holds funds during unlock callbacks; it does not hold the pool's principal liquidity in a withdrawable form. Admin changes can redirect the fee split recipients, and the executor/operator can spend synth wallet deposits and earnings. Ordinary traders can't have funds blocked by a pause, since no pause exists.
Security findings
- [medium] Admin-controlled fee recipients and split: The admin can change opsWallet, buybackTreasury and the wallet/ops/treasury fee split at any time. Fee recipients are redirectable without a timelock, so the admin could direct the 20% ops and buyback share, though the 80% wallet share is only credited to the synth wallet.
- [low] Trading gate restricts non-wallet traders before open: beforeSwap blocks non-wallet senders until the coin opens, and the admin cannot change an already-registered coin's threshold or opensAt, so the gating is fixed per coin. Opening is also controlled by the snapshotted ETH principal reaching threshold or time passing.
- [info] Liquidity permanently locked: Liquidity removal and donations are permanently blocked by hook reverts, so the launch position is locked by design. Users cannot exit the pool liquidity directly; this is intentional but means no LP exit path exists.
- [medium] Synth wallet custody and operator spend power: Hook takes fees in ETH via return deltas and mints claims to itself; wallet earnings and deposits are held in SynthWallet with launcher-controlled withdrawals and an operator that can spend deposits and earnings. Users trading through a synth wallet rely on the operator and executor key.
Contract details
- Verified source
- Yes (SynthHookV2)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 10,136 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, launchpad, moves-currency, return-delta, self-unlock
Pools using SynthHookV2
- ETH / WHALE (0.00% fee) — 24h volume $7.89K, TVL $2.71K, 783 swaps today
- ETH / RDRSTR (0.00% fee) — 24h volume $6.91K, TVL $1.01K, 602 swaps today
- ETH / GATEG (0.00% fee) — 24h volume $2.83K, TVL $141, 315 swaps today
- ETH / SYNCat (0.00% fee) — 24h volume $2.74K, TVL $1.98K, 65 swaps today
- ETH / MOTHMAN (0.00% fee) — 24h volume $1.10K, TVL $111, 145 swaps today
- ETH / GRONAUT (0.00% fee) — 24h volume $865, TVL $71, 74 swaps today
- ETH / SAGBR (0.00% fee) — 24h volume $287, TVL $3.42, 22 swaps today
- ETH / RRIDE (0.00% fee) — 24h volume $282, TVL $3.16, 20 swaps today
- ETH / QTMOTH (0.00% fee) — 24h volume $279, TVL $0, 28 swaps today
- ETH / ROADSTER (0.00% fee) — 24h volume $246, TVL $39, 27 swaps today
- ETH / FLYCAR (0.00% fee) — 24h volume $105, TVL $99, 9 swaps today
- ETH / JAW (0.00% fee) — 24h volume $88, TVL $15, 20 swaps today
- ETH / RDCOMET (0.00% fee) — 24h volume $44, TVL $3.14, 8 swaps today
- ETH / TESLAF (0.00% fee) — 24h volume $9.80, TVL $0.06, 3 swaps today
- ETH / CLUCK (0.00% fee) — 24h volume $7.23, TVL $38, 3 swaps today
- ETH / MERLION (0.00% fee) — 24h volume $6.18, TVL $42, 1 swaps today
- ETH / NOBID (0.00% fee) — 24h volume $1.66, TVL $8.79, 1 swaps today
- ETH / FRIENDS (0.00% fee) — 24h volume $0, TVL $0.26, 0 swaps today
- ETH / BSCALP (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / DWARF (0.00% fee) — 24h volume $0, TVL $0.28, 0 swaps today