MonopolinkHook on Ink

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

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

What it does

Every buy and sell in the MONO/ETH pool pays a fixed, unchangeable 5% ETH toll (2% to the game's Board rewards, 3% to the operator), while the hook also provides a TWAP price and never restricts LPs.

How it works step by step

  • Charges a fixed 5% toll on the ETH side of every swap in a single MONO/ETH pool, on both buys and sells.
  • Splits the toll: 2 points (40% of the toll) go to the Monopolink Board reward contract and 3 points (60%) go to a fixed operator address.
  • Fees are held as claims inside the PoolManager and paid out by anyone calling the permissionless collect or claim functions, always to the fixed destinations.
  • Keeps a time-weighted average price (30-minute window, needs at least 10 minutes of data, goes stale after 2 hours) for the game's Board to use.
  • Only lets one specific pool be created, and only by the project's LP manager, with a 0% LP fee.
Swap behaviour
Every swap pays 5% of its gross ETH amount to the hook, taken from ETH input on buys or ETH output on sells, whether exact-input or exact-output. The hook also records the pre-swap price for its TWAP oracle. There are no other restrictions or cooldowns.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely.
Fee behaviour
Fixed 5% toll on the ETH leg of every swap, hard-coded and unchangeable. 2% of trade value goes to the Board (the game's reward pool) and 3% to the operator; the pool's LP fee is 0%.
Owner & admin controls
No admin controls found. Fee rate, split and recipient addresses are all fixed at deployment.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: restricts the hook to one ETH/MONO pool opened by the LP manager; beforeSwap: records the oracle price and takes the 5% toll when ETH is the specified amount; afterSwap: takes the 5% toll when ETH is the unspecified amount; beforeSwapReturnDelta/afterSwapReturnDelta: let the hook deduct the toll from the swap.

Security & trust assessment

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

Who controls it: There is no owner or setter; the operator and Board simply receive their fixed shares of the toll. Nobody can change fees, recipients or pause trading.

Risk to user funds: The hook takes exactly 5% of each swap's ETH leg and nothing else. It cannot touch LP principal and LP withdrawals are unrestricted.

Security findings

  • [info] Fixed 5% swap toll: Every swap pays a hard-coded 5% of its ETH amount, which is higher than typical pool fees but cannot be raised or changed by anyone.
  • [info] Immutable recipients: Accrued fees can only be paid to the Board and operator addresses set in the constructor; payout functions are permissionless but cannot redirect funds.
  • [info] Unrestricted LP withdrawals: No liquidity callbacks are enabled, so the hook can never block or tax adding or removing liquidity.

Contract details

Verified source
Yes (MonopolinkHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
8,639 bytes
Upgradeable proxy
No
Detected patterns
erc6909-claims, moves-currency, oracle, return-delta, self-unlock, tax

Pools using MonopolinkHook