PeepsV4TaxHook on Robinhood Chain
Uniswap v4 Hook Contract 0x514c7811b9478a8d3d83dc8471e28e664894c8c8 on Robinhood Chain · Token · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $410
- All-time volume
- $149.68K
- Pools using this hook
- 51
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 31,363
What it does
A Uniswap v4 hook for PEEPS meme tokens that charges a configurable buy or sell tax on exact-input swaps and routes the proceeds to a tax recipient, burn, dividend and liquidity sinks.
How it works step by step
- Skims a buy or sell tax from exact-input swaps through a positive BeforeSwapDelta
- Forces a fixed 1% LP fee via the dynamic fee override flag
- Distributes collected tax by bps into funds, burn, dividends and a liquidity sink
- Blocks exact-output swaps and swaps while the uniform clearing window is active
- Restricts third-party liquidity additions for an anti-farmer period after seeding
- Swap behaviour
- Exact-input swaps only; the hook skims the configured tax from the input currency, sets a fixed 1% LP fee, and in afterSwap pulls the tax and distributes it. Exact-output swaps and swaps during the clearing window revert.
- Liquidity behaviour
- beforeAddLiquidity reverts with AntiFarmerActive for third-party LP adds until the anti-farmer unlock time (seeded time plus antiFarmerDays), unless the liquidity gate is open or the sender is the authorized registry. No removal callbacks.
- Fee behaviour
- On exact-input swaps of a seeded meme token, a buy or sell tax (buyTaxBps or sellTaxBps from registry config) is skimmed from the input currency via a positive BeforeSwapDelta; the pool LP fee is fixed at 1% (10000 bps) with the override flag set. The skimmed amount is distributed in afterSwap across funds, burn to dead address, dividends, and liquidity sink by bps from config.
- Owner & admin controls
- No owner or admin setters on the hook itself; immutable poolManager, registry and authorizedRegistry set at construction. Fee and tax parameters are read from the registry (taxConfig) and can be changed there; anti-farmer window and liquidity gate also come from the registry (liquidityGateOpen, clearingActive, seededAt). Admin power therefore sits in the registry and its controller, not in this contract.
Enabled Uniswap v4 callbacks
beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta
beforeSwap: takes a percentage tax of exact-input swap amount via return delta and sets LP fee override; afterSwap: takes the tax from the pool manager and distributes it to recipients; beforeAddLiquidity: gates third-party liquidity provision during anti-farmer window; beforeSwapReturnDelta: allows the hook to alter the swap delta.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: Whoever controls the registry can change tax rates, recipients, anti-farmer duration, clearing status and the liquidity gate. Tax rates are not capped in the hook code, so the registry controller could set very high sell taxes effectively trapping sellers.
Risk to user funds: The hook takes an input-currency skim from swappers via return delta and distributes it through take(); it does not hold residual user balances between transactions. Funds can be blocked by clearing windows, unseeded status or sink revert. Liquidity providers face the anti-farmer restriction on adds.
Security findings
- [medium] Uncapped tax rate from external registry: Tax percentage is read from registry config with no cap in the hook; taxAmt is only bounded to be less than the input amount.
- [medium] Registry can block swaps: Pool swaps revert while registry.clearingActive is true, and exact-output swaps revert, so a registry controller can halt trading for a token.
- [low] External sink calls can revert swaps: Tax proceeds are transferred to a configured recipient and to external dividend and liquidity sinks via low-level calls; a misconfigured or malicious sink could block afterSwap via NotifyFailed.
- [info] Transient-style pending state in storage: Pending tax state is stored in contract storage between beforeSwap and afterSwap rather than transient storage; it is cleared in afterSwap so normal flow is safe.
Contract details
- Verified source
- Yes (PeepsV4TaxHook)
- Compiler
- solc 0.8.35+commit.47b9dedd
- Bytecode size
- 4,616 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta, tax
Pools using PeepsV4TaxHook
- WETH / ANSEMSZN (Dynamic fee) — 24h volume $0, TVL $2.48, 0 swaps today
- WETH / UOTF (Dynamic fee) — 24h volume $0, TVL $36, 0 swaps today
- WETH / BULLBALLS (Dynamic fee) — 24h volume $0, TVL $32, 0 swaps today
- KEKODYSSEUS / WETH (Dynamic fee) — 24h volume $0, TVL $15, 0 swaps today
- WETH / BATON (Dynamic fee) — 24h volume $0, TVL $16, 0 swaps today
- WETH / MRCATE (Dynamic fee) — 24h volume $0, TVL $12, 0 swaps today
- WETH / FROGGY (Dynamic fee) — 24h volume $0, TVL $6.39, 0 swaps today
- WETH / PUMPGUY (Dynamic fee) — 24h volume $0, TVL $82, 0 swaps today
- WETH / RST (Dynamic fee) — 24h volume $0, TVL $6.86, 0 swaps today
- WETH / MERV (Dynamic fee) — 24h volume $0, TVL $27, 0 swaps today
- WETH / CLUG (Dynamic fee) — 24h volume $0, TVL $1.09, 0 swaps today
- WETH / NIGGAHOUSE (Dynamic fee) — 24h volume $0, TVL $13, 0 swaps today
- WETH / OSCAR (Dynamic fee) — 24h volume $0, TVL $3.19, 0 swaps today
- WETH / TOADTARD (Dynamic fee) — 24h volume $0, TVL $3.39, 0 swaps today
- WETH / 67COIN (Dynamic fee) — 24h volume $0, TVL $1.04, 0 swaps today
- WETH / MUSHU (Dynamic fee) — 24h volume $0, TVL $9.73, 0 swaps today
- WETH / REDCAT (Dynamic fee) — 24h volume $0, TVL $0.89, 0 swaps today
- WETH / FROHORSE (Dynamic fee) — 24h volume $0, TVL $13, 0 swaps today
- WETH / HORACE (Dynamic fee) — 24h volume $0, TVL $8.15, 0 swaps today
- WETH / POMERANIAN (Dynamic fee) — 24h volume $0, TVL $46, 0 swaps today