Deployments
Find DualPool factory and contract addresses on Uniswap v4.
Mainnet Deployments
Ethereum: 1
| Contract | Address |
|---|---|
| AllowlistedFactory (DualPool factory) | 0x0000000000077769C332e0D3ed8bC8E02A0cE108 |
The factory is the canonical deployer and discovery registry for DualPool hooks: it only deploys allowlisted, bit-exact builds of the audited bytecode, emits a Deployed event for every hook, and answers isFromFactory(hook) onchain. Every hook it deploys reports the factory from its factory() getter. To deploy a hook through it, see Deploy a Hook.
For contract addresses across all Uniswap protocols, see the deployments explorer.
Example: USDC/USDT Test Deployment
Example only
The contract and pool below are a test deployment operated for protocol validation. Treat them as an example of a live DualPool configuration, not as canonical protocol addresses. This hook predates the factory and is not registered in it, so factory-anchored discovery will not surface it.
The hook address encodes DualPool's permission flags per the v4 convention. The hook source code is available at DualPoolHook.sol.
| Contract (example) | Address |
|---|---|
| DualPoolHook | 0x00000078BD49D5279a99b5F4011a5C61eE8caaC0 |
Pool Parameters
| Parameter | Value |
|---|---|
| Pool ID | 0xf32349cbc41fec9d3194f2b4e9ee72ded0bfda412427be9cb8a4087f74bdb065 |
| Fee | 10 pips (0.001%) |
| Tick spacing | 10 |
| Steakhouse High Yield USDCÂ (ERC-4626) | 0xbeeff2C5bF38f90e3482a8b19F12E5a6D2FCa757 |
| Steakhouse USDT Prime (ERC-4626) | 0xbeef003C68896c7D2c3c60d363e8d71a49Ab2bf9 |
| External deposits | Enabled |
The PoolKey is (USDC, USDT, 10, 10, DualPoolHook), and the pool ID is keccak256(abi.encode(poolKey)). Both tokens use 6Â decimals.
Do not hardcode derived values the chain can tell you: read vault addresses from vaults(poolId, currency) on the hook, and compute pool IDs by hashing the key.