TokiHook on Arbitrum
Uniswap v4 Hook Contract 0x982f06e8218ca86676c6c0a45172fbbdbb711888 on Arbitrum · Custom pricing · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 19
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 34
What it does
A custom fixed-rate curve hook for Pendle-style yield trading of Principal Tokens on Uniswap v4, where liquidity is added only through the hook and the pool tracks a TWAP-style implied rate.
How it works step by step
- Replaces Uniswap v4's standard pool math with a custom curve that prices swaps against a logarithmic implied rate and pool balances.
- Blocks direct PoolManager liquidity additions; liquidity can only be added through the hook's addLiquidity, which mints a pool-specific LP token.
- Optionally rehypothecates idle pool balances into ERC4626 vaults for both currencies, with ratio targets controlled by the curator.
- Maintains an oracle of the implied rate with expandable observation cardinality that anyone can pay to increase.
- Splits swap fees between a curator and the protocol treasury, with fee collection through the PoolManager unlock flow.
- Enforces pause flags and expiry: swaps and deposits stop permanently after maturity, and withdrawals remain available.
- Swap behaviour
- beforeSwap runs the custom curve, returning a delta so the hook settles the swap itself instead of the standard v4 AMM; fees are taken in the underlying token and split between curator and protocol. Swaps are blocked when paused or after expiry, and reject exchange rates below one or out-of-range proportions.
- Liquidity behaviour
- Adds are routed through the hook: user tokens are transferred in, optionally deposited into vaults, moved into PoolManager claim balances, and LP tokens are minted (with a locked minimum liquidity on first deposit). Removals burn LP tokens and return raw balances plus vault withdrawals. Direct PoolManager liquidity additions are rejected by beforeAddLiquidity.
- Fee behaviour
- The pool's static fee must be zero; fees are computed by the curve and accrued to curatorFee and protocolFee storage, then sent out through the PoolManager by collectCuratorFee (access-managed) and collectProtocolFee (restricted, sent to the factory treasury).
- Owner & admin controls
- Curator (via the AccessManager) can update vault addresses and target/min/max ratios, freeze them permanently, unwind vault positions, and collect curator fees. The protocol Dev role can collect protocol fees to the treasury. Pausing is configured by the curator at deployment and applies to swaps, deposits, withdrawals and LP transfers. The hook itself is not upgradeable.
Enabled Uniswap v4 callbacks
afterInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta
afterInitialize enforces a zero pool fee; beforeAddLiquidity reverts direct PoolManager liquidity so only hook-mediated deposits are allowed; beforeSwap executes the custom curve and returns a delta; beforeSwapReturnDelta lets the hook take or owe tokens during swaps.
Security & trust assessment
Risk level: medium (verified source, medium confidence).
Who controls it: A curator key can freeze or change vaults, shift balances into or out of rehypothecation vaults, pause swaps and deposits, and collect curator fees; the protocol Dev role can collect protocol fees to the treasury.
Risk to user funds: The hook custodies pool funds in PoolManager claim balances and can move them into external ERC4626 vaults; vault losses are socialized to LPs, and the hook can block withdrawals via pause flags only where configured.
Security findings
- [medium] Curator controls vault allocation: The curator can set or replace the ERC4626 vaults and ratios and call unwindVault, moving pool balances into and out of external vaults whose loss is socialized to LPs.
- [medium] Swaps and deposits can be paused: The curator-controlled pause flags can block swaps and LP deposits or withdrawals, and the hook takes tokens through return deltas during swaps.
- [medium] Hooklet extension point: An optional immutable hooklet executes arbitrary logic on swaps and liquidity operations; its security is delegated to the curator and could revert or manipulate flows.
- [low] Vault rounding and fee edge cases: Vault fees or rounding can reduce deposited amounts and leave deficits handled by pulling tokens from users; the code notes this as an edge case.
- [info] Curator fee collection by access manager: collectCuratorFee is restricted by the pool's access manager, so whoever controls that manager receives accrued curator fees.
Contract details
- Verified source
- Yes (TokiHook)
- Compiler
- solc 0.8.28+commit.7893614a
- Bytecode size
- 23,988 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc6909-claims, liquidity-management, moves-currency, oracle, pausable, return-delta, self-unlock
Pools using TokiHook
- sUSDai / PT-sUSDai@6/9/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- fUSDC / PT-fUSDC@8/7/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@6/7/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- wstETH / PT-wstETH@31/3/2027 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@5/6/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@14/7/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@31/3/2027 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@15/7/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@15/7/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@13/7/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@30/6/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@30/6/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@30/6/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- fUSDC / PT-fUSDC@27/6/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- fUSDC / PT-fUSDC@6/9/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@5/9/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- sUSDai / PT-sUSDai@5/6/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- fWETH / PT-fWETH@3/6/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today
- gtUSDCp / PT-gtUSDCp@2/6/2026 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today