PvpV4Hook on Robinhood Chain

Uniswap v4 Hook Contract 0xcf82a68c87ae94e3434219f6bb4151051b692a80 on Robinhood Chain · Access control · Verified contract

Volume (24h)
$981
Value locked (TVL)
$56.86K
All-time volume
$1.17M
Pools using this hook
1
Swaps (24h)
3 (3 traders)
Total swaps
3,469

What it does

A launch-window gate for the single PVP/USDG v4 pool that restricts liquidity changes and buys to the locker and launch router until a fixed time, after which the pool behaves as a normal open pool.

How it works step by step

  • Pins the hook to exactly one pool: sorted PVP/USDG, 1% fee, tick spacing 200, initialized only by the liquidity locker
  • Restricts liquidity adds to the locker before openAt
  • Permanently locks the locker's liquidity position against removal
  • Blocks all liquidity removals before openAt and allows them freely after
  • Allows PVP buys only through the launch router before openAt, with a transient flag authorizing the settlement transfer
  • Lets zero-delta pokes through at all times so fees can be collected
Swap behaviour
Before openAt, buys of PVP are allowed only when the swap is initiated by the launch router, and the hook sets a transient flag so the PVP transfer can settle. Sells of PVP are open to anyone. After openAt, swaps are unrestricted.
Liquidity behaviour
Before the launch window ends, liquidity can be added only by the liquidity locker, and only the locker's position is locked forever against removal. Zero-delta pokes are always allowed so fee collection works. After openAt, other LPs can add and remove freely.
Fee behaviour
Uses the pool's static fee of 1% (POOL_FEE = 10000), tick spacing 200. The hook takes no fees and returns zero delta.
Owner & admin controls
Only the Safe authority can call startLaunch on the PVP token (once, no arguments); the hook itself has no owner, pause, upgrade or parameter setters. Authority transfer on PVP is two-step. The hook's only privileged path is clearTransferAuthorization, callable solely by the launch router.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap

beforeInitialize restricts pool creation to one pool with a fixed key initialized by the locker. beforeAddLiquidity gates adds to the locker before openAt. beforeRemoveLiquidity blocks locker removals forever and all removals before openAt. beforeSwap blocks router-less PVP buys before openAt and sets a transient transfer-authorization flag for router buys.

Security & trust assessment

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

Who controls it: There is no admin key on the hook. The Safe controls only startLaunch on the token and its own authority transfer. Once launched, the timing is fixed in code and no key can re-restrict trading.

Risk to user funds: The hook holds no tokens and takes no deltas, so it cannot custody or seize user or pool funds. It can block swaps or liquidity adds and removes according to fixed rules until openAt, and it refuses all non-router buys in that window. Funds are otherwise governed by the PVP token and PoolManager.

Security findings

  • [info] Router-gated buys before openAt: During the launch window PVP buys must go through the launch router, and the hook sets a transient flag that lets the PoolManager transfer PVP for that buy until the router clears it. Non-router buyers are blocked by design.
  • [low] Transient authorization flag scope: The hook sets a transient storage flag in beforeSwap that PVP reads to authorize PoolManager transfers. If the router failed to clear it, it would persist only until transaction end, and the design explicitly avoids any window where third-party code runs with the flag up.
  • [info] Permanently locked locker position: The locker's liquidity position can never be removed. This is a deliberate lock, but it means the 5B PVP pool leg and seed USDG are permanently illiquid to the locker.
  • [info] Hookless pool funding blocked: Before openAt, PVP transfers touching the PoolManager are allowed only when the hook flag is set, which prevents hookless pools from being funded during the window.

Contract details

Verified source
Yes (PvpV4Hook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
4,575 bytes
Upgradeable proxy
No

Pools using PvpV4Hook