DropHook on Ink

Uniswap v4 Hook Contract 0x98460c8af12c6951b972fa0d26e3e3eb8c2820cc on Ink · Fee sharing · Verified contract

Volume (24h)
$14.54K
Value locked (TVL)
$0
All-time volume
$14.54K
Pools using this hook
1
Swaps (24h)
87 (33 traders)
Total swaps
87

What it does

Every trade on a Drop market pays a fee in the pair asset, with the fee highest in the first 60 seconds after launch (starting near 40% and falling to zero), then settling at 0.5% protocol plus the creator's fixed 0 to 2%.

How it works step by step

  • Shared hook for Drop launch markets that takes a protocol fee of 0.5% and a creator fee of 0% to 2% (chosen at launch, immutable) on every trade
  • Adds a launch heat fee starting at 40% and decaying linearly to zero over 60 seconds after market launch, paid entirely to the protocol
  • Charges fees in the pair asset: on buys via beforeSwap return delta, on sells via afterSwap return delta with ERC6909 claims minted to the hook
  • Tracks accrued creator fees per token and protocol fees per pair asset, and pays them out through an unlock callback on claim
  • Restricts pool initialization to the factory and supports only exact-input swaps; liquidity and donate hooks revert
Swap behaviour
Buys (pair asset in) are charged the total fee up front from the input amount in beforeSwap, reducing the swap input. Sells (pair asset out) are charged the total fee on the output in afterSwap, with the fee minted as ERC6909 claims to the hook. Total fee is 0.5% plus creator fee plus any remaining launch heat, so trades during the first 60 seconds pay substantially more, up to about 42.5% plus creator fee at launch, while later trades pay 0.5% plus creator fee. The creator's own launch buy executed by the factory skips the heat. Exact-output swaps revert.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Total fee = 0.5% protocol + creator fee (0 to 2%, fixed per market) + launch heat (40% decaying linearly to 0 over 60 seconds, not applied to the factory's launch buy). Base fee is split between creator and protocol by bps; all heat goes to the protocol. Fees accrue as ERC6909 claims and are paid out on claim.
Owner & admin controls
The owner can set the factory once, change the treasury address that receives protocol fees, and transfer ownership to any non-zero address. There is no pause, no upgrade mechanism and no ability to change fee parameters, which are constants. Creator fee recipients can transfer their claim right per token.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize restricts pool creation to the factory. beforeSwap takes buy-side fees by minting claims and returning a positive specified delta, and enforces exact-input only. afterSwap takes sell-side fees by minting claims and returning an afterSwap delta, and emits trade events. beforeSwapReturnDelta and afterSwapReturnDelta are required for these fee takes.

Security & trust assessment

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

Who controls it: The owner key controls treasury routing and ownership transfer. It cannot change fee rates, pause trading, or move user funds directly, since fees are only paid to the stored treasury and creator addresses.

Risk to user funds: The hook holds PoolManager claims representing accrued protocol and creator fees, which can only be paid out to the treasury or creator. Trader principal is passed through the pool; the hook does not custody it but adjusts swap deltas, so it can influence amounts received on every trade.

Security findings

  • [info] Launch heat fee up to 42.5%: During the first 60 seconds the total fee starts at roughly 40% plus protocol and creator fees, decaying linearly. This is intentional anti-sniping design but is a major cost to early traders.
  • [medium] Owner can redirect protocol fees: The owner can call setTreasury to send all future protocol fee claims to any non-zero address, and can transfer ownership to any address, which may be a single key.
  • [info] Hook holds fee claims and can return deltas: The hook mints ERC6909 claims on the PoolManager for fees and returns deltas that alter swap amounts; a bug in the amount math could misprice trades, though the PartialFill check guards buy-side consistency.
  • [info] Factory-gated initialization and market setup: Only the factory can initialize pools using this hook and register markets; setFactory can be called once by the owner, so a wrong factory address is permanent.

Contract details

Verified source
Yes (DropHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
6,713 bytes
Upgradeable proxy
No
Detected patterns
fee-sharing, moves-currency, ownable, return-delta, self-unlock

Pools using DropHook