EVPLUSAI on Robinhood Chain
Uniswap v4 Hook Contract 0xcb787a5cdea8b3715d984d82f1203fd7bfebe0c4 on Robinhood Chain · Dynamic fee · Verified contract
- Volume (24h)
- $2.08K
- Value locked (TVL)
- $3.87K
- All-time volume
- $1.12M
- Pools using this hook
- 1
- Swaps (24h)
- 166 (116 traders)
- Total swaps
- 12,587
What it does
A Uniswap v4 pool hook that applies a worker-set dynamic fee to swaps, with 90% going to LPs and 10% to the platform treasury.
How it works step by step
- Only pools created by the owner through createPool are accepted, with the hook address as the only allowed initializer.
- A registered worker posts zeroForOne and oneForZero fees between 0.025% and 0.9% with a short expiry and replay-protected sequence numbers.
- beforeSwap applies the current directional fee as an LP override fee, expiring to a 0.05% base fee when stale.
- afterSwap computes a 10% platform share of the swap fee on the actual unspecified amount and mints it as PoolManager claims.
- Anyone can call sweepPlatformFees to redeem the hook's claims to the configured treasury, retaining one raw unit.
- Owner can recover tokens sent directly to the hook and can permanently freeze the treasury address.
- Swap behaviour
- Each swap uses the worker-posted directional fee (or 0.05% base if expired), and afterSwap takes 10% of the fee budget from the unspecified side and mints it to the hook as a claim.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Each pool's directional LP fee is set by an authorised worker via postFees, bounded between 250 and 9000 pips and expiring back to a 500 pip base fee after a short TTL. On each swap the hook takes 10% of the posted fee budget as a platform charge on the actual unspecified amount via afterSwap, minted as PoolManager claims to the hook and sweepable to the treasury.
- Owner & admin controls
- Owner (Ownable2Step, renounce disabled) can create pools, replace the per-pool worker with setWorker, set and freeze the treasury (freeze is permanent), transfer ownership, and recover tokens held directly by the hook. Owner cannot set fees outside the 0.025% to 0.9% bounds enforced in postFees, and there is no upgrade path or pause function.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, afterSwapReturnDelta
beforeInitialize restricts pool initialization to the hook itself; beforeSwap returns the worker-set dynamic LP fee with the override flag; afterSwap mints platform fee claims from the swap delta and returns that amount as an afterSwapReturnDelta.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: The worker key sets the live fee for each pool within bounds, which can make trades costlier or cheaper for up to 0.9% per swap; the owner can redirect the treasury until frozen and can change workers, which immediately clears prices for that pool.
Risk to user funds: The hook holds only its own minted PoolManager claims and any tokens sent directly to it, which the owner can recover. It cannot move LP principal or block swaps directly, but pricing decided by the worker and the 10% platform charge affect the swap output users receive.
Security findings
- [medium] Single worker controls pricing: Fees are posted by a single per-pool worker address; a compromised or malicious worker can set both directional fees to the maximum 0.9% until the TTL expires.
- [medium] Owner-controlled fee receiver: Owner can replace the treasury and sweep destination until freezeFeeReceiver is called, which is irreversible; owner can also transfer ownership without a timelock.
- [info] Hook takes swap deltas: afterSwap takes a 10% platform charge via afterSwapReturnDelta, so the hook receives output or input tokens on every swap while the pool's LP share is reduced accordingly.
- [info] Immutable implementation: Contract is non-proxy and non-upgradeable; owner cannot pause swaps or upgrade logic.
Contract details
- Verified source
- Yes (EVPLUSAI)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 8,950 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, ownable, return-delta, self-unlock
Pools using EVPLUSAI
- ETH / USDG (Dynamic fee) — 24h volume $2.08K, TVL $3.87K, 166 swaps today