RobinHook on Robinhood Chain
Uniswap v4 Hook Contract 0x7ad2d5c00db635d2468d7385396d8266eac5afc5 on Robinhood Chain · MEV protection · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $12.46K
- All-time volume
- $1.31M
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 7,412
What it does
A Uniswap v4 hook for the ROBIN pools that takes a small toll from every swap and surcharges sandwich-style reversals, returning the captured value to liquidity providers and minting tracked Robin objects per liquidity position.
How it works step by step
- Charges every swap a 1% holder fee in the unspecified currency, distributed to Robin holders of that pool
- Detects same-block reversal swaps that exit a sandwich and charges a bounded back-run surcharge captured to liquidity providers
- Raises a drawbridge fee after rapid reversals and burns the excess above the baseline fee
- Mints a non-transferable Robin object per liquidity position and syncs it to the MEV ledger
- Applies a just-in-time penalty to fees when liquidity is withdrawn shortly after being added
- Optionally mints a Robin and locks ROBIN for qualifying exact-input swaps delivering ROBIN
- Swap behaviour
- Every swap pays a 1% base holder fee in the unspecified currency to Robin holders. Same-block reversals that follow a victim leg are surcharged and captured to providers, and a drawbridge surcharge is burned. Exact-input ROBIN deliveries can mint a Robin and lock 1 ROBIN into its account when they clear the toll and surcharges. Swaps can revert if a per-block price band is exceeded or the pool or hook is paused.
- Liquidity behaviour
- Adding liquidity mints or grows a non-transferable Robin object per position, gated on the pool being active and the hook not paused. Removing liquidity shrinks the object; if the position was added within jitMinBlocks, a share of its fees is captured as a JIT penalty and credited to other providers. Principal is never taxed and withdrawals cannot be blocked by the pause.
- Fee behaviour
- Every swap pays a 1% base holder fee in the unspecified currency, routed to the pool's Robin holders via the MEV ledger. Reversal swaps that look like sandwich exits pay an additional back-run surcharge captured to providers, and a drawbridge surcharge above the pool's baseline fee that is sent to the bonfire and burned. Just-in-time liquidity withdrawals forfeit a configured share of fees earned. Pools use dynamic fee with override set to the pool's base LP fee.
- Owner & admin controls
- Owner (Ownable2Step, expected to be a Safe multisig) can: set the factory once, set the bonfire once, bind swap-mint dependencies once, pause or unpause all swaps and liquidity additions globally (withdrawals stay open), pause individual pools, add or remove trusted routers that can name the liquidity provider via hookData, and update each pool's fee and protection parameters within MEVProtection ceilings. Ownership can be transferred or renounced.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity, afterRemoveLiquidity, beforeSwap, afterSwap, afterSwapReturnDelta, afterRemoveLiquidityReturnDelta
beforeInitialize: restricts pool creation to the factory and registers pool config. beforeAddLiquidity: gates additions on pool being active. afterAddLiquidity: mints or grows the Robin object. beforeRemoveLiquidity: always allows withdrawals. afterRemoveLiquidity (with return delta): shrinks object and takes JIT fee penalty. beforeSwap: records block opening tick/direction, enforces pool active state, and sets dynamic drawbridge fee override. afterSwap (with return delta): charges base holder fee, back-run and drawbridge surcharges in the unspecified currency, enforces per-block price band, and optionally mints a Robin on qualifying exact-input ROBIN swaps.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: The owner can pause all swaps and liquidity additions for every pool at once, disable individual pools, add trusted routers that can attribute liquidity to arbitrary addresses, and tune per-pool fee and penalty parameters within the contract's ceilings, including the base holder fee and the price-band circuit breaker. The owner cannot seize pool or user funds directly and cannot block withdrawals. Parameter ranges are bounded by MEVProtection.validate.
Risk to user funds: The hook takes tokens from the pool via PoolManager.take on reversal swaps, base-fee swaps, JIT removals and drawbridge burns, and sends them to the MEV ledger or bonfire; it never holds user balances itself and cannot move funds to arbitrary addresses. Trading in the pool can be blocked by the owner's pause or per-pool deactivation, and a per-block price band can revert oversized moves, but withdrawals are never blocked.
Security findings
- [medium] Owner-tunable fee and circuit-breaker parameters: Owner can raise the base holder fee, back-run surcharge, JIT penalty and drawbridge parameters within validated ceilings, and can enable a per-block price band that reverts swaps moving the tick too far. Operator-chosen parameters directly change what traders pay.
- [low] Pausable trading: Global and per-pool pause blocks swaps and liquidity additions while leaving withdrawals open, so trading can be halted but provider capital cannot be trapped by the owner.
- [low] Value routed through external ledger and burn contracts: Captured value is transferred from the PoolManager to the MEV ledger and bonfire before accounting; accounting failures are caught and emitted rather than reverting the swap, so unbooked value can sit in the ledger contract.
- [info] Owner-trusted router attribution: Trusted routers can name any address as the liquidity provider or swapper via hookData, controlled by the owner's trust list. This affects object ownership attribution for liquidity and trophy recipients for swaps.
Contract details
- Verified source
- Yes (RobinHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 21,293 bytes
- Upgradeable proxy
- No
- Detected patterns
- mev-protection, moves-currency, ownable, pausable, return-delta
Pools using RobinHook
- ETH / ROBIN (Dynamic fee) — 24h volume $0, TVL $12.46K, 0 swaps today