Reading the hook.
The address, the bytecode, then a swap each way through its pool. A few seconds.
v4 hook · Robinhood Chain · block 93,063,163
0x5dF2…0044
The eight checks
10 pools use this hook, the first one 40 d ago.
- 01caution
Permissions that touch your moneyThe address enables after swap returns delta. The hook is allowed to take; the next two checks measure whether it does.
- 02caution
What it takes from a swapIt takes 1.08% of each swap on top of the pool fee.
- 03fail
LPs can get outTaking liquidity straight back out lost 100%.
- 04pass
The fee is the feeA fixed fee of 0.30%, written in the pool key.
- 05caution
No one holds the switchOwned by 0x1531901509d9f737Dcf0A51f4DFFc43be523349F. Owner-style functions: setPlatformFeeRecipient, burnThreshold, setSwapRouter, burnVaultBalance, setFees, setFactory.
- 06pass
The code cannot changeNot a proxy, no DELEGATECALL, no SELFDESTRUCT.
- 07pass
Only the PoolManager can call itEach callback refused a call that did not come from the PoolManager.
- 08pass
Track record10 pools over 39 days.
Measured at block 93,063,163. A hook with an owner or a dynamic fee can behave differently later; scan again before a large trade.
What the address allows
A v4 hook's permissions are the last fourteen bits of its address. The PoolManager calls only what they switch on.
address & 0x3fff0x0044 · 00000001000100
- bit 13Before initialize
- bit 12After initialize
- bit 11Before add liquidity
- bit 10After add liquidity
- bit 9Before remove liquidity
- bit 8After remove liquidity
- bit 7Before swap
- bit 6After swap
- bit 5Before donate
What it did to a real swap
A small swap each way and a liquidity round trip, run through the PoolManager and this hook inside a call that is never sent. The pool fee is expected; anything else missing is the hook.
TEST AMD / AMD
fee 0.30%- Swap TEST AMD → AMDhook takes 1%
- Swap AMD → TEST AMDhook takes 1%
- Add, then remove liquiditycame back whole
pool 0x788d4c61e6abbae3f29382238fb2e507803e8dc79c1daa9c222f9b2b097f8270
CBTEST / cbBTC
fee 0.30%- Swap CBTEST → cbBTCtoo little liquidity to measure
- Swap cbBTC → CBTESThook takes 1.08%
- Add, then remove liquiditylost 100%
pool 0x48f69f3320f4084e5ba0c8cd4dd8631bd50baff275138a053798df0e1d6c00cf
Read from the bytecode
- Code size
- 8,437 bytes
- Owner
- 0x1531901509d9f737Dcf0A51f4DFFc43be523349F
- Proxy
- no
- DELEGATECALL
- absent
- SELFDESTRUCT
- absent
- Outside calls
- 8
- Callbacks open to anyone
- none
Its functions, uncensored
Selectors found in the dispatcher, named from the public signature database. Red ones are what an owner usually keeps for itself.
- 0x010a6c77 unknown
- 0x04f618cb bindReferrer
- 0x096b6d5d poolCreatedAt
- 0x0ae89127 tokenOfPool
- 0x0f04ba67 isFactory
- 0x1871e243 setPlatformFeeRecipient
- 0x1e592502 referrerShareBps
bit 4
After donate
bit 3Before swap returns deltabit 2After swap returns deltabit 1After add returns deltabit 0After remove returns delta- After swap. Runs after every swap.
- After swap returns delta. Can take part of what you get out of every swap.
0x2142e7bc burnThreshold0x21d0ee70 beforeRemoveLiquidity0x23cbe1f3 sellFeeBps0x259982e5 beforeAddLiquidity0x41273657 setSwapRouter0x4a6ea70a unknown0x575e24b4 beforeSwap0x5eb53f37 burnVaultBalance0x65d7b483 poolIdOfToken0x6c2bbe7e afterRemoveLiquidity0x6fcba377 setFees0x6fe7e6eb afterInitialize0x6ff57b08 snipeWindowSeconds0x71013c10 setFactory0x715018a6 renounceOwnership0x7381527f POOL_TICK_SPACING0x77d2300e buyFeeBps0x7a1f6755 gasFeeRecipient0x8da5cb5b owner0x96a34c7a unknown0x9f063efc afterAddLiquidity0xb1a25c94 creatorShareBps0xb3b94502 autoBurnBps0xb47b2fb1 afterSwap0xb6a8b0fa beforeDonate0xc31c9c07 swapRouter0xc92536ec snipeSellTaxBps0xd0186a17 unknown0xd21cacdf referrerOf0xda21b60c executeBurn0xdbaf8573 creatorOfPool0xdc4c90d3 poolManager0xdc98354e beforeInitialize0xdd1b9c4a POOL_FEE0xde0cebe9 setSnipeProtection0xe1b4af69 afterDonate0xe1f1c4a7 BASIS_POINTS0xe8419a48 unknown0xeb13554f platformFeeRecipient0xec13cd58 setGasFeeConfig0xf2fde38b transferOwnership0xfa02716d registerPool0xfccc2813 BURN_ADDRESS0xfeb570b4 gasFeeBps