Hook 0x6be1…a0cc on Robinhood Chain
Uniswap v4 Hook Contract 0x6be1eb7e5c92d65f415039ebbf31e2762b1ba0cc on Robinhood Chain · Other
- Volume (24h)
- $150
- Value locked (TVL)
- $0
- All-time volume
- $150
- Pools using this hook
- 1
- Swaps (24h)
- 4 (2 traders)
- Total swaps
- 4
What it does
A game-style hook on a pool that takes a configurable cut of swap value through return deltas and routes it to pockets managed by roles such as operator, guild and kiosk, while also acting as an ERC20 token.
How it works step by step
- Records the home pool and initialization state in beforeInitialize
- Takes a configurable cut in basis points (cutBps, bounded by CUT_MIN_BPS and CUT_MAX_BPS) on swaps via return deltas
- Tracks accumulated cuts in cutTaken and cutCashedOut and routes them to pockets
- Allows pockets to be cashed out with cashOut(uint8,uint256) with payee checks
- Exposes role getters for operator, manager, guild, kiosk, player and lobby
- Functions as an ERC20 token with name, symbol, supply and transfer functions
- Swap behaviour
- beforeSwap and afterSwap run custom logic that appears to compute and take a cut of swap amounts using the return delta mechanism, with accounting tracked in cutTaken and cutCashedOut.
- Liquidity behaviour
- Before/after add and remove liquidity callbacks are present but appear to be pass-through selectors; no clear liquidity accounting mechanism is identified.
- Fee behaviour
- No fee logic identified in the decoded functions beyond a cut mechanism: cutBps, CUT_MIN_BPS, CUT_MAX_BPS, cutTaken and cutCashedOut suggest a percentage of swap value is taken by the hook and tracked, rather than a pool fee change. The exact basis of the cut is not confirmed.
- Owner & admin controls
- Owner (Ownable) can transferOwnership and renounceOwnership; owner-gated functions appear present. The owner/operator/manager/guild/kiosk/player roles are exposed as readable getters (owner, operator, manager, guild, kiosk, player, lobby, pockets, payeeOf, pocket) and a booted() flag exists, suggesting an admin-driven game state. Exact setter permissions cannot be confirmed without source.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize records the home pool and initialization state; beforeSwap and afterSwap appear to adjust accounting and take a cut via beforeSwapReturnDelta and afterSwapReturnDelta; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take or return a share of swap amounts; unlockCallback and take indicate the hook uses the pool manager's unlock flow to move currency; cashOut(uint8,uint256) lets pockets be withdrawn.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: The owner controls ownership transfer and renounce, and the hook tracks operator, manager, guild and kiosk roles that may be able to direct payees and pocket withdrawals. A privileged key may influence where cut amounts are routed, though the exact setter access is unverified.
Risk to user funds: The hook can take a percentage of swap amounts via return deltas and holds accumulated cut value that can be cashed out through pockets, so swap value and accumulated balances are exposed to the hook's logic and privileged roles. Exact custody and withdrawal conditions could not be verified without source.
Security findings
- [high] Hook takes value from swaps via return deltas: The hook has beforeSwapReturnDelta and afterSwapReturnDelta enabled, so it can take a cut from swap amounts and move currency through the pool manager.
- [medium] Pocket payouts depend on privileged role configuration: Payout routing is controlled by stored payees, pockets and cashOut functionality keyed by uint8 pocket index; misconfigured or compromised roles could redirect accumulated value.
- [medium] Single owner key controls ownership: The contract is Ownable with transferOwnership and renounceOwnership exposed, so a single key controls ownership.
- [info] Hook also functions as an ERC20 token: The hook is an ERC20 token with a name, symbol, supply and transfer/approve functions, so it also issues a transferable token alongside the hook logic.
Contract details
- Verified source
- No
- Bytecode size
- 8,230 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, ownable, return-delta, self-unlock
Pools using Hook 0x6be1…a0cc
- ETH / GAPWICK (0.00% fee) — 24h volume $150, TVL $0, 4 swaps today