Deployments

A DualPool test deployment is live on Ethereum mainnet. The hook address encodes DualPool's permission flags per the v4 convention.

Ethereum mainnet (chain id 1)

ContractAddress
DualPoolHook (Steakhouse vaults)0x0000…aaC0
DualPoolHook (sky.money vaults)0x0000…AaC0
PoolManager (v4)0x0000…8A90
UniversalRouter0x66a9…A8Af
Permit20x0000…8BA3

PoolManager, UniversalRouter, and Permit2 are the canonical Uniswap deployments this interface routes through; only the hook is DualPool-specific.

Live pools

USDC / USDT · Steakhouse vaults

ParameterValue
Pool ID0xf32349cbc41fec9d3194f2b4e9ee72ded0bfda412427be9cb8a4087f74bdb065
Fee10 pips (0.001%)
Tick spacing10
Steakhouse High Yield USDC (ERC-4626)0xbeef…a757
Steakhouse USDT Prime (ERC-4626)0xbeef…2bf9
External depositsEnabled

The PoolKey is (USDC, USDT, 10, 10, DualPoolHook), and the pool ID is keccak256(abi.encode(poolKey)). Both tokens use 6 decimals. Live figures for this pool stream on the pool page.

USDC / USDT · sky.money vaults

A second deployment of the same hook with the same pool parameters (fee 10 pips, tick spacing 10), backed by sky.money Risk Capital vaults. Live on the pool page.

ParameterValue
Pool ID0xda85f9c1506a345d198019886cbecff4b77f5e6c5460d107d0e27faa4e0d89e7
sky.money USDC Risk Capital (ERC-4626)0x56bf…3ecf
sky.money USDT Risk Capital (ERC-4626)0x2bD3…0E3d
External depositsEnabled
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. This interface asserts its computed pool ID against the live one in its test suite.