TowerHook on Robinhood Chain
Uniswap v4 Hook Contract 0xb871c5afd16c8c3f87a817d4a8b7856728a6eac8 on Robinhood Chain · Launchpad · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 55 (28 traders)
- Total swaps
- 55
What it does
A launch hook for the TOWER/ETH pool that taxes every exact-input swap at a rate starting high and decaying to steady buy/sell rates, splits the tax between protocol, treasury and burns, blocks trades below the launch price floor, and restricts liquidity to the project vault.
How it works step by step
- Runs the single TOWER/ETH pool: only the project's vault contract can create the pool and add or remove liquidity.
- Charges a tax on every swap's input, starting high at launch and halving every set period until steady buy and sell rates apply after the launch window.
- Blocks any swap that would push the price below the opening floor price set at launch.
- Only allows exact-input swaps.
- Tax is held as pool claims; anyone can call collect to send ETH tax (wrapped to WETH) half to protocol and half to a treasury contract, and TOWER tax half to protocol and half burned.
- Swap behaviour
- Each swap must be exact-input; a tax percentage of the input is taken before the swap and the swap reverts if it would leave the price below the launch floor. The tax decays from a launch rate toward steady buy/sell rates set at deployment.
- Liquidity behaviour
- Only the vault contract may add or remove liquidity; all other addresses are rejected, so third-party LPs cannot participate. The vault's own withdrawals are not restricted by any pause.
- Fee behaviour
- Tax rates (startBps, floorBuyBps, floorSellBps) are immutable constructor values not shown here and not capped in code; the launch tax halves every half-life until launchSeconds elapse, then steady rates apply. Proceeds split 50% protocol and 50% treasury (ETH) or 50% protocol and 50% burned (TOWER).
- Owner & admin controls
- No owner; tax parameters are immutable. The vault can arm the launch once, setting the start time and floor price.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta
beforeInitialize: only the vault can create the pool; beforeAddLiquidity: only vault can add; beforeRemoveLiquidity: only vault can remove; beforeSwap: enforces exact-input and takes the tax; beforeSwapReturnDelta: deducts the tax from swap input; afterSwap: reverts swaps ending below the floor price.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: No admin keys; the vault contract alone controls liquidity and arms the launch once. Rates and recipients are immutable.
Risk to user funds: The hook takes a set percentage of each swap's input as tax, with exact rates set at deployment and not capped in code. No outside LP principal is held since only the vault provides liquidity.
Security findings
- [medium] Tax rates uncapped in code: Launch and steady tax rates are fixed at deployment with no cap in the contract; the launch rate is described as brutal and may be very high early on. Check the deployed values before trading.
- [low] Price floor blocks sells: Any swap ending below the opening price reverts, so sells can fail when the price is near the floor.
- [info] Liquidity limited to vault: Only the vault contract can provide or withdraw liquidity; no outside LPs exist.
Contract details
- Verified source
- Yes (TowerHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 9,988 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad, liquidity-management, return-delta, self-unlock, tax