Custom pricing hook on Base
Uniswap v4 Hook Contract 0xd49f2426c19cba72d7ae919d7704f3497b234888 on Base · Custom pricing
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
A permissioned primary-market hook that lets approved investors buy or redeem tokenized fund shares for USDC at an oracle NAV price, with no visible extra fee, and the issuer able to pause trading or block investors.
How it works step by step
- Acts as a primary market for a tokenized fund share (GRO token): swaps USDC for newly minted shares or redeems shares back for USDC at an oracle NAV price, rather than using pool curve liquidity.
- Checks investor eligibility on swaps: the trader (via router msgSender) must be allowed, not frozen, and the token must not be paused.
- Only supports exact-input swaps; exact-output swaps revert.
- Pulls USDC for redemptions from a USDC Safe/buffer module and can push stranded USDC or sweep leftover balances.
- Blocks regular liquidity additions, since pricing comes from the oracle instead of LPs.
- Swap behaviour
- On each swap the hook takes over the trade through a return delta, pricing it at the NAV oracle price and minting or burning shares and moving USDC to settle it. Swaps revert if the token is paused, swapping is disabled, the investor is not allowed or frozen, the swap is exact-output, or there is not enough redemption USDC.
- Liquidity behaviour
- beforeAddLiquidity likely reverts, so normal LP deposits are not supported. Remove-liquidity callbacks are disabled, so the hook can never block withdrawals of any existing position.
- Fee behaviour
- No explicit swap fee was identified; trades execute at the oracle NAV price. Any spread or fee built into the conversion cannot be confirmed from bytecode.
- Owner & admin controls
- No owner functions are visible in the hook itself, but external token and compliance contracts control pausing, investor allowlists, freezes, swappingEnabled, and the NAV oracle price. Their exact limits are unknown.
Enabled Uniswap v4 callbacks
beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta
beforeAddLiquidity: blocks or gates LP deposits; beforeSwap: checks compliance and prices the trade from the oracle; beforeSwapReturnDelta: replaces the pool swap with the hook's own mint/redeem settlement.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: The fund issuer controls the compliance registry, pause state, the oracle, and the USDC Safe that funds redemptions. They can halt trading or block specific investors, but no direct drain function was observed.
Risk to user funds: The hook handles swap input and output in full, minting or burning shares and paying USDC at the oracle price. No explicit fee range is known, and LP principal cannot be locked because remove callbacks are disabled.
Security findings
- [medium] Permissioned trading: Swaps are gated by external allowlist and freeze checks and a token pause, so the issuer can stop any investor or everyone from trading.
- [medium] Oracle-set pricing: All trades settle at an externally supplied NAV price via return deltas, so traders rely on the oracle's accuracy. Bounds cannot be verified from bytecode.
- [info] No withdrawal blocking: Remove-liquidity callbacks are disabled, so the hook cannot trap LP positions.
Contract details
- Verified source
- No
- Bytecode size
- 14,029 bytes
- Upgradeable proxy
- No
- Detected patterns
- access-control, erc20, erc6909-claims, moves-currency, oracle, pausable, return-delta, self-unlock
Pools using Custom pricing hook
- v4GRO / USDC (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today