MarketMakerHook on Robinhood Chain

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

Volume (24h)
$2.82K
Value locked (TVL)
$151.30K
All-time volume
$2.24M
Pools using this hook
1
Swaps (24h)
1,975 (58 traders)
Total swaps
16,552

What it does

A Uniswap v4 launchpad hook for a fixed-supply token that seeds a protocol-owned ask ladder, charges a flat USDC fee on every swap, applies a burn-based sell tax in crash zones, and routes captured USDC into bands and tranches that absorb crashes.

How it works step by step

  • Genesis places the full token supply into a seeded full-range base position plus a 48-bucket log-spaced ask ladder above launch price, with no owner or minting.
  • Charges a flat 150 bps fee on every swap in USDC, splitting 50% to a deployer accrual that is pull-claimable to an immutable address and 50% into a capture waterfall.
  • Applies a piecewise-linear sell tax of 0 to 800 bps in TOKEN input on sells below the TWAP-based anchor, burning the taxed tokens in the same transaction when reserves allow.
  • Sweeps fully crossed ladder buckets into USDC, then routes 25% to a retrace band and 75% across three deeper tranches that absorb crashes and burn their token inventory.
  • Arms the band and tranche system once lifetime capture crosses a threshold, and relists absorbed lots above the market with a basis floor and FIFO processing.
  • Anyone can call poke() or claimDeployerFees(); poke pays a small bounty from withdrawn USDC only and never from ledger-backing funds.
Swap behaviour
beforeSwap plans a fee or zone-tax take on the specified leg; afterSwap settles the unspecified-leg fee, burns zone-tax tokens, sweeps filled ladder buckets into USDC budgets, and absorbs band and tranche inventory, with maintenance steps bounded per swap.
Liquidity behaviour
beforeAddLiquidity allows external LPs, but lpFee is pinned to zero so they are economically excluded. Protocol-owned liquidity (base position, ladder buckets, band, tranches, relist lots) is placed and migrated by the hook itself, and only the hook can add or remove it through unlock callbacks.
Fee behaviour
Flat 150 bps fee on every swap, always taken in USDC (input side on buys, output side on sells), split 50% to deployer accrual and 50% into a waterfall of capture budgets. Sells additionally pay a zone tax of 0 to 800 bps in TOKEN input (piecewise-linear in depth below the TWAP-based anchor, evaluated at the pre-swap tick), which is burned. The pool uses a dynamic fee flag but lpFee is overridden to 0.
Owner & admin controls
No owner, pause, upgrade, or parameter-change functions; all parameters are immutable from the constructor. The only privileged-like path is claimDeployerFees(), which pays accrued USDC only to the immutable DEPLOYER address and can be triggered by anyone.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: pins the pool to the exact key and launch sqrtPrice and initializes the oracle. beforeAddLiquidity: permits LP adds (fee excluded). beforeSwap: updates the TWAP anchor, flushes burns, caches pre-swap tick, plans specified-currency fee/tax take via return delta. afterSwap: settles unspecified-leg fee and zone tax, sweeps ladder buckets, absorbs band and tranche inventory, relists lots, and runs maintenance via return delta.

Security & trust assessment

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

Who controls it: No privileged key exists after deployment. Policy is fully encoded in immutable code and the only privileged-looking function pays the immutable deployer. Users cannot be blocked or have parameters changed; the risk is that the economic design (a supply sink that burns tokens in crashes and captures USDC) is fixed and non-negotiable.

Risk to user funds: The hook holds protocol-owned liquidity and ERC-6909 claims on the PoolManager but never custodies user funds directly. Swappers pay the fee and zone tax by design; sells during crashes are taxed up to 8% and burned. Tokens are burned via a public burn function that the hook calls on its own balances only. No function lets the hook or any admin withdraw user balances or block swaps.

Security findings

  • [info] Mandatory fee and tax on all swaps: The hook takes value on every swap via beforeSwap and afterSwap return deltas: a flat 1.5% USDC fee and up to 8% token zone tax on sells below the anchor, with 50% of USDC fees accruing to the deployer.
  • [info] Irreversible burns and burn-floor ratchet: Sell taxes in the crash zone burn tokens and the global burn floor ratchets upward on tranche fills, so repeated crash absorption shrinks supply and raises the floor permanently.
  • [low] TWAP-based anchor can be moved by sustained price pressure: The anchor (refTick) is a rolling max of 30-minute TWAPs over a 6h window with a capped descent per observation. Manipulation requires sustaining prices across many blocks, but a sustained move can still shift the zone tax and placement ranges.
  • [info] Defensive range guards present: Placement and relist paths include brick-guards that skip rather than revert when ranges would fall outside the usable tick band, reducing the chance a single extreme price freezes the pipeline.
  • [info] Launch price pinned against front-running: Pool initialization is pinned to a single launch sqrtPrice and key, preventing front-running of the initialize call at a hostile price.

Contract details

Verified source
Yes (MarketMakerHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
24,424 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee, launchpad, moves-currency, return-delta, self-unlock

Pools using MarketMakerHook