KolanHook on Ethereum
Uniswap v4 Hook Contract 0x0136fecf49e0217bfd2d9551e8e7b05f174ba8ec on Ethereum · Launchpad · Verified contract
- Volume (24h)
- $4.89K
- Value locked (TVL)
- $15.67K
- All-time volume
- $1.95M
- Pools using this hook
- 1
- Swaps (24h)
- 46 (32 traders)
- Total swaps
- 7,178
What it does
KolanHook is a launchpad that seeds a single ETH/token pool at a set tick, taxes swaps, and lets buyers open time-locked windows that buy and hold liquidity positions.
How it works step by step
- Launches a single ETH/token pool with the hook as the only liquidity provider, opened at a chosen tick by the launcher.
- Charges a fixed tax (up to 5%) on the ETH side of swaps via before- and after-swap return deltas, accruing to the dev.
- Lets users buy liquidity windows by paying ETH and a premium; the purchased liquidity is carved out of the pool and held for a duration proportional to the premium.
- On window close, either returns the carved liquidity in place, buys back tokens with the premium, or reshapes liquidity above or below the price.
- Blocks all external liquidity additions, donations, and removals, so only the hook manages pool liquidity.
- Swap behaviour
- Swaps are taxed by the hook: when ETH is the specified currency, beforeSwap takes a fee via return delta; when the token is specified, afterSwap takes the fee from the ETH leg. Tax goes to devOwed for the dev to claim.
- Liquidity behaviour
- Liquidity cannot be added or donated by external users (beforeAddLiquidity and beforeDonate revert with LiquidityIsLocked; afterAddLiquidity reverts with NotSupported). Only the hook provides liquidity, through its own launch and window-carving logic that moves liquidity between tick ranges. Remove-liquidity hooks revert with NotSupported.
- Fee behaviour
- A fixed tax of TAX_BPS (capped at 500 bps) is charged on the ETH side of swaps by minting ETH claims in the pool manager. Tax accrues to devOwed and is paid to DEV via claimDev(). Buyers of windows also pay a premium that is kept by the hook. The pool itself uses a fee of 0.
- Owner & admin controls
- No pause or upgrade path found; the token is a plain ERC20Burnable with no owner. The launcher can only call launch() once, and the dev address can only claim accrued tax via claimDev(). Dev and launcher addresses are immutable, and parameters (tax, windows, premium cap) are immutable constructor values.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeDonate, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: reverts, so only the hook itself can open the pool. beforeAddLiquidity and beforeDonate: revert to lock liquidity to the hook. beforeSwap: charges the ETH-side tax via a return delta when ETH is the specified currency. afterSwap: charges the tax on the ETH leg when the token is specified, via a return delta. beforeSwapReturnDelta and afterSwapReturnDelta: enable the hook to take a share of swap amounts as tax.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: There is no privileged key that can move user funds or change parameters after deployment. The DEV address can only claim accrued tax; the LAUNCHER can only trigger the one-time launch. Because all parameters are immutable, centralization risk is low, though the initial launch relies on the launcher's correct configuration.
Risk to user funds: The hook holds ETH and token balances for active windows and pool liquidity, and it takes a tax on swaps. Users who open windows have their ETH locked until expiry or cancel. Funds are protected by immutable parameters and an insolvency check, but a bug in the segment accounting could affect them.
Security findings
- [info] Swap tax via return deltas: Swaps pay a tax equal to TAX_BPS (up to 500 bps) on the ETH side, enforced via return deltas in beforeSwap and afterSwap. Traders pay this on every swap through the hook.
- [medium] Hook custodies pool and window funds: The hook can take tokens and ETH via return deltas and internal settlement, and it holds ETH and token balances tracked in held, with an insolvency check on each state-changing function. Sustained solvency depends on correct accounting in the carving and buyback logic.
- [low] Complex liquidity segment bookkeeping: The hook's buy function and window accounting depend on repeated tick carving and liquidity reshaping across up to 16 takes per call. Complex segment bookkeeping increases the risk of edge-case mispricing, but no concrete exploit was identified from the source.
- [info] No admin controls or upgrade path: No owner, pause, or upgrade mechanism was found; the contract is immutable and the token has no mint or admin functions beyond burn.
Contract details
- Verified source
- Yes (KolanHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 22,114 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad, moves-currency, return-delta, self-unlock, tax
Pools using KolanHook
- ETH / KLN (0.00% fee) — 24h volume $4.89K, TVL $15.67K, 46 swaps today