Token hook on Robinhood Chain
Uniswap v4 Hook Contract 0x52da5cbdc0b7dd2b34ff093489e436e84fb020cc on Robinhood Chain · Token
- Volume (24h)
- $997
- Value locked (TVL)
- $0
- All-time volume
- $997
- Pools using this hook
- 1
- Swaps (24h)
- 57 (27 traders)
- Total swaps
- 57
What it does
This is an ERC-20 token that acts as the hook for its own pool and appears to take a toll of unknown size from swaps for a stored recipient, while LPs can still add and withdraw liquidity freely.
This read was written for the hook 0xbd32…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 contract is itself an ERC-20 token (with permit support) that also acts as the Uniswap v4 hook for its own pool.
- It runs on pool creation (beforeInitialize) and records that the pool has been set up, likely limiting which pool it serves.
- On swaps it can adjust swap amounts through return deltas, which points to a swap tax or toll. A running 'tolled' counter and 'pot' values suggest a portion of each swap is collected.
- Collected amounts appear to be pulled out of the PoolManager with take() and held for a recipient ('basin' or 'homeKey'). An 'empty' function likely pays out or clears the collected pot.
- Exact tax rates and recipients cannot be confirmed without verified source.
- Swap behaviour
- Before and after each swap the hook can change the amounts traders pay or receive, likely taking a toll or tax that it withdraws from the PoolManager. The exact percentage and any direction-specific rules are unknown from bytecode alone.
- Liquidity behaviour
- No liquidity callbacks; LPs can add and withdraw freely.
- Fee behaviour
- Appears to charge a swap toll through return deltas, tracked in a cumulative 'tolled' counter and sent to a stored address. The rate and any cap cannot be determined from bytecode.
- Owner & admin controls
- An owner address exists. The bytecode shows no obvious fee setter, and the 'empty' function writes the address that receives payouts. Its exact access rules and limits are unknown.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: records pool setup and likely restricts which pool can be created; beforeSwap: can adjust the swap input and take a toll; afterSwap: can adjust the swap output and update toll accounting; 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 is present and the 'empty' function changes a stored recipient address. No upgrade path exists, but owner powers over fees cannot be fully confirmed.
Risk to user funds: Traders' swap amounts can be reduced by an unknown toll that the hook collects. LP principal cannot be locked or drained through the hook.
Security findings
- [medium] Unverified swap tax via return deltas: The hook can take tokens from swap input or output and withdraw them from the PoolManager. Its tax rate and cap cannot be verified from bytecode.
- [info] LP withdrawals unaffected: Remove-liquidity callbacks are disabled, so the hook can never block or charge LP withdrawals.
- [info] Not upgradeable: This is a direct contract, not a proxy, so its logic cannot be swapped out.
Contract details
- Verified source
- No
- Bytecode size
- 6,445 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, ownable, return-delta, self-unlock
Pools using Token hook
- ETH / PTIDE (0.00% fee) — 24h volume $997, TVL $0, 57 swaps today