Chain
robinhood
Hook Address
0x03D482cB3Ff339C2d29736818D0F72c66dD6A040
Hook Name
GlueHook
Description
GlueHook V3 — a free, keyless, general-purpose Uniswap V4 hook any project can attach to its own pool permissionlessly. Each pool gets a buyback pot (a per-pool treasury in the paired asset, fillable by anyone) that buys the pool's main asset behind every swap, in both directions — behind a buyer it adds to the buy, behind a seller it buys the dip — sized by the pool's own fee × depth, paced by a spend bucket tied to the fees the pool earns, and gated on a ten-minute time-weighted reference tick. No oracle, no keeper: traffic is the trigger. What the pot buys is delivered to the pot's recipient; address(0) means burn through the Glue Protocol. Each pool may also run a self-compounding LP program: one hook-held position whose fees are auto-harvested inside swaps and split between autocompound, pot refuel, burn and a recipient. Permission bits 0x2040 (beforeInitialize + afterSwap only): the hook never touches the swapper's amounts, quotes are exact vanilla V4 math, and every hook action runs in a try/catch self-call so a swap can never be blocked. Not upgradeable, no owner or admin keys, 0% protocol fee, static-fee pools only, pools route with empty hookData. Same address on 14 mainnets and 5 testnets.
Deployer Address
0xe9009763480C401174Eed353256C242Dd2D3F60D
Audit URL
https://github.com/glue-finance/glueHook/tree/main/audit
Addresses and generations
| Generation |
Hook |
Bits |
Status |
| V3 (this submission) |
0x03D482cB3Ff339C2d29736818D0F72c66dD6A040 |
0x2040 |
live — the hook new pools use; landed 2026-09-16 |
| V2 (registered earlier for some chains) |
0x0F41715dc432692b66A5aDF8dCfef6Ac407b20c8 |
0x20C8 |
superseded; still deployed for its own pools |
| V1 (registered earlier for some chains) |
0xb216070c3509047ea597E2E626A29cea427a60C8 |
0x20C8 |
superseded; still deployed for its own pools |
V3 replaces the V1/V2 entries as the live GlueHook. Every generation was deployed with plain CREATE from a nonce-0 deployer (library at nonce 0, hook at nonce 1), which is why one address holds the same code on every network. Linked library GlueLiquidity 0x01f739de084e7Cd3554dd4fABA970D346d3DD8Bb; compile-time GLUE_STICK 0xBe99cB426fDf30F95784337d4e8CC460AC8e8608. Source-verified on this chain's explorer: https://robinscan.io/address/0x03D482cB3Ff339C2d29736818D0F72c66dD6A040
Why V3 (what changed vs V1/V2)
Launch write-up with the full numbers: https://x.com/glue_fi/status/2100237021264450020
- The pot can no longer empty itself in one transaction. V1/V2 ran two modes — buying on buys and defending on sells — and the defence could spend 100% of the pot at whatever price was on screen. V3 turns the defence into a buy and puts a TWAP underneath it: the most it spends behind any one swap is
0.8·f·R (0.8% of pool depth at a 1% pool), measured against its own ten-minute time-weighted reference. It buys in slices — hard into dips, pulling back as a rally runs ahead of the reference.
- One mechanism, behind every swap, in both directions. The pump runs inside the swapper's own transaction — nothing in the mempool to front-run.
- 20× to 67× harder to play. The sandwich was already closed in V2 (−40% of fees). V3 closes the other two doors: unlocking the pot costs 50% of it in fees instead of 2.5%, round-trip farming needs a bag of ~16% of pool depth instead of ~1.25%, a pushed premium
d shrinks the pump to f/d, and the reference rises at most 3% a minute. Spend = 0.8 · min(f·R, f·R·bucket, s(d)·B, pot).
- The before-swap path is gone.
0x2040 = beforeInitialize + afterSwap only; no beforeSwap, no return delta. Quotes are exact, swaps cannot be blocked, the surface shrank.
- Cheaper Glue integration. Burns go through the Glue Protocol directly (wrapper-aware); native programs stream live harvest data to Glue's staking/locking engines.
Live pool on Robinhood Chain
|
|
| Pair |
ETH / FRONG 0x6245…0c47 |
| PoolKey |
fee = 10000, tickSpacing = 200, hooks = 0x03d482cb3ff339c2d29736818d0f72c66dd6a040 |
| PoolId |
0x379942326fb165e0fad582afb3e485d67c994be347af4c3658af6f6ce81f0ae9 |
| Activity |
launched via launchPool, swapped both ways through the Universal Router, LP added, 50% removed (2026-09-16) |
Properties (for the registry)
dynamicFee: false — dynamic-fee keys are refused at beforeInitialize
upgradeable: false — no proxy, no admin, no pause
requiresCustomSwapData: false — empty hookData
- flags:
beforeInitialize, afterSwap; no *ReturnsDelta
References
Chain
robinhood
Hook Address
0x03D482cB3Ff339C2d29736818D0F72c66dD6A040
Hook Name
GlueHook
Description
GlueHook V3 — a free, keyless, general-purpose Uniswap V4 hook any project can attach to its own pool permissionlessly. Each pool gets a buyback pot (a per-pool treasury in the paired asset, fillable by anyone) that buys the pool's main asset behind every swap, in both directions — behind a buyer it adds to the buy, behind a seller it buys the dip — sized by the pool's own fee × depth, paced by a spend bucket tied to the fees the pool earns, and gated on a ten-minute time-weighted reference tick. No oracle, no keeper: traffic is the trigger. What the pot buys is delivered to the pot's recipient;
address(0)means burn through the Glue Protocol. Each pool may also run a self-compounding LP program: one hook-held position whose fees are auto-harvested inside swaps and split between autocompound, pot refuel, burn and a recipient. Permission bits0x2040(beforeInitialize+afterSwaponly): the hook never touches the swapper's amounts, quotes are exact vanilla V4 math, and every hook action runs in a try/catch self-call so a swap can never be blocked. Not upgradeable, no owner or admin keys, 0% protocol fee, static-fee pools only, pools route with emptyhookData. Same address on 14 mainnets and 5 testnets.Deployer Address
0xe9009763480C401174Eed353256C242Dd2D3F60D
Audit URL
https://github.com/glue-finance/glueHook/tree/main/audit
Addresses and generations
0x03D482cB3Ff339C2d29736818D0F72c66dD6A0400x20400x0F41715dc432692b66A5aDF8dCfef6Ac407b20c80x20C80xb216070c3509047ea597E2E626A29cea427a60C80x20C8V3 replaces the V1/V2 entries as the live GlueHook. Every generation was deployed with plain
CREATEfrom a nonce-0 deployer (library at nonce 0, hook at nonce 1), which is why one address holds the same code on every network. Linked libraryGlueLiquidity0x01f739de084e7Cd3554dd4fABA970D346d3DD8Bb; compile-timeGLUE_STICK0xBe99cB426fDf30F95784337d4e8CC460AC8e8608. Source-verified on this chain's explorer: https://robinscan.io/address/0x03D482cB3Ff339C2d29736818D0F72c66dD6A040Why V3 (what changed vs V1/V2)
Launch write-up with the full numbers: https://x.com/glue_fi/status/2100237021264450020
0.8·f·R(0.8% of pool depth at a 1% pool), measured against its own ten-minute time-weighted reference. It buys in slices — hard into dips, pulling back as a rally runs ahead of the reference.dshrinks the pump tof/d, and the reference rises at most 3% a minute. Spend =0.8 · min(f·R, f·R·bucket, s(d)·B, pot).0x2040=beforeInitialize+afterSwaponly; nobeforeSwap, no return delta. Quotes are exact, swaps cannot be blocked, the surface shrank.Live pool on Robinhood Chain
0x6245…0c47fee = 10000,tickSpacing = 200,hooks = 0x03d482cb3ff339c2d29736818d0f72c66dd6a0400x379942326fb165e0fad582afb3e485d67c994be347af4c3658af6f6ce81f0ae9launchPool, swapped both ways through the Universal Router, LP added, 50% removed (2026-09-16)Properties (for the registry)
dynamicFee: false— dynamic-fee keys are refused atbeforeInitializeupgradeable: false— no proxy, no admin, no pauserequiresCustomSwapData: false— emptyhookDatabeforeInitialize,afterSwap; no*ReturnsDeltaReferences
legacy/): https://github.com/glue-finance/glueHook · Docs: https://gluehook.trade/docs · App: https://gluehook.tradeV4Quoteroutput): chore: allowlist GlueHook V3 hook (replaces #1408) routing-api#1414