LaunchFeeHook on Robinhood Chain

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

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

What it does

Fresh pools on this launchpad charge a steeply decaying launch fee on non-launchpad swaps in standard mode, or restrict buys to pre-registered identities with a per-identity cap in fair mode, while sells and the launchpad's own swaps pay the normal 1% fee.

How it works step by step

  • Holds launch-protection parameters as immutables (start fee, standard window, fair window, fair per-identity limit) and has no owner, pause or setter.
  • Standard mode: for a window after opening, non-launchpad swaps pay a fee that falls linearly from startFee to the 1% base fee; the launchpad's own swaps pay the base fee.
  • Fair mode: for fairWindow seconds after opening, buys (zeroForOne) by non-launchpad senders revert unless the signing wallet's identity was registered before the pool opened, and each identity's cumulative buys are capped at fairLimit tracked in boughtBy.
  • Fair pools always pay the 1% base fee; sells are never restricted.
  • beforeInitialize only accepts pool opening from the launchpad with the dynamic-fee flag and records the opening timestamp.
  • Returns the fee with the v4 override flag from beforeSwap, and tracks per-identity purchase totals in afterSwap using the swap delta; it never takes or moves currency.
Swap behaviour
Standard pool: during the window, each swap not from the launchpad pays a linearly decaying fee from startFee down to 1%, so earlier swaps pay more and swaps after the window pay 1%; the launchpad's own swaps pay 1% throughout. Fair pool: within the fair window, buys (zeroForOne) from wallets without a pre-opening identity revert, and buys past an identity's fairLimit revert; sells and the launchpad's own swap are open to all and pay 1%.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Dynamic LP fee overridden in beforeSwap: standard pools use a linearly decaying launch fee from startFee to 1% over the window (1% thereafter); fair pools always use 1%. The fee is an ordinary LP fee that accrues to the position and is split by the launchpad.
Owner & admin controls
No owner, pause, upgrade or parameter setter found. The launchpad address can call markFair to flag a pool as fair before opening it. All other parameters are immutable.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap

beforeInitialize records each pool's opening time and enforces launchpad-only, dynamic-fee-only pool creation. beforeSwap sets the per-swap LP fee override and, in fair windows, gates buyers by registered identity. afterSwap accumulates per-identity bought amounts for fair pools and enforces the fair limit.

Security & trust assessment

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

Who controls it: The contract has no owner key; the launchpad can only mark pools fair before opening them, and the registry's verifier set is outside this contract's control surface.

Risk to user funds: The hook never touches currency and returns zero deltas, so it cannot hold, move or seize pool or user funds; it can only revert swaps and set the fee override.

Security findings

  • [info] No privileged admin or upgrade path: Parameters are immutable and there is no owner, pause or proxy in the decoded surface; the only privileged caller is the launchpad, which can mark pools fair before opening them.
  • [medium] Fair limit is per identity, not per person: The per-identity cap can be bypassed by registering several identities before the opening, each costing a registration; the contract's own documentation acknowledges this.
  • [low] Buyer identity taken from tx.origin: Eligibility and limits key on tx.origin, so contract wallets cannot buy in a fair window and the rule depends on the signer; this is a design choice rather than a vulnerability, but it excludes smart-contract buyers.
  • [info] Fair window can block buyers: During a fair window, buys from ineligible wallets revert by design, which can prevent purchases for wallets that did not register before opening.

Contract details

Verified source
Yes (LaunchFeeHook)
Compiler
solc 0.8.28+commit.7893614a
Bytecode size
4,822 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee, launchpad

Pools using LaunchFeeHook