ArcDynFeeHook on Arc

Uniswap v4 Hook Contract 0x043efe7c1f5f20e87f7b01ba6068029a018e6044 on Arc · Dynamic fee · Verified contract

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

What it does

ArcDynFeeHook charges swappers a fixed-at-launch fee of up to 10 percent per side on the unspecified side of each swap, with buy and sell rates set independently, so the fee a trader pays depends on their direction, and the platform admin can only lower those fees over time.

How it works step by step

  • Binds each Uniswap v4 pool it serves to a launch token during beforeInitialize, accepting only initializations from the configured venue for registered pools
  • Stores per-token fee rates for buys and sells separately, stamped once at launch via registerFees and capped at 10 percent per side
  • Charges the fee in afterSwap on the unspecified currency by taking a return delta from the swapper, splitting the platform's share and the creator's cut
  • Routes the platform share to the platform address and the creator cut to the token's treasury, with the platform taking a configured share of the creator cut
  • Falls back to minting ERC-6909 escrow to the hook when a payout fails (for example a blocklisted recipient), so swaps do not revert, and lets anyone redeem escrow via redeemEscrow
  • Allows the platform admin to lower (never raise) a token's platform buy or sell fee via lowerPlatformFees
Swap behaviour
On every swap, afterSwap computes the fee for the swap direction (buy if the launch token is the output, sell otherwise) using the token's fixed rates capped at 10 percent per side. The fee is taken from the unspecified side as a return delta, so the swapper receives less output on exact-input swaps or pays more input on exact-output swaps. Buys and sells use independent rates, so trades in one direction can pay more or less than the other depending on the configured values.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Each token has separate platform and creator fee rates for buys and sells, fixed at launch with a 10 percent cap per side enforced at registration and clamped at charge time. The platform buy and sell fees can only be lowered after launch by the platform admin. The creator fee is immutable. The platform takes a configured share of the creator cut, capped at 50 percent by the token contract.
Owner & admin controls
The launcher's admin (platform owner, read through the venue) can lower the platform buy and sell fees per token but cannot raise them. The launcher address (venue's pad) is the only caller allowed to register fees once per token. The venue is the only caller allowed to register pools. There is no pause, no upgradeability and no owner setter for creator fees visible in the source.

Enabled Uniswap v4 callbacks

beforeInitialize, afterSwap, afterSwapReturnDelta

beforeInitialize restricts pool initialization to the venue for pools bound to a token. afterSwap charges the swap fee as a return delta, which lets the hook take part of the swap's unspecified currency.

Security & trust assessment

Risk level: medium (verified source, high confidence).

Who controls it: The platform admin holds the power to set the platform fee lower or to zero per token, and the venue/launcher controls pool registration and fee stamping. Neither can raise fees on existing tokens, and the creator cannot change fees after launch.

Risk to user funds: The hook can take up to 10 percent of each swap's unspecified amount through return deltas and directs it to the platform and creator treasury. Funds that cannot be paid in kind are held by the hook as ERC-6909 escrow claimable by the recipient. The hook does not hold user principal or block swaps on pause, since no pause exists.

Security findings

  • [info] Hook takes fees via return delta: afterSwap returns a positive int128 delta that makes the swapper pay up to 10 percent of the unspecified amount per side, so swappers receive less than the pool quote.
  • [info] Platform admin can lower fees to zero: lowerPlatformFees lets the admin reduce platform buy and sell fees to zero, which reduces trader costs but also reduces the platform's revenue; the change is one-way and cannot increase fees.
  • [low] Escrow fallback relies on hook balance accounting: When a payout is not in kind, fees are minted to the hook as ERC-6909 and recorded in escrowedOf; correctness depends on poolManager accounting and the redeemEscrow unlock flow remaining consistent.
  • [low] Dependence on external token and launcher contracts: Fee splits read treasury() and platformShareBps() from the launch token and the admin from the launcher through the venue; a malicious or upgraded token or launcher could change payout destinations or the platform share, though this is outside the hook itself.

Contract details

Verified source
Yes (ArcDynFeeHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
7,776 bytes
Upgradeable proxy
No
Detected patterns
launchpad, moves-currency, return-delta, self-unlock

Pools using ArcDynFeeHook