ZillaHook on Robinhood Chain
Uniswap v4 Hook Contract 0xa6e94ef9924a78d0c493f5e7dcf13a7453b620cc on Robinhood Chain · Utility · Verified contract
- Volume (24h)
- $2.18K
- Value locked (TVL)
- $0
- All-time volume
- $2.18K
- Pools using this hook
- 1
- Swaps (24h)
- 72 (20 traders)
- Total swaps
- 72
What it does
A Uniswap v4 hook for the native ETH / ZILLA pool that charges a fixed 1% fee on the ETH side of every swap and routes the accumulated fees to a treasury wallet.
How it works step by step
- Restricts pool initialisation to one ETH/ZILLA pool with LP fee 0 and tick spacing 200, initialised only by the initializer contract
- Takes a fixed 1% of the ETH leg of each swap as a return delta in beforeSwap (exact-ETH swaps) or afterSwap (exact-ZILLA swaps)
- Books the fee as ERC-6909 ETH claims on the PoolManager so no ETH moves mid-swap
- Lets anyone call collect() to burn the claims and send the ETH to the treasury address
- Allows the owner to change the treasury address via setTreasury
- Swap behaviour
- On every swap, 1% of the gross ETH leg is taken as a fee: via beforeSwap when ETH is the specified currency, or via afterSwap when ETH is the unspecified currency; the fee is credited to the hook as ERC-6909 ETH claims.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Takes a fixed 1% (FEE_BPS = 100) of the gross ETH leg of every swap in the single native ETH / ZILLA pool, whichever direction. Fee is booked as ERC-6909 ETH claims on the PoolManager via a returned specified delta (exact-ETH swaps in beforeSwap) or unspecified delta (exact-ZILLA swaps in afterSwap), and collect() (callable by anyone) redeems the claims to the treasury. Pool LP fee is 0.
- Owner & admin controls
- Owner (Ownable2Step, two-step transfer) can only call setTreasury to redirect where collected fees are paid; FEE_BPS and TICK_SPACING are constants and cannot be changed; no pause, no upgrade mechanism, no parameter changes.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: restricts pool initialisation to the initializer contract and the exact ETH/ZILLA pool (fee 0, tick spacing 200, this hook). beforeSwap: takes the fee as a specified-currency delta when ETH is the specified currency. afterSwap: takes the fee as an unspecified-currency delta when ETH is unspecified. beforeSwapReturnDelta and afterSwapReturnDelta: enable the hook to return those fee deltas.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: The owner cannot change the fee rate, pause swaps, or move funds; the only lever is redirecting the treasury address for future collect() payouts, which would divert all future fees (previously minted claims are paid to whatever treasury is current at collect time).
Risk to user funds: The hook never holds user tokens and does not transfer ETH during swaps; it only mints ERC-6909 claims for its own fee credit. Traders pay the fee as a slightly worse swap amount. The owner's only power over funds is changing the treasury destination for future collections.
Security findings
- [info] Fee taken via return deltas: The hook takes its fee as return deltas, so it effectively skims 1% of every swap's ETH leg; the rate is hardcoded and immutable.
- [medium] Owner can redirect fee destination: setTreasury lets the owner redirect all accumulated and future fees to any non-zero address with no timelock; a compromised owner key could redirect the fee stream, though it cannot take the already-collected funds.
- [low] Permissionless collect pays a mutable recipient: collect() is permissionless but only pays the fixed treasury address, so third parties cannot divert fees; a failed or reverting treasury payout would block collect until fixed.
- [info] Single-pool initialisation guard: Pool is restricted to one initialisation by the initializer contract, limiting the hook to the intended ETH/ZILLA pool.
Contract details
- Verified source
- Yes (ZillaHook)
- Compiler
- solc 0.8.34+commit.80d5c536
- Bytecode size
- 6,195 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc6909-claims, moves-currency, ownable, return-delta, self-unlock
Pools using ZillaHook
- ETH / FANZILLA (0.00% fee) — 24h volume $2.18K, TVL $0, 72 swaps today