SynthHook on Robinhood Chain

Uniswap v4 Hook Contract 0xdbebc6a7b2a38197932b6e01fb0e57e71d726aec on Robinhood Chain · Launchpad · Verified contract

Volume (24h)
$0
Value locked (TVL)
$142
All-time volume
$182.10K
Pools using this hook
225
Swaps (24h)
0 (0 traders)
Total swaps
63,421

What it does

A launchpad hook that charges a fixed 1% ETH fee on swaps, restricts pre-graduation trading to synth wallets, and locks liquidity until the coin's position reaches 4.2 ETH.

How it works step by step

  • Gates swaps to SynthWallet addresses until the coin's ETH principal reaches 4.2 ETH, then opens trading to everyone.
  • Charges a flat 1% fee on every swap, taken in ETH as ERC-6909 claims and accumulated per coin.
  • Routes accumulated fees on collectFees: 80% to the coin's wallet as earnings, 10% to an ops wallet, 10% to a buyback treasury.
  • Locks liquidity by reverting beforeRemoveLiquidity and beforeDonate, and only allows the factory to add liquidity.
  • Restricts pool initialization and liquidity addition to the factory and position manager.
Swap behaviour
beforeSwap enforces exact-input-only, gates swaps to synth wallets until graduation, and takes 1% of ETH-in on buys via a return delta; afterSwap takes 1% of ETH-out on sells and emits Swapped events and triggers opening trading once the threshold is met.
Liquidity behaviour
beforeAddLiquidity only allows the position manager when it is called on behalf of the factory; beforeRemoveLiquidity and beforeDonate always revert with Locked, so liquidity is effectively locked once the initial single-sided position is seeded by the locker.
Fee behaviour
Pool key fee is 0; a fixed 1% (100 bps) ETH fee is taken on each swap via beforeSwap (zeroForOne buys of ETH-in) or afterSwap (ETH-out sells), minted as ERC-6909 claims and accumulated per token. collectFees pays out the accumulated ETH split by walletFeeBps (default 80%) to the coin's SynthWallet as earnings, opsFeeBps (10%) to opsWallet and the remainder (10%) to buybackTreasury.
Owner & admin controls
ADMIN address (hardcoded 0xE32C...60) can call setOpsWallet, setBuybackTreasury and setFeeSplit (split must sum to 10000 bps); no pause, no upgrade proxy, no way to change the hook's permissions or fee rate constants.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeDonate, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: restricts pool creation to the factory. beforeAddLiquidity: restricts liquidity addition to factory-initiated positions. beforeRemoveLiquidity and beforeDonate: always revert, locking liquidity. beforeSwap: enforces exact-input-only, gates non-graduated coins to synth wallets, and takes the 1% fee via a return delta. afterSwap: takes the 1% fee on ETH-out swaps via a return delta, emits swap events and opens trading once the position holds 4.2 ETH.

Security & trust assessment

Risk level: medium (verified source, high confidence).

Who controls it: The ADMIN key can redirect the ops and buyback recipients and reshape the fee split between wallet, ops and treasury at any time, but cannot change the 1% fee rate, pause trading, or remove the lock on liquidity. Fee recipients are otherwise hardcoded.

Risk to user funds: The hook holds ETH fees until collectFees is called and holds the pool's ETH via the position manager; it cannot withdraw the locked liquidity. Pre-graduation, the wallet gate limits who can buy, and the admin can change where fees are routed but not the fee rate.

Security findings

  • [medium] Pre-graduation swap gate: Before graduation (4.2 ETH in the position) swaps are restricted to synth wallets, so ordinary users cannot trade a new coin until it opens.
  • [medium] Admin-controlled fee routing: ADMIN can set any ops or buyback address and any split summing to 10000 bps, so it controls where accumulated trading fees are routed.
  • [low] Hook holds and moves ETH via return deltas: The hook takes ETH through return deltas and holds accumulated fees as claims, and collectFees calls unlock with ETH payouts to the wallet, ops and treasury addresses.
  • [info] Liquidity is locked by design: Liquidity removal and donations are permanently disabled by reverting hooks, so the seeded position cannot be withdrawn through the hook.
  • [info] Non-upgradeable immutable hook: The hook is not upgradeable; hook permissions and fee constants are compile-time values.

Contract details

Verified source
Yes (SynthHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
9,206 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee, launchpad, moves-currency, return-delta, self-unlock

Pools using SynthHook