FewUSDTHook on Ethereum
Uniswap v4 Hook Contract 0x905887ac3d351ac8be61ae50c30cc857e8cd6888 on Ethereum · Utility · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 1 (1 traders)
- Total swaps
- 30
What it does
Lets a Uniswap v4 pool trade USDT against its wrapped fewUSDT token at a 1:1 rate, with each swap wrapping or unwrapping through the fewUSDT contract instead of using the AMM curve.
How it works step by step
- Validates in beforeInitialize that the pool holds exactly the USDT and fewUSDT pair with a zero fee.
- Allows liquidity additions through beforeAddLiquidity without custom logic.
- In beforeSwap, wraps USDT into fewUSDT when swapping in the wrap direction, using the fewUSDT.wrap call.
- In beforeSwap, unwraps fewUSDT into USDT when swapping in the opposite direction, using the fewUSDT.unwrap call.
- Uses beforeSwapReturnDelta to report a 1:1 swap delta so the pool's curve is bypassed.
- Keeps a max approval from the hook to fewUSDT for the underlying USDT token.
- Swap behaviour
- On each swap the hook takes the input token from the pool manager, wraps USDT into fewUSDT or unwraps fewUSDT into USDT depending on direction, settles the output back to the pool manager, and returns a custom delta that replaces the normal swap.
- Liquidity behaviour
- beforeAddLiquidity is enabled but only returns the selector, allowing liquidity to be added. No remove-liquidity callbacks are used.
- Fee behaviour
- Pool fee must be 0 (enforced in beforeInitialize). The hook charges no fee; swaps are a 1:1 wrap or unwrap.
- Owner & admin controls
- No admin controls found. The fewUSDT and currency addresses are immutable, set in the constructor, and there is no owner, pause or upgrade function in the source.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta
beforeInitialize validates the pool pair and zero fee; beforeAddLiquidity permits liquidity additions; beforeSwap performs the wrap or unwrap of USDT to fewUSDT and back and takes or settles the difference via return deltas; beforeSwapReturnDelta lets the hook return the custom swap delta that replaces the AMM swap.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: No privileged role is exposed. Users are not exposed to an owner key that can change parameters, pause swaps or upgrade the contract.
Risk to user funds: The hook takes input tokens from the pool manager and holds them temporarily while wrapping or unwrapping, then settles output. Funds are not custodied long-term, but the hook can hold USDT and fewUSDT balances between operations and depends entirely on the external fewUSDT contract for correct conversion.
Security findings
- [medium] Swaps are fully delegated to an external wrapper contract: beforeSwap returns a custom delta, so swaps bypass the pool's curve and are executed as 1:1 wraps or unwraps via the external fewUSDT contract, which determines the actual conversion.
- [medium] Dependence on external fewUSDT contract: The hook relies on the external fewUSDT.wrap and unwrap functions for conversion; if that contract is paused, faulty or malicious, swaps through this pool fail or misprice.
- [low] Standing max approval and hook-held balances: The hook holds approval of max uint256 for USDT to fewUSDT and its balances are used during swaps; any tokens sent directly to the hook are usable by subsequent swaps.
- [info] Pool is constrained to a single pair with zero fee: Pool initialization is restricted to the wrapper and underlying pair with zero fee, and swap amounts are 1:1 without slippage or fee protection beyond the wrapper's own rate.
Contract details
- Verified source
- Yes (FewUSDTHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 6,536 bytes
- Upgradeable proxy
- No
- Detected patterns
- return-delta
Pools using FewUSDTHook
- USDT / fwUSDT (0.00% fee) — 24h volume $0, TVL $0, 1 swaps today