Pools
A Uniswap V4 pool is identified by five values, together called the pool key.
| Field | Meaning |
|---|---|
currency0, currency1 | The two tokens, ordered by address. Native HYPE is the zero address, so it is always currency0. |
fee | The liquidity provider fee, in hundredths of a basis point. 3000 is 0.30%. |
tickSpacing | How fine the price grid is. |
hooks | The hook contract's address, or the zero address for no hook. |
Change any one of the five and you have a different pool. That is why a pool is tied to one hook address forever.
Fees and tick spacing
Common pairings:
| Fee | Tick spacing | Typical use |
|---|---|---|
1% (10000) | 200 | New tokens |
0.25% (2500) | 25 | Established pairs |
0.30% (3000) | 60 | General |
0.05% (500) | 10 | Tight pairs |
0.01% (100) | 1 | Stable pairs |
| Dynamic | 200 or 8 | The hook sets the fee |
A lower tick spacing lets liquidity providers place tighter ranges, at the cost of more gas when the price crosses ticks.
Dynamic fees
A pool created with the dynamic fee flag has no fixed fee. Its hook sets the fee, either per swap or by updating it from time to time. A dynamic-fee pool must have a hook.
Starting price
A pool's starting price is set once, in the transaction that creates it. It cannot be changed afterwards. After that, the price only moves through trades.
You give AskHook the price the natural way, for example "40 USDC per HYPE". It sorts the tokens and converts the price for you.
Pools that already exist
Anyone can create a pool for any pool key. If the exact pool you ask for already exists on-chain, AskHook imports it into your dashboard as live instead of preparing a new one, and tells you its current price.
Liquidity
A new pool is empty. Nobody can trade in it until liquidity is added. You can add it from the pool card. See Liquidity and swaps.