FlowHook on Robinhood Chain

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

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

What it does

Every non-Meter swap pays a flat 1.8% fee on its ETH side, all of which goes to the coin's creator, while the pool's own fee is zero and the fee applies equally to buys and sells.

How it works step by step

  • Shared hook for all Flowgate home pools; registers a pool only when the Launchpad opens it (beforeInitialize, one per coin, canonical key with ETH as currency0, fee 0, spacing 1)
  • Takes a flat 1.8% fee on every swap's ETH side and books it to the coin's basin via ERC-6909 mint so it stays backed inside the PoolManager
  • Tracks cumulative ETH bought and sold per coin in afterSwap, plus a peak net figure, which the Meter reads to decide how much stock may be sold
  • Exempts the Meter's own swaps from the fee and from ledger counting, keyed to an address fixed at construction
  • Lets only the coin's creator draw down that coin's basin, burning the ERC-6909 claim and taking ETH to the creator via unlock callback
  • Answers no liquidity, donate or initialize-after callbacks; they revert with NotWired
Swap behaviour
Swaps where ETH is the specified side pay the fee before the pool runs (buy exact-in: fee taken from ETH sent; sell exact-out: pool is asked for grossed-up ETH). Swaps naming the coin amount pay the fee after the swap from the ETH actually moved. Each non-Meter swap updates the bought/sold ledger. Meter swaps pay no fee and are not counted. Fee is the same for buys and sells, 1.8% of the ETH side; no direction is favoured by the fee itself.
Liquidity behaviour
No liquidity callbacks. beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity all revert with NotWired. The floor position is seated by the Launchpad outside this hook, per the source comments.
Fee behaviour
Flat 1.8% (FEE_BPS 180) of each swap's ETH side, computed with ceiling rounding and booked entirely to the coin's creator basin. The pool's own static fee is 0. Meter swaps are exempt.
Owner & admin controls
No owner, no setter, no pause and no upgrade path found in the source; the hook is not a proxy. The only privileged-looking path is the creator's drawdown of its own coin's basin. Launchpad and Meter addresses are immutable constructor inputs.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize registers and validates the coin's home pool; beforeSwap takes the ETH-specified-side fee via return delta and exempts the Meter; afterSwap books the coin-specified-side fee via return delta and updates the flow ledger; beforeSwapReturnDelta and afterSwapReturnDelta let the hook take the 1.8% fee as a delta.

Security & trust assessment

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

Who controls it: No privileged key is defined in the hook; there is no owner to change fees, pause swaps or move funds. The only authority is the creator's ability to draw down their own basin.

Risk to user funds: The hook holds only ERC-6909 claims backing fee basins inside the PoolManager and cannot move LP or trader principal; trades can revert on unexpected amounts (OddAmount, Unfilled) but no path lets the hook block or seize funds.

Security findings

  • [info] Hook takes fees via return deltas: beforeSwap and afterSwap return a fee delta equal to 1.8% of the ETH side, so every non-Meter swap pays the fee to the hook's basin for the creator.
  • [info] Creator-only drawdown: drawdown checks msg.sender against the coin's creator and the basin balance, then unlocks the PoolManager and takes ETH to the creator; funds cannot be redirected by anyone else.
  • [info] Meter exemption fixed at deployment: The Meter address is an immutable constructor argument, so the fee and ledger exemption cannot be changed later; a wrong address at deployment would be permanent but the source states the address is precomputed.
  • [low] Ledger depends on Meter behaviour: The Meter's stock sales are excluded from the sold ledger by sender address; the sizing of stock sales relies on that Meter contract, which is not included in the provided source.

Contract details

Verified source
Yes (FlowHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
7,223 bytes
Upgradeable proxy
No
Detected patterns
erc6909-claims, launchpad, moves-currency, return-delta, self-unlock

Pools using FlowHook