UniHooks

OneTimeLaunchHookTemplate

EthereumRegistered

A one-time launch template that restricts pool initialization and initial liquidity to a single occurrence per token. In afterSwap, when activated via trigger(), non-zeroForOne swaps are gated by an owner-managed allowlist (hasValue mapping) checked via tx.origin.

0xcd2e1a2e28fbd9735f244418f4f447cbe34fa840 First pool 12 May 2026View on explorer
ALooks safeRegistered, verified, immutable
Pools
3
Dynamic-fee pools
0
Last new pool
5mo
Code size
3,971 B

What it can do

Runs code on every swap

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

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: OneTimeLaunchHookTemplate).
iRestricted swapsSwap access: allowlist. Not everyone can trade every pool.
?No audit linkedAutomated checks only.

Pools using this hook

3 total
PairCreatedFeePool ID
ETH / HYP3 5mo 0.30% 0x44af…86a7 Tx ↗
ETH / P3RP 5mo 0.30% 0xa378…8d3e Tx ↗
ETH / ERA 5mo 0.30% 0xd6dc…96ca Tx ↗