VladdyHook on Robinhood Chain
Uniswap v4 Hook Contract 0x0022e098b9baf3c758496092b312126ec84780cc on Robinhood Chain · Dynamic fee · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $3.11
- All-time volume
- $208.90K
- Pools using this hook
- 37
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 2,128
What it does
A fee-taking hook for native ETH/token Vladdy pools that charges a fixed ETH-side fee on every trade and distributes it to a platform wallet, recipients, buybacks, or reward pools.
This read was written for the hook 0x5751…00cc on Robinhood Chain and reused here: the two run the same code.
How it works step by step
- Charges a creator-chosen fee (max 5%) on every trade, always denominated in native ETH
- Takes the fee to the hook in before/after swap callbacks via return deltas
- Splits each fee instantly into a platform cut, then recipient payouts and buyback reserve, or a single reserve for stock, robin, lottery or liquidity mode
- Pays recipients with gas-capped ETH transfers and records failed pushes as claimable owed balances
- Lets a per-token agent spend reserves on buybacks and burns, staking deposits, lottery draws, liquidity mints, or stock purchases
- Swap behaviour
- On buys with exact ETH input the fee is taken in beforeSwap from the ETH input. On buys with exact token output and on sells the fee is taken in afterSwap from the ETH output. Exact-output sells revert. Internal swaps from the hook itself are fee-exempt.
- Liquidity behaviour
- No liquidity callbacks are enabled; add/remove liquidity is not intercepted. The hook itself mints locked v4 positions via the agent path addLiquidityFromReserve (around spot, +/-2000 ticks) using a liquidity reserve funded by fees, with the position sent to lpLocker.
- Fee behaviour
- Fee is set per pool at launch (feeBps, capped at MAX_FEE_BPS 500 = 5%) and is immutable; the pool's own LP fee is 0. Fee is always taken in native ETH: on buys with exact ETH input it is taken in beforeSwap, on buys with exact token output and on sells it is taken in afterSwap via poolManager.take. Fee is split instantly per trade into a platform cut, then either recipient payouts plus buyback reserve, or the full remainder accrued to a stock, robin, lottery or liquidity reserve depending on mode. Internal swaps (devBuy, buybacks, liquidity agent) are fee-exempt.
- Owner & admin controls
- Owner (set in constructor) can call setFactory once, setLiquidityInfrastructure (positionManager, permit2, lpLocker) and is the address that can be read as the factory owner for platform-owner functions: setStockRoute, reassignRecipient (redirect any recipient payout address, shares immutable). Platform wallet receives platform fee cut and is set at construction with no visible setter. Factory is the only caller allowed to registerPool and devBuy. Per-token agent address (set at registration) controls buybackAndBurn, depositRobinEth, runLotteryDraw, addLiquidityFromReserve, buyStockAndDistribute, releaseStockReserve, depositStock. No pause function and no upgrade proxy found.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap: charges the ETH-side fee on exact-input buys and takes it to the hook, returning a before-swap delta; also rejects exact-output sells. afterSwap: charges the ETH-side fee on exact-output buys and on sells, takes it to the hook and returns it as an after-swap delta. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take a share of swap amounts as fee, so the hook receives ETH that would otherwise go to the pool.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: The owner can redirect any recipient share to arbitrary addresses via reassignRecipient, and wire the periphery deps once. Per-token agents control timing and destination of reserve spends (off-venue stock buys via releaseStockReserve are explicitly trust-based, and agents choose when lotteries and liquidity adds happen within rate limits). No pause or fee-change functions exist, and fee rates are immutable after launch, which limits key-holder control over fee rates.
Risk to user funds: The hook holds ETH between swaps in reserve buckets (buybackReserve, stockReserve, robinReserve, lotteryReserve, liquidityReserve) and owed balances for failed pushes. Swappers pay a fee that the hook takes via return deltas, so the hook does handle user-side funds during swaps. Reserves can be spent only by the per-token agent, the factory or the owner, and reassignRecipient can redirect future recipient shares. No function lets the owner withdraw reserves directly.
Security findings
- [medium] Trusted off-venue stock purchases: releaseStockReserve sends reserve ETH to the agent with no on-chain verification that the stock is bought and deposited. Users depend on the agent acting honestly.
- [medium] Owner can redirect recipient payouts: reassignRecipient lets the platform owner change any recipient's payout address and kind at will, which can redirect fee shares from existing recipients. The comment describes this as a community-takeover escape hatch.
- [info] Gas-capped payouts with pull fallback: Recipient pushes use a 60k gas cap and failures are credited to an owed mapping, so a malicious or reverting recipient cannot block swaps. Owed amounts are only claimable by the recipient.
- [low] Lottery randomness based on prevrandao: Lottery draws use block.prevrandao as entropy, which validators can influence to a limited degree, so draw outcomes are not fully unpredictable.
- [info] Exact-output sells unsupported by design: Exact-output sells revert and the buyback, liquidity and stock agents are trusted to call at their own discretion, so the fee path is entirely determined by the hook logic and creator-chosen parameters.
Contract details
- Verified source
- Yes (VladdyHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 20,108 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, ownable, return-delta, self-unlock
Pools using VladdyHook
- NVDA / MSTR (0.0375% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / NUKE (0.00% fee) — 24h volume $0, TVL $1.63, 0 swaps today
- USDG / cyberbeer (0.90% fee) — 24h volume $0, TVL $0, 0 swaps today
- MILKERS / CME (0.0075% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / STAKERS (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDG / PEZ (0.90% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / CROC (20.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- ETH / LOL (10.00% fee) — 24h volume $0, TVL $0.96, 0 swaps today
- AMC / USDG (0.90% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / LEFT (0.00% fee) — 24h volume $0, TVL $0.24, 0 swaps today
- ETH / ROBİN (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / ROBINMODE (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ՍЅᎠТ / USDG (0.0075% fee) — 24h volume $0, TVL $0.02, 0 swaps today
- ETH / RWA (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / VIBECAT (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / PSYUP (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- ETH / DEXHOOKS (0.90% fee) — 24h volume $0, TVL $0.02, 0 swaps today
- ETH / NOXAFI (0.00% fee) — 24h volume $0, TVL $0.24, 0 swaps today
- AAAAA / USDG (0.25% fee) — 24h volume $0, TVL $0, 0 swaps today
- USDG / FABLES (Dynamic fee) — 24h volume $0, TVL <$0.01, 0 swaps today