RampHook on Base

Uniswap v4 Hook Contract 0x63e0ff2e9c38db24c56a075b69653d99c412c880 on Base · Launchpad · Verified contract

Volume (24h)
$0
Value locked (TVL)
$13
All-time volume
$7.82K
Pools using this hook
42
Swaps (24h)
0 (0 traders)
Total swaps
310

What it does

A RampPad bonding-curve launch hook that gates liquidity to the platform and charges an owner-adjustable swap fee, with a higher anti-snipe fee for the first 15 minutes after launch.

How it works step by step

  • Uses dynamic-fee override so the PoolManager applies a platform fee on every swap.
  • Charges a snipe tax (default 15%) for 15 minutes after the first liquidity add.
  • Records the launch timestamp for each pool on first beforeAddLiquidity.
  • Restricts liquidity additions to the owner and approved callers.
  • Allows the owner to set per-pool fee overrides and the global fee, capped at 20%.
  • Implements no return-delta logic, so the hook does not take tokens from swaps.
Swap behaviour
beforeSwap returns the effective fee (snipe tax, per-pool override, or global fee, capped at 20%) as an override LP fee; the hook makes no balance changes.
Liquidity behaviour
On beforeAddLiquidity only the owner and approved callers may add liquidity; external LPs revert. The first liquidity add records the pool launch timestamp. No hook logic runs on removal.
Fee behaviour
Fee is returned per swap from beforeSwap as a dynamic override: effectiveFeeBps is snipeTaxBps (default 15%) during the snipe window after the first liquidity add, otherwise a per-pool override if set, otherwise global feeBps. The fee is applied by the PoolManager as LP fee; it is not taken as a separate hook delta.
Owner & admin controls
Owner (Ownable) can set the global feeBps, the snipe tax and window, per-pool fee overrides, and the approved LP caller list; owner can transfer or renounce ownership. All fees are capped at 20% (MAX_FEE_BPS = 2000). No pause or upgrade mechanism found.

Enabled Uniswap v4 callbacks

beforeAddLiquidity, beforeSwap

beforeAddLiquidity: restricts liquidity additions to owner/approved callers and records launch time. beforeSwap: returns the effective fee as an override fee so aggregators can quote it. All other callbacks are stubs that revert with HookNotImplemented and are not enabled.

Security & trust assessment

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

Who controls it: The owner can raise fees up to 20% at any time, set a 20% snipe tax for any window length, override fees on individual pools, and grant or revoke LP access. The owner cannot exceed 20% fee and cannot block swaps directly, but can make trading costly up to that cap.

Risk to user funds: The hook does not hold tokens and does not modify balance deltas; user funds are held by the PoolManager and the factory LP position. The owner can impose fees up to 20% on swaps and can gate who adds liquidity, but cannot directly seize or freeze funds.

Security findings

  • [medium] Owner can change swap fees instantly: setFeeBps, setSnipeTax and setPoolFee are instantly effective and onlyOwner, with a 20% hard cap enforced by require.
  • [medium] Liquidity provision is permissioned: Only owner and approved callers can add liquidity; external LP attempts revert with ExternalLPForbidden, so the pool is effectively controlled by the platform.
  • [low] Single-owner key with no timelock: The hook is an OpenZeppelin Ownable contract with no timelock, multisig requirement or pause, so a single key controls fee parameters.
  • [info] No return-delta or token custody by the hook: Hook address encodes only BEFORE_ADD_LIQUIDITY and BEFORE_SWAP and validateHookPermissions is run in the constructor, so the hook cannot take or redirect deltas.

Contract details

Verified source
Yes (RampHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
3,382 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee, launchpad, ownable, tax

Pools using RampHook