SentryInkXStockFeeHook on Ink
Uniswap v4 Hook Contract 0x18195c33d8150b2e7f5166fc79e29a6c2b1fb0cc on Ink · Launchpad · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 96
- Swaps (24h)
- 20 (6 traders)
- Total swaps
- 7,253
What it does
A launch-pool fee hook that decays swap fees from 40% to a 2% floor over time and skims 25% of that fee as reflections to token holders or treasury.
How it works step by step
- Records the pool launch timestamp in afterInitialize
- Applies a dynamic LP fee that holds at start fee, then halves every half-life to an end-fee floor
- Gives launch-whitelisted buyers the floor fee
- Takes 25% of the fee in the base currency via return deltas each swap
- Sends reflections to the token via notifyReward, or to treasury during the start delay
- Restricts swap senders to the configured router and quoter
- Swap behaviour
- On each swap the hook checks the sender is the router or quoter, returns a dynamic fee override, and takes 25% of the currentFee on the base-currency amount via a return delta, notifying the token contract for holder rewards.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Pools use a dynamic LP fee that starts at startFee, holds for holdDuration, then halves every halfLife down to endFee (2.00% floor). Whitelisted buyers pay endFee. Each swap skims REFLECTION_SHARE_BPS (25%) of the currentFee on the base-currency amount as a reflection, paid to holders via notifyReward or to treasury during reflectionStartDelay.
- Owner & admin controls
- Owner (set to tx.origin at deploy) can transfer ownership and set the swapRouter address, which gates who may call swaps; the factory controls launch whitelist registration per pool. No pause function and no upgrade mechanism found; startFee, endFee, durations and the pool manager are immutable.
Enabled Uniswap v4 callbacks
beforeInitialize, afterInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: restricts pool initialization to the factory and requires a dynamic fee and a registered base side. afterInitialize: records the launch timestamp. beforeSwap: gates swap senders, sets the dynamic fee override and computes the base-currency reflection delta. afterSwap: takes the reflection when the base currency is unspecified. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take a portion of swap amounts as reflections.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: The owner can set swapRouter to any address (or zero to disable the gate), changing who may swap; it cannot change fees or take user funds directly. The factory can register launch whitelists for pools before launch.
Risk to user funds: Not stated.
Security findings
- [medium] Owner-controlled swap router gate: When swapRouter is set, only that router and the configured quoter can call swaps through the hook; direct PoolManager swaps from other senders revert, and the owner can change the router.
- [info] Return-delta reflection skim: The hook takes up to 25% of the currentFee from every swap through return deltas and sends it to token holders or treasury; this is intended tokenomics but is a material cost to traders.
- [low] tx.origin based whitelist: Launch whitelist is keyed on tx.origin, so the whitelist check depends on the originating EOA rather than the direct caller.
- [low] Single-step ownership transfer: Owner is set to tx.origin at deployment and ownership is transferable with no timelock or two-step process.
Contract details
- Verified source
- Yes (SentryInkXStockFeeHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 5,268 bytes
- Upgradeable proxy
- No
- Detected patterns
- access-control, dynamic-fee, launchpad, moves-currency, ownable, return-delta
Pools using SentryInkXStockFeeHook
- GLUMBO / wNVDAx (Dynamic fee) — 24h volume $0, TVL $0, 4 swaps today
- NASA / wSPCXx (Dynamic fee) — 24h volume $0, TVL $0, 4 swaps today
- CATX / wSPCXx (Dynamic fee) — 24h volume $0, TVL $0, 4 swaps today
- AI / wAAPLx (Dynamic fee) — 24h volume $0, TVL $0, 3 swaps today
- ROTH / wSPYx (Dynamic fee) — 24h volume $0, TVL $0, 2 swaps today
- AI / wNVDAx (Dynamic fee) — 24h volume $0, TVL $0, 2 swaps today
- WHENX / wSPYx (Dynamic fee) — 24h volume $0, TVL $0, 1 swaps today
- JESUS / wNVDAx (Dynamic fee) — 24h volume $0, TVL $0, 1 swaps today
- CHIBINK / wSPYx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- COFFEE / wTSLAx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- CPU / wNVDAx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- NIKOLA / wTSLAx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- wSPCXx / CATCH (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- COOK / wAAPLx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- HUNG / wNVDAx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- NEPTUNE / wSPCXx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- wTSLAx / TESLMAO (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- wMSTRx / STONK (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- wMSTRx / INKYMASK (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- BOND / wSPYx (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today