DaosWorldLaunchHook on Robinhood Chain

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

Volume (24h)
$30.78K
Value locked (TVL)
$98.32K
All-time volume
$2.28M
Pools using this hook
7
Swaps (24h)
222 (157 traders)
Total swaps
12,628

What it does

A shared launch hook that charges a time-decaying ETH tax on every buy and sell of registered daos.world token pools, sending the tax to a per-token fee recipient.

How it works step by step

  • Lets the owner register a token with a start tax, end tax, decay duration and fee recipient before its pool exists
  • Locks launch time in beforeInitialize so the tax decays from pool creation
  • Charges a linearly decaying ETH tax on buys from the ETH input and on sells from the ETH output
  • Forwards tax ETH to the recipient with a 50k gas cap, holding it in heldFees if the transfer fails
  • Allows anyone to sweep held fees to the current recipient
  • Rejects pools that are not the registered official pool and rejects exact-output swaps
Swap behaviour
Buys: tax is skimmed from the ETH input in beforeSwap (taken via return delta). Sells: tax is taken from the ETH output in afterSwap (via return delta). Exact-output swaps revert with ExactOutputNotAllowed. Only the registered official pool (fee 0, tick spacing 60, ETH as currency0) is accepted.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Dynamic tax in ETH that decays linearly from startFeeBips to endFeeBips over decayDuration seconds from pool creation; capped at 90% start and 10% end; LP fee is fixed at 0. Buys are taxed from the ETH input in beforeSwap, sells from the ETH output in afterSwap. Tax is forwarded to the launch's feeRecipient with a 50k gas cap, otherwise held for sweep.
Owner & admin controls
Owner (Ownable2Step) can register launches before pool creation and re-register them until the pool exists, set each launch's fee recipient at any time, and transfer or renounce ownership. Launch rates are locked once a pool is initialized. No pause or upgrade mechanism found.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize records the launch time and locks the pool start; beforeSwap takes the buy tax via a before-swap return delta and rejects exact-output swaps; afterSwap takes the sell tax via an after-swap return delta and forwards collected ETH to the fee recipient.

Security & trust assessment

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

Who controls it: The owner can set any registered token's fee recipient to any address, redirecting future tax ETH, and can re-register unlaunched tokens with different rates. Owner cannot change rates after pool creation or pause swaps.

Risk to user funds: The hook takes ETH from swaps through return deltas and holds it briefly or on failed forwards. Traders can lose up to the decaying tax on each swap, bounded by 90% at launch. Token balances are not held by the hook. The owner cannot seize pool liquidity, but can redirect future tax receipts.

Security findings

  • [medium] Owner can redirect tax revenue: setFeeRecipient lets the owner redirect all future tax ETH for any launch to an arbitrary address with no timelock.
  • [low] Pre-launch parameters are owner-mutable: Before a pool is created the owner can overwrite launch parameters, including raising the start fee up to the 90% cap, though the pool then locks in whatever value is set.
  • [info] Failed forwards are held, not reverted: Tax ETH is taken via poolManager.take and forwarded by a low-level call; failures are held in heldFees and swaps are not blocked, so recipient misbehaviour does not freeze trading.
  • [info] Two-step ownership transfer: Ownership is transferred via Ownable2Step, reducing the risk of accidental transfer to a wrong address.

Contract details

Verified source
Yes (DaosWorldLaunchHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
6,578 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee, launchpad, moves-currency, ownable, return-delta, tax

Pools using DaosWorldLaunchHook