MewpadHook on Robinhood Chain

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

Volume (24h)
$839
Value locked (TVL)
$3.71
All-time volume
$839
Pools using this hook
1
Swaps (24h)
11 (5 traders)
Total swaps
11

What it does

Traders pay a fee of 25% on swaps right after launch that falls to 1% over two minutes, and the factory's own launch buy pays the 1% rate, while only the Mewpad factory can add liquidity to these pools.

How it works step by step

  • Records the initialization timestamp of each pool when the Mewpad factory initializes it, and rejects pool initialization from any other sender.
  • Restricts liquidity additions to the Mewpad factory, so outside positions cannot enter the pool just in time to capture launch-period fees.
  • Overrides the swap fee on every swap: it starts at 25% and falls linearly to 1% over 120 seconds after launch, then stays at 1%.
  • Lets the factory's own launch-transaction buy pay the 1% base fee by passing a flag in hookData, which is honored only when the factory is the swapper.
  • Has no owner, no setter and no upgrade path; the fee schedule constants are fixed at deployment.
  • Does not implement afterSwap, afterAddLiquidity or any other callbacks; those revert with HookNotImplemented if called.
Swap behaviour
Every swap pays a dynamic fee overridden by the hook: during the first 120 seconds after the pool's launch the fee falls linearly from 25% to 1%, and from 120 seconds onward it is a flat 1%. Swaps by the factory carrying hookData set to true pay the flat 1% base fee at any time. Swap deltas are not modified (no return delta permissions).
Liquidity behaviour
Only the Mewpad factory can add liquidity to hooked pools; any other sender's add-liquidity call reverts with NotFactory. Removing liquidity is not restricted and has no hook logic.
Fee behaviour
The hook overrides the LP fee on each swap using currentFee(poolId), a linear decay from START_FEE (250000, 25%) to BASE_FEE (10000, 1%) over PROTECTION_SECONDS (120). The factory launch buy is set to BASE_FEE. Fees are not shared or redirected by the hook itself; the fee-share purpose described in the code comments is implemented elsewhere in the factory.
Owner & admin controls
No admin controls found. There is no owner, pause, parameter setter or upgrade mechanism; the factory and pool manager addresses are set once in the constructor as immutables.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap

beforeInitialize: records the launch timestamp for the pool and enforces that only the factory initializes it. beforeAddLiquidity: enforces that only the factory adds liquidity. beforeSwap: returns the time-decaying or base fee override with the OVERRIDE_FEE flag, and grants the factory's launch buy the base fee.

Security & trust assessment

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

Who controls it: No owner or admin key exists in the hook. Centralization sits with the factory address, which alone can initialize pools' liquidity and whose address is fixed at deployment; the hook itself has no upgrade or pause path.

Risk to user funds: The hook takes no tokens and modifies no deltas (no return delta permissions), so it does not hold or move user funds directly. It can block swaps only indirectly, by reverting on invalid callers; swap and remove-liquidity flows for ordinary users are not blocked by the hook.

Security findings

  • [medium] Factory-controlled liquidity: beforeAddLiquidity reverts for any sender other than the immutable factory, so liquidity can only enter through the factory's contracts. If the factory is buggy or its operator misbehaves, LPs cannot be added by anyone else, though existing liquidity can still be removed.
  • [low] Launch-buy fee bypass via hookData: beforeSwap grants the base fee when sender equals the factory and hookData decodes to true. Because the check requires the factory as the swapper, arbitrary users cannot exploit it, but any factory code path that forwards caller-supplied hookData would expose this discount.
  • [info] Fee decay is time-based, not price-based: The 25% starting fee applies to all non-factory swaps in the first two minutes regardless of trade size or direction, so early buyers and sellers both pay the decaying premium.
  • [info] Fixed fee schedule with no owner: Fee parameters are constants and no privileged key can change them, which removes admin fee-manipulation risk but also means fees cannot be adjusted after deployment.

Contract details

Verified source
Yes (MewpadHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
2,211 bytes
Upgradeable proxy
No
Detected patterns
launchpad

Pools using MewpadHook