CustomMemeFeeHook on Robinhood Chain
Uniswap v4 Hook Contract 0xe62b7a6452d3ac04cfb901c1d62e760bb0e500cc on Robinhood Chain · Fee sharing · Verified contract
- Volume (24h)
- $174
- Value locked (TVL)
- $327
- All-time volume
- $32.54K
- Pools using this hook
- 1
- Swaps (24h)
- 7 (6 traders)
- Total swaps
- 716
What it does
Charges a fixed 4% ETH fee on every MXMX swap to a treasury, plus a sell-only penalty that decays from 16% to 2% over 14 days for wallets that have held the token, with the penalty proceeds used to deepen liquidity and reward holders.
How it works step by step
- Charges a fixed 4% ETH fee on all buys and sells, sent to an immutable treasury address.
- On sells, applies a per-wallet penalty that decays linearly from 16% to 2% over the 14-day PENALTY_PERIOD.
- Verifies the seller's holding via balanceOf and acquiredAt on the token, defaulting to the maximum penalty when the holder cannot be verified.
- Routes the penalty ETH to the MXMX token contract rather than the treasury, to fund its reward and LP-deepening logic.
- Exempts the token contract's own self-swaps from fees so internal LP rebalancing is not taxed.
- Settles fees through return deltas in ETH, so swaps are never reverted by a fee-on-transfer token mechanic.
- Swap behaviour
- On every swap with ETH as currency0, the hook takes a 4% ETH fee via beforeSwap or afterSwap depending on whether ETH is the specified amount, sending it to the treasury. On sells, an extra penalty of 2% to 16% based on the seller's holding age is taken in ETH and sent to the MXMX token contract. Self-swaps by the token contract itself are exempt.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Charges a 4% base fee in native ETH on every swap, both buys and sells, sent to the immutable treasury. On sells, an additional per-wallet penalty decays linearly from 16% to 2% over PENALTY_PERIOD (14 days at launch) based on how long the seller has held the coins; the penalty portion is routed to the MXMX token contract instead of the treasury, where it is split 60% to rewards and 40% to permanent LP depth. Penalty is 16% (20% all-in) when the seller cannot be verified as a holder or has no recorded tenure, and 0 when the kill switch is off.
- Owner & admin controls
- The hook itself has no owner or admin functions: FEE_BPS, PENALTY_MAX_BPS, PENALTY_MIN_BPS and PENALTY_PERIOD are constant or immutable, and the treasury is immutable. The only owner lever lives on the MXMX token contract, a kill switch (antiDumpEnabled) that can only turn the sell penalty off, never raise it or redirect fees. The hook is not upgradeable.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap and afterSwap take the ETH fee via poolManager.take to the treasury and the token contract, and return a delta so the fee is settled in ETH rather than as a token transfer. beforeSwapReturnDelta and afterSwapReturnDelta are enabled so the hook can specify and unspecify amounts for the fee.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: No privileged key can raise fees or redirect the treasury on the hook. The token owner can only disable the anti-dump penalty, which lowers costs for sellers. The treasury address is fixed at deployment, so the destination of fees cannot be changed later.
Risk to user funds: The hook can take up to 20% of the ETH side of a sell and 4% of any swap in ETH, via poolManager.take, but only in the fixed, immutable proportions described above. It holds no funds itself and cannot block swaps, since the fee is always settled rather than reverted. Penalty proceeds accumulate at the MXMX token contract, whose receive and thickenFromPenalty logic is outside this hook.
Security findings
- [medium] Penalty keyed to tx.origin misprices non-EOA flows: The penalty is keyed to tx.origin rather than the actual seller, so flows where the signer is not the token holder (UniswapX fillers, ERC-4337 account abstraction wallets, some routers) are charged the maximum 16% penalty on sells regardless of how long the holder has owned the tokens.
- [low] Exact-output sells always pay maximum penalty: On exact-output sells the MXMX input amount is unknown in beforeSwap, so the penalty cannot be verified against the holder balance and is charged at the maximum rate, even for long-term holders.
- [info] Hook moves pool currency via return deltas: The hook takes ETH out of the pool through poolManager.take and offsets it with return deltas, so it does move pool funds. The amounts are bounded by fixed bps constants, and the hook holds no balance of its own.
- [info] Fee parameters are immutable and self-swaps are exempt: Fee rates and the penalty curve are constant, and the self-swap exemption prevents the token's own LP management swaps from being taxed, which would otherwise block its rebalancing.
Contract details
- Verified source
- Yes (CustomMemeFeeHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 4,056 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using CustomMemeFeeHook
- ETH / MXMX (1.00% fee) — 24h volume $174, TVL $327, 7 swaps today