0x44ed…1afc
RobinhoodThis is a Uniswap v4 hook on Robinhood Chain. Runs code on every swap. Can take tokens from swaps. Can block LP withdrawals. Gates who can add liquidity. Runs at pool creation. Handles donations to LPs.
Launch a pool with this hookHow this hook works
Smart feesThis launch hook sets the trading fee from how fast the price has been moving, measured by its own built-in price record. The fee stays between a minimum and a maximum, and this version takes no royalty cut.
Fee follows price speed
The hook looks at how far the price moved over recent time. Faster moves mean a higher fee, up to the maximum.
The code that does this (_calculateRate):function _calculateRate(LaunchHookFeeContextV2 memory context) internal view override returns (uint24) { if ( context.maximumPips == context.minimumPips || context.feeSensitivityPipsSecondsPerTick == 0 ) { return context.minimumPips; } (int256 tickChange, uint32 elapsed) = _oraclePriceMovement(); return DynamicFeeHookRate.calculate( context.minimumPips, context.maximumPips, context.feeSensitivityPipsSecondsPerTick, tickChange, elapsed ); }Built-in price record
The hook keeps its own price history for its one pool, which it uses to measure movement.
The code that does this (_calculateRate):function _calculateRate(LaunchHookFeeContextV2 memory context) internal view override returns (uint24) { if ( context.maximumPips == context.minimumPips || context.feeSensitivityPipsSecondsPerTick == 0 ) { return context.minimumPips; } (int256 tickChange, uint32 elapsed) = _oraclePriceMovement(); return DynamicFeeHookRate.calculate( context.minimumPips, context.maximumPips, context.feeSensitivityPipsSecondsPerTick, tickChange, elapsed ); }No royalty
Unlike other versions from the same launcher, this one takes no extra royalty fee on trades.
The code that does this (swapFeeModel):function swapFeeModel() public pure override returns (SwapFeeModel) { return SwapFeeModel.Dynamic; }
Who controls it: The fee limits and sensitivity are set when the hook is created for its pool. Only part of the source is published, so other settings may exist.
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 runs before liquidity is removed, so it can delay or refuse LP exits.
It checks every deposit before it goes in.
It runs when a pool is created, often to lock in that pool’s settings.
It runs when someone donates tokens to the pool’s LPs.