BinHookV2
RobinhoodBinHookV2 is a Uniswap v4 hook on Robinhood Chain. Runs code on every swap. Can take tokens from swaps. Gates who can add liquidity. Runs at pool creation.
- Contract name
- BinHookV2
How this hook works
Trading taxA trading tax hook. It takes a cut of every trade, stops liquidity being added directly and creates its pools itself.
Takes a cut of every trade
On top of the normal pool fee, it keeps a share of each trade.
The code that does this (beforeSwap):function beforeSwap(address sender, PoolKey calldata key, SwapParams calldata params, bytes calldata) external onlyPoolManager returns (bytes4, BeforeSwapDelta, uint24) { // No swaps while addLiquidity / removeLiquidity is running. if (_locked()) revert Reentrancy(); PoolId id = key.toId(); // One BinSwap event per bin traded is emitted on the way. (SwapState memory s, PoolSlot memory slot) = _swap(_pools[id], id, key, params); // `slot` is the pool as the swap found it, with the volatility values as the swap leaves them: its // `activeBin` is still the bin the swap started in. emit Swap( id, sender, s.zeroForOne, s.amountIn, s.amountOut, s.feeAmount, slot.activeBin, s.activeBin, slot.volatilityAccumulator, slot.volatilityReference, slot.referenceBin ); // Reserves live in the PoolManager as ERC-6909 claims: take claims for the input, give up claims for // the output. Both calls only move the hook's deltas, which the returned delta below brings to zero. // …Liquidity can’t be added directly
Nobody can add liquidity to its pools through Uniswap directly. Liquidity only comes in through the hook’s own code.
Only the hook creates its pools
Nobody can create a pool with this hook directly. Pools are only created through the hook’s own code.
Who controls it: Nobody. The hook has no admin functions, and the code cannot be changed.
What do these labels mean? Based on the hook’s published code.
What it can do
Its code executes inside each trade in pools that use it.
It can take or add tokens during a swap. Fees, burns and custom curves work this way, and so do scams.
It checks every deposit before it goes in.
It runs when a pool is created, often to lock in that pool’s settings.
Hook history
- Bin swap 26 times
Latest transactions
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xe6bad9fb…5bb8e2 block 112,684,644
- Handled a trade 3 times
Latest transactions
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xd72df5d7…923c2f block 112,542,527
- 0xd2fb6754…c9e460 block 112,520,152
- Handled a trade 3 times
Latest transactions
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xd72df5d7…923c2f block 112,542,527
- 0xd2fb6754…c9e460 block 112,520,152
- Handled a trade 3 times
Latest transactions
- 0xe6bad9fb…5bb8e2 block 112,684,644
- 0xd72df5d7…923c2f block 112,542,527
- 0xd2fb6754…c9e460 block 112,520,152
- Added to the pool’s liquidity 2 times
Latest transactions
- 0xbc1bac4a…fed50f block 112,519,156
- 0x7246c385…9d589e block 112,518,860
- Modify liquidity 2 times
Latest transactions
- 0xbc1bac4a…fed50f block 112,519,156
- 0x7246c385…9d589e block 112,518,860
Settings changes: set up a pool (1 time).
Counted from what the hook recorded on-chain across all its pools, for every action in its published code, plus token transfers in and out of it.