LimitOrderHook on Base
Uniswap v4 Hook Contract 0x088744b7c06be18594bc8665bc716986e36140c0 on Base · Limit orders · Verified contract
- Volume (24h)
- $108
- Value locked (TVL)
- $399
- All-time volume
- $2.19K
- Pools using this hook
- 2
- Swaps (24h)
- 8 (5 traders)
- Total swaps
- 4,495
What it does
This hook watches each swap's price movement to trigger limit order fills in an external manager, charging traders only the pool LP fee (0% to 5%, admin-set) with no extra hook fee and no limits on LP withdrawals.
This read was written for the hook 0xd733…00c0 on Arbitrum and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.
How it works step by step
- Records the pool price before each swap and compares it to the price after the swap.
- After every swap, tells an external limit order manager contract which price range was crossed so it can fill matching limit orders.
- Lets a fee manager set the pool's LP fee (for dynamic-fee pools) anywhere from 0% to 5%.
- Does not take any tokens from swaps itself and never runs on liquidity changes.
- Swap behaviour
- Before a swap the hook notes the current price; after the swap it calls the limit order manager to execute any orders whose price was crossed. It does not change swap amounts or charge an extra fee, though a failure in the manager call would make the swap revert.
- Liquidity behaviour
- No liquidity callbacks; LPs can add and withdraw freely.
- Fee behaviour
- Uses the pool's LP fee, which on dynamic-fee pools can be set by the fee manager between 0% and 5%, paid to LPs. Any limit-order fees are handled in the separate limit order manager, not this hook.
- Owner & admin controls
- Holders of the fee manager role can update a pool's dynamic LP fee, capped at 5%. The default admin can grant or revoke roles; the limit order manager address is fixed at deployment.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap
beforeSwap: saves the pre-swap price; afterSwap: triggers limit order execution in the external manager for crossed price ranges.
Security & trust assessment
Risk level: low, estimated (decoded bytecode, high confidence).
Who controls it: An admin holds role control and the fee manager role, letting them change the LP fee within 0% to 5%. They cannot touch LP funds or block withdrawals through this hook.
Risk to user funds: The hook holds no user funds and cannot deduct tokens from swaps; the only lever is the LP fee capped at 5%. LP withdrawals are unrestricted.
Security findings
- [info] LP fee adjustable up to 5%: The fee manager can set the dynamic LP fee from 0% to 5%, enforced by a hard-coded cap; fees go to LPs.
- [low] Swaps depend on external manager: Every swap calls the immutable limit order manager; if that contract reverts, swaps in the pool fail. Its own fee and keeper logic is not covered by this source.
- [info] No withdrawal control: Remove-liquidity callbacks and return deltas are disabled, so the hook cannot block withdrawals or take tokens from swaps.
Contract details
- Verified source
- Yes (LimitOrderHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 5,472 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, limit-orders
Pools using LimitOrderHook
- USDC / U (1.00% fee) — 24h volume $107, TVL $373, 5 swaps today
- USDC / NOCK (Dynamic fee) — 24h volume $0.82, TVL $26, 3 swaps today