Custom pricing hook on Arbitrum

Uniswap v4 Hook Contract 0x5cfa4d80414951434dc8f3ee9caa7ed6fc642000 on Arbitrum · Custom pricing

Volume (24h)
$1.68K
Value locked (TVL)
$4.00K
All-time volume
$4.84K
Pools using this hook
1
Swaps (24h)
5 (5 traders)
Total swaps
123

What it does

A Uniswap v4 hook that runs at pool initialization and is tied to sUSDai and USDC, appearing to manage pool-specific net asset value state for a fixed-fee pool.

How it works step by step

  • Runs a validation and setup step in beforeInitialize when a pool is created with this hook
  • Exposes the pool key, fee, tick spacing and pool manager as read-only values
  • References sUSDai and USDC token addresses along with their unit scales
  • Tracks navState and shareUnit, which suggest NAV-style accounting for the pool
  • Holds a reference to a safe address, possibly for privileged or treasury roles
Swap behaviour
No swap callbacks.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Exposes a FEE() view and TICK_SPACING() view, suggesting the pool is initialized with a fixed fee and tick spacing; no fee-setting logic was identified in the decoded functions.
Owner & admin controls
No admin controls found in decoded functions; no owner, pause or upgrade selectors detected.

Enabled Uniswap v4 callbacks

beforeInitialize

beforeInitialize: runs when a pool using this hook is initialized, and appears to validate the pool key and set up pool-specific state such as navState, shareUnit and usdcUnit.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, low confidence).

Who controls it: Cannot be determined from decoded bytecode; no privileged setter selectors were identified, but the hook references a safe address and a poolManager address that may hold privileged roles.

Risk to user funds: Based on enabled permissions the hook has no swap or liquidity callbacks and does not take return deltas, so it appears unable to directly hold or move pool funds; full exposure cannot be confirmed without source or a complete bytecode analysis.

Security findings

  • [info] Externally referenced accounting state: Bytecode exposes a safe() getter and a navState() getter, which suggests the hook tracks external accounting state tied to a multisig or external contract. The decoded functions do not show how that state is updated.
  • [info] Dependence on external token contracts: The hook is wired to sUSDai and usdc token addresses and depends on their unit values. Behaviour depends on those external token contracts being honest and behaving as expected.
  • [info] Narrow callback surface: Only beforeInitialize is enabled, so the hook does not intercept swaps or liquidity changes directly. Pool funds are not expected to be held or moved by the hook from the permissions alone.

Contract details

Verified source
No
Bytecode size
4,958 bytes
Upgradeable proxy
No

Pools using Custom pricing hook