GlueLiquidity on Polygon
Uniswap v4 Hook Contract 0x0f41715dc432692b66a5adf8dcfef6ac407b20c8 on Polygon · Fee sharing · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0.06
- All-time volume
- <$0.01
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 3
What it does
The hook collects LP fees from its own position on swaps and splits them between re-minting liquidity, a buyback on the secondary side, and a burn on the main side, so traders pay the pool's normal fee and the proceeds are redistributed to the pool and configured recipients.
This read was written for the hook 0x0f41…20c8 on Ethereum and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.
How it works step by step
- Maintains a per-pool program holding a concentrated liquidity position at a fixed tick range on the hooked pool
- On each swap (beforeSwap/afterSwap), collects accrued LP fees from that position and splits the gross fees by configured shares
- Routes a share of secondary-side fees to a buyback pot, and main-side fees to a burn cascade via the GlueStick unglue path
- Re-mints a configurable compound share of harvested fees (plus any carried remainder) back into the program's own position at the live price
- Parks or books delivery to recipients when pushes fail so a refusing recipient cannot revert the carrying swap
- Uses the hook's own unlock callback and transient storage PAYER slot to settle liquidity additions
- Swap behaviour
- On swaps the hook harvests the program's fees and splits them, so swappers do not pay an extra fee in the source; the hook can take or return deltas via beforeSwapReturnDelta, and buyback/burn activity moves pool-side value during swap execution.
- Liquidity behaviour
- Liquidity added through the hook mints into the program's fixed-range position owned by the hook; removals are not exposed as a hook path in the source reviewed, and fees must be harvested before liquidity operations.
- Fee behaviour
- The pool's own LP fees are collected by the program position and then split: compound share re-minted as liquidity, buyback share on the secondary side, burn share on the main side, and remainders sent to configured recipients.
- Owner & admin controls
- Pot admin declares main and secondary roles once and sets the delivery recipient; the program owner can transfer ownership or surrender it, and the operator can edit split configs or freeze them; surrendering ownership force-opens public harvest. No pause or upgrade function is visible in the reviewed ABI, but the hook is an upgradeable proxy, so the implementation can be changed by its admin.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta
beforeInitialize registers the pool and admin; beforeSwap collects and splits fees before the swap; afterSwap handles post-swap accounting and retries; beforeSwapReturnDelta lets the hook take or return currency deltas during swaps.
Security & trust assessment
Risk level: high (verified source, medium confidence).
Who controls it: The proxy admin can upgrade the implementation, and the pot admin can change the delivery recipient; the program owner and operator control split configs and ownership, so a privileged key could redirect or stop harvested fee flows.
Risk to user funds: The hook holds harvested fees temporarily and can hold carried, parked or held balances; it moves currency through the PoolManager and GlueStick, so a bug or malicious upgrade could affect LP fee value, but direct LP principal is held in the program position.
Security findings
- [high] Upgradeable proxy: The hook delegates every call to implementation 0x74ecc... through a proxy, so whoever controls the proxy admin can replace the logic that holds and moves pool fees.
- [medium] Hook moves currency via return deltas: beforeSwapReturnDelta is enabled and the hook takes fees from the pool and sends buyback, burn, and recipient transfers, so it has custody of pool value during swaps.
- [medium] Owner-set recipients and shares: The program owner or operator sets split shares and recipient addresses; a recipient change or share change can redirect harvested fees, though shares are bounded to 100% per side.
- [medium] Parked and held funds: Failed pushes are parked or booked as owed, and burns that fail fall back to a held balance on the hook with no withdrawal path, so some value can be permanently stuck.
- [info] Source partially truncated: The provided source was cut off, so some GluedV4Core and callback behaviour is inferred and confidence is reduced.
Contract details
- Verified source
- Yes (GlueLiquidity)
- Compiler
- solc 0.8.35+commit.47b9dedd
- Bytecode size
- 23,680 bytes
- Upgradeable proxy
- Yes
- Detected patterns
- erc20, liquidity-management, moves-currency, return-delta, self-unlock, upgradeable
Pools using GlueLiquidity
- POL / GHST (0.304% fee) — 24h volume $0, TVL $0.06, 0 swaps today