Token hook on Robinhood Chain
Uniswap v4 Hook Contract 0x6e28a8f176b4574bb666fa9f1a280170de8aa0cc on Robinhood Chain · Token
- Volume (24h)
- $971
- Value locked (TVL)
- $0
- All-time volume
- $971
- Pools using this hook
- 1
- Swaps (24h)
- 78 (27 traders)
- Total swaps
- 78
What it does
This is a token-plus-hook that appears to charge every swap in its pool an unverified levy and pay the proceeds out to fixed payees, while LPs can add and withdraw liquidity freely.
This read was written for the hook 0xd0fb…a0cc on Robinhood Chain and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.
How it works step by step
- The hook is also an ERC-20 token with permit support, and it hooks into its own Uniswap v4 pool.
- On swaps it can collect a levy using swap return deltas and track the total in a 'levied' counter.
- Collected funds appear to be held in a 'cellar' and paid out through a 'draw' function to payees indexed by slot number.
- A one-time 'opened' flag is set when the pool is initialized, which appears to gate trading or setup.
- Swap behaviour
- Before and after each swap the hook updates internal counters and can change swap amounts through return deltas, most likely to take a levy. The exact levy rate and any restrictions cannot be confirmed from bytecode alone.
- Liquidity behaviour
- No liquidity callbacks; LPs can add and withdraw freely.
- Fee behaviour
- A swap levy appears to be taken via return deltas and pulled from the PoolManager. It is accumulated for later distribution to payees through draw(). The exact percentage and recipient split are unknown from bytecode.
- Owner & admin controls
- An owner address exists, but no obvious owner-only setter functions were decoded. draw(uint8) moves accrued funds to fixed payees, and its caller restrictions are unknown.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: sets up or opens the pool once; beforeSwap: records state and can adjust the swap input; afterSwap: can take a levy from the swap result; beforeSwapReturnDelta/afterSwapReturnDelta: let the hook take tokens from swaps.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: An owner exists, but no admin setters were identified. Payees for collected levies appear to be fixed, though this is unconfirmed.
Risk to user funds: The hook can take an unknown portion of swap amounts as a levy. LP principal cannot be locked or charged on withdrawal.
Security findings
- [medium] Unverified swap levy: Swap return deltas are enabled and the hook pulls tokens from the PoolManager. The levy size cannot be verified without source.
- [info] Payout via draw: Accrued levies are paid out to payees selected by index. Who can trigger this and the recipients are not verifiable from bytecode.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so LPs can always withdraw.
Contract details
- Verified source
- No
- Bytecode size
- 6,640 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, ownable, return-delta, self-unlock
Pools using Token hook
- ETH / SATJAR (0.00% fee) — 24h volume $971, TVL $0, 78 swaps today