MintFastHook on Robinhood Chain
Uniswap v4 Hook Contract 0x84eb4fec37aada0b75defec56117aa70b76e20cc on Robinhood Chain · Fee sharing · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $6.41K
- All-time volume
- $3.19M
- Pools using this hook
- 84
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 21,291
What it does
Charges a fixed 2% fee in ETH on every swap of a launchpad token pool, in both directions, and accrues it for the launchpad to harvest and split.
How it works step by step
- Charges a fixed 2% fee in native ETH on every launchpad pool swap, buys and sells alike.
- Places the fee via beforeSwap when ETH is the specified currency and via afterSwap when ETH is the unspecified currency.
- Banks each fee as a native-ETH ERC-6909 claim on the PoolManager and adds it to the token's pendingFees balance.
- Lets only the launchpad call collect(), which burns the claims and sends the ETH to the launchpad for the 50/25/25 split.
- Restricts beforeInitialize so only the launchpad can initialize pools that use this hook, blocking same-block front-running.
- Swap behaviour
- On each swap, if ETH is the specified currency (exact-in buys, exact-out sells) beforeSwap returns a positive specified delta equal to 2% of the amount; if ETH is the unspecified currency (exact-in sells, exact-out buys) afterSwap returns a positive unspecified delta equal to 2% of the ETH moved. Non-ETH-pair or zero-fee cases pass through unchanged.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Charges a fixed 2% (FEE_BPS 200 of BPS 10000) on the ETH side of every launchpad swap, in both directions. The pool's own LP fee is 0. Fees are banked as native-ETH ERC-6909 claims on the PoolManager and accrued per token in pendingFees; the launchpad later pulls them via collect() and applies its split. For exact-in buys the fee is 2% of the full input, so a partial fill still pays on the unfilled remainder.
- Owner & admin controls
- No admin controls found. Constructor-set immutables only (poolManager, launchpad); no owner, pause, upgrade or parameter setter. Only the launchpad can call collect() and initialize pools that use this hook.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: restricts pool initialization to the launchpad contract. beforeSwap: takes the 2% fee as a positive specified delta when ETH is the specified currency. afterSwap: takes the 2% fee as a positive unspecified delta when ETH is the unspecified currency, sized on the ETH actually moved. beforeSwapReturnDelta and afterSwapReturnDelta: allow those callbacks to return the fee deltas that charge the swapper.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: No privileged owner key exists in the hook. The launchpad is the sole privileged party: it alone can call collect() and initialize pools, and it is immutable. Its own admin and upgrade status is outside this contract and not assessed here.
Risk to user funds: The hook can take up to 2% of ETH value on each swap through return deltas and holds the resulting fees as ERC-6909 claims on the PoolManager until the launchpad calls collect(). It cannot block swaps, change pool liquidity, or withdraw funds to any address other than the launchpad.
Security findings
- [info] Fixed, non-adjustable fee: The fee is a constant 2% with no setter, so it cannot be raised or lowered after deployment.
- [info] Fee accrual via ERC-6909 claims: Fees are minted as ERC-6909 claims and backed by the PoolManager balance, and collect() burns them to pay the launchpad. The hook never custodies raw ETH itself.
- [info] Restricted pool initialization: beforeInitialize only accepts calls from the launchpad, which blocks front-runners from pre-initializing predicted PoolKeys that point at this hook.
- [low] Fee charged on unfilled input: For exact-input buys the fee is charged on the full input, including any unfilled remainder when the locked range is exhausted. Users may pay more than 2% of the ETH actually swapped in that case.
- [low] Hook moves swap value via return deltas: The hook takes tokens via return deltas in beforeSwap and afterSwap and holds accrued fee claims on the PoolManager until collect() is called. Users' swap funds are only moved by the fee amount, but a failure in collect() would leave fees pending.
Contract details
- Verified source
- Yes (MintFastHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 2,865 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad, moves-currency, return-delta, self-unlock
Pools using MintFastHook
- ETH / LEAN (0.00% fee) — 24h volume $0, TVL $2.36K, 0 swaps today
- ETH / MINT (0.00% fee) — 24h volume $0, TVL $1.44K, 0 swaps today
- ETH / NUMMUS (0.00% fee) — 24h volume $0, TVL $1.53K, 0 swaps today
- ETH / SPEED (0.00% fee) — 24h volume $0, TVL $382, 0 swaps today
- ETH / CatWifMint (0.00% fee) — 24h volume $0, TVL $192, 0 swaps today
- ETH / ZYN (0.00% fee) — 24h volume $0, TVL $80, 0 swaps today
- ETH / LEAN (0.00% fee) — 24h volume $0, TVL $132, 0 swaps today
- ETH / Sonic (0.00% fee) — 24h volume $0, TVL $23, 0 swaps today
- ETH / dog (0.00% fee) — 24h volume $0, TVL $31, 0 swaps today
- ETH / MSZN (0.00% fee) — 24h volume $0, TVL $30, 0 swaps today
- ETH / FAST (0.00% fee) — 24h volume $0, TVL $24, 0 swaps today
- ETH / MINT (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / VLAD (0.00% fee) — 24h volume $0, TVL $19, 0 swaps today
- ETH / Mint (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / feline (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / PENNEY (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / MYATA (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / Speed (0.00% fee) — 24h volume $0, TVL $17, 0 swaps today
- ETH / LEO (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / MINT (0.00% fee) — 24h volume $0, TVL $2.73, 0 swaps today