Likely fee sharing hook on Tempo

Uniswap v4 Hook Contract 0x8f6d72d343bc00e3ac07105dee7ec083e58f8044 on Tempo · Fee sharing

Volume (24h)
$0
Value locked (TVL)
<$0.01
All-time volume
<$0.01
Pools using this hook
1
Swaps (24h)
0 (0 traders)
Total swaps
2

What it does

Taxes swaps in this pool with an owner-set rate and routes part of the collected value to a treasury and a reward mechanism.

How it works step by step

  • Charges a configurable tax (TAX_RATE) on swaps through an after-swap return delta
  • Routes tax proceeds to a TREASURY address
  • Applies a REWARD_RATE to split part of the collected value into rewards
  • Stores its token reference (TOKEN) that the reward logic uses
  • Owner can update tax rate, reward rate, treasury, token, and ownership
Swap behaviour
afterSwap computes a tax on the swap, takes it via afterSwapReturnDelta, and distributes it according to the treasury and reward rate settings.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
A tax rate (TAX_RATE, packed in slot 2 at offset 20) is applied in afterSwap and the proceeds appear to be routed to a treasury address (slot 2) with a reward rate (REWARD_RATE, slot 2 offset 22) governing a reward portion; exact split math cannot be confirmed without source.
Owner & admin controls
Owner (slot 0) can call setTaxRate(uint16), setRewardRate(uint16), setTreasury(address), setToken(address), and transferOwnership(address). Owner is set via transferOwnership; no pause or upgrade functions were found in the selector list.

Enabled Uniswap v4 callbacks

afterSwap, afterSwapReturnDelta

afterSwap: runs after each swap to compute and collect the tax/reward amount. afterSwapReturnDelta: lets the hook take a share of the swap's output currency as a return delta, so the tax is settled from the swap rather than transferred separately.

Security & trust assessment

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

Who controls it: The owner can set the tax rate and reward rate to any uint16 value without an enforced cap visible in the selector set, potentially setting a very high tax on swaps, and can redirect tax proceeds by changing the treasury address. The owner can also replace the reward token via setToken and transfer ownership at will.

Risk to user funds: The hook takes a share of swap output through afterSwapReturnDelta, so user swap proceeds are directly reduced by the tax. The owner controls the rate and destination, so user funds on swaps are exposed to owner-chosen extraction. Liquidity provider funds are not directly handled by the hook.

Security findings

  • [high] Unbounded owner-set tax rate: setTaxRate accepts any uint16; if no upper bound is enforced in the bytecode, the owner can take a large share of every swap's output.
  • [medium] Owner can redirect tax proceeds: setTreasury lets the owner redirect all collected tax to an arbitrary address at any time.
  • [medium] Hook settles value out of swaps via return delta: The hook uses afterSwapReturnDelta, so it takes a portion of swap output in the pool's currency; a misconfigured or malicious tax rate directly reduces trader output.
  • [low] Owner can change the reward token: Owner can change the token address (setToken) that the reward logic relies on, which could alter which asset is distributed or taxed.
  • [info] Single-step ownership transfer: Ownership is transferable in a single step via transferOwnership with no two-step acceptance observed.

Contract details

Verified source
No
Bytecode size
5,923 bytes
Upgradeable proxy
No
Detected patterns
ownable, return-delta

Pools using Likely fee sharing hook