SniperFeeHook on Robinhood Chain

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

Volume (24h)
$1.62K
Value locked (TVL)
$36
All-time volume
$7.53K
Pools using this hook
20
Swaps (24h)
17 (8 traders)
Total swaps
113

What it does

Charges an 80% fee on early trades that decays to 1% over up to five minutes after a token launch, splitting it between the creator and the platform to deter sniper bots.

How it works step by step

  • Opens a launched pool at zero LP fee and charges a separate hook-level sniper fee on every swap.
  • Decays the fee linearly from 80% to a 1% floor over a schedule set once at launch, capped at 300 seconds.
  • Splits every collected fee 75% to the creator payee and 25% to the platform treasury.
  • Restricts pool initialization to the V4 launch adapter and prevents a second pool from using the same token.
  • Lets a guardian permanently switch off charging for one pool or for all pools.
Swap behaviour
beforeSwap charges the fee on exact-input buys and exact-output sells, and afterSwap charges it on exact-input sells and exact-output buys, each in the quote currency; the fee is taken via hook delta and booked as claims, and partial fills revert.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Charges a decaying sniper fee of up to 80% in the quote currency, falling linearly to a 1% floor over a creator-chosen window of at most 300 seconds, then 1% forever. The pool LP fee is zero; the fee is taken from the swap via hook deltas and booked as claims. Of each fee, 75% is pending for the creator's payee and 25% for the platform treasury, paid out by distribute().
Owner & admin controls
Admin (set once at deployment) can only call setTokenFactory, which is one-time. The tokenFactory can configure pools once (write-once schedules). LaunchConfig's guardian can call failOpen per pool or failOpenAll, which permanently disables the sniper fee charge (one-way, can only remove fees). No upgradeability, no pausing of swaps, no parameter changes after launch. The guardian is read dynamically from the factory's launchConfig.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize restricts pool creation on this hook to the V4 launch adapter and blocks a second pool on the same token. beforeSwap and afterSwap charge the sniper fee on the specified or unspecified quote side respectively and return the fee as a hook delta. beforeSwapReturnDelta and afterSwapReturnDelta are enabled so the hook can take a cut of swap amounts.

Security & trust assessment

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

Who controls it: The guardian can permanently disable fee charging on any pool or on all pools, which only benefits traders. The admin can only set the token factory once. The token factory can configure schedules only once per pool and cannot change the duration after launch. There is no owner key able to raise fees, block swaps, or drain funds.

Risk to user funds: The hook takes the sniper fee from swap amounts via hook deltas and holds the resulting claims on the PoolManager until distribute() is called. It cannot freely withdraw user liquidity, and the swap path cannot be blocked except by a PoolManager-level failure. Funds are paid only to the creator payee and platform treasury addresses read from the factory.

Security findings

  • [info] Fee accounting via PoolManager claims: Fees are claimed as ERC-6909 mints on the PoolManager and redeemed by distribute(), which burns and takes the quote token; a failed transfer re-books the amount rather than reverting.
  • [low] Payee addresses resolved dynamically from factory: distribute() reads the payee addresses from the factory and launch config. If those addresses are misconfigured, payouts route to the wrong recipient, though a zero or self address is rejected.
  • [info] Guardian can permanently disable the fee: The sniper fee is charged to traders in the first seconds of a launch; a guardian with the launch config role can disable it at any time, and the schedule cannot be modified after configuration.
  • [medium] High fee exposure for early traders: The hook takes up to 80% of a swap amount in the quote currency during the sniper window, so users buying shortly after launch can lose most of the trade value.

Contract details

Verified source
Yes (SniperFeeHook)
Compiler
solc 0.8.24+commit.e11b9ed9
Bytecode size
8,558 bytes
Upgradeable proxy
No
Detected patterns
launchpad, mev-protection, moves-currency, return-delta, self-unlock

Pools using SniperFeeHook