UniHooks

RallyHook

RobinhoodRegistered

A token launch hook that runs a virtual constant-product bonding curve. During the curve phase, the hook serves swaps from its own inventory against virtual reserves; upon reaching the graduation threshold, it atomically seeds a permanent full-range CLMM position and thereafter collects protocol fees on all swaps.

0x729db85927d09efa42fec9cd6b7ab85d47ae28cc First pool 18 Aug 2026View on explorer
ALooks safeRegistered, verified, immutable
Pools
41
Dynamic-fee pools
41
Last new pool
2mo
Code size
22,778 B

What it can do

Runs code on every swap

Its code executes inside each trade in pools that use it.

Can take tokens from swaps

It can take or add tokens during a swap. Fees, burns and custom curves work this way, and so do scams.

Sets its own swap fee

Pools using it let the hook choose the swap fee instead of a fixed tier.

Gates who can add liquidity

It checks every deposit before it goes in.

Runs at pool creation

It runs when a pool is created, often to lock in that pool’s settings.

Safety report

Automated checks, not an audit
✓Not upgradeableNo proxy pattern found: the code is fixed.
✓No owner foundNo owner() function: nobody has an admin switch (as far as the standard check goes).
✓Listed in Uniswap’s hook registryRegistered with Uniswap Labs (a listing, not a security review).
✓Source code publishedThe code on the block explorer matches what's deployed (contract: RallyHook).
iCan change swap amountsIt has a ReturnDelta permission. Normal for fees and burns, but also how fake-quote hooks steal.
?No audit linkedAutomated checks only.

Pools using this hook

41 total
PairCreatedFeePool ID
AI / USDG 2mo dynamic 0xb97f…d400 Tx ↗
WETH / RTH 2mo dynamic 0x4434…99c2 Tx ↗
WETH / VLADOSAI 2mo dynamic 0x3eda…73b0 Tx ↗
ASDF / USDG 2mo dynamic 0x1440…b19b Tx ↗
WETH / NITRO 2mo dynamic 0xc638…ad56 Tx ↗
WETH / LUPI 2mo dynamic 0x5e3c…b0e1 Tx ↗
WETH / UP 2mo dynamic 0x383e…bf12 Tx ↗
WETH / PUMP 2mo dynamic 0xd8b2…c321 Tx ↗
WETH / 0x1f60…bfc7 2mo dynamic 0x4ae7…e0dd Tx ↗
WETH / 0x1f60…2fb1 2mo dynamic 0xe818…cc7c Tx ↗
WETH / 0x1f60…82b9 2mo dynamic 0xfc52…3a78 Tx ↗
WETH / 0x1f60…8f75 2mo dynamic 0x97b2…f31b Tx ↗
WETH / 0x1f60…9af8 2mo dynamic 0x7f8c…6c4f Tx ↗
WETH / 0x1f60…ce49 2mo dynamic 0x321d…c522 Tx ↗
WETH / 0x1f60…9406 2mo dynamic 0x2e45…d3cb Tx ↗
WETH / 0x1f60…6417 2mo dynamic 0x3021…57e1 Tx ↗
WETH / 0x1f60…2703 2mo dynamic 0xc066…0073 Tx ↗
WETH / 0x1f60…828f 2mo dynamic 0x04da…449c Tx ↗
WETH / 0x1f60…d7d1 2mo dynamic 0x9684…1dbb Tx ↗
WETH / 0x1f60…aea8 2mo dynamic 0x5a47…594d Tx ↗
WETH / 0x1f60…eea3 2mo dynamic 0x0dc4…fda2 Tx ↗
WETH / 0x1f60…eba5 2mo dynamic 0x98ab…1fce Tx ↗
WETH / 0x1f60…5100 2mo dynamic 0x2e33…a26f Tx ↗
WETH / 0x1f60…9745 2mo dynamic 0x6b0d…97f4 Tx ↗
WETH / 0x1f60…f038 2mo dynamic 0x2c68…d7d7 Tx ↗
WETH / 0x1f60…155d 2mo dynamic 0x9202…2d59 Tx ↗
WETH / 0x1f60…8289 2mo dynamic 0xc0a8…bfdf Tx ↗
WETH / 0x1f60…3878 2mo dynamic 0xbbf8…a32c Tx ↗
WETH / 0x1f60…1a98 2mo dynamic 0xe16f…f1f0 Tx ↗
WETH / 0x1f60…d358 2mo dynamic 0xb88c…ac62 Tx ↗
WETH / 0x1f60…afef 2mo dynamic 0x8177…9f53 Tx ↗
WETH / 0x1f60…3204 2mo dynamic 0x052e…6c19 Tx ↗
WETH / 0x1f60…6f97 2mo dynamic 0x20b0…2e06 Tx ↗
WETH / 0x1f60…f635 2mo dynamic 0x7d82…3690 Tx ↗
WETH / 0x1f60…f577 2mo dynamic 0xe68c…3450 Tx ↗
WETH / 0x1f60…e1f8 2mo dynamic 0xe916…1496 Tx ↗
WETH / 0x1f60…13e5 2mo dynamic 0x1453…ad95 Tx ↗
WETH / 0x1f60…3b85 2mo dynamic 0x7e1c…bf73 Tx ↗
WETH / 0x1f60…bebf 2mo dynamic 0xdf1a…eae8 Tx ↗
WETH / 0x1f60…77a1 2mo dynamic 0xe719…d4b4 Tx ↗
WETH / 0x1f60…85a1 2mo dynamic 0xec29…5554 Tx ↗