CashCatHook on Robinhood Chain
Uniswap v4 Hook Contract 0xefe669814e5eec33406bd50ffa8331618d076aec on Robinhood Chain · Fee sharing · Verified contract
- Volume (24h)
- $465
- Value locked (TVL)
- $146.16K
- All-time volume
- $64.15M
- Pools using this hook
- 2,347
- Swaps (24h)
- 26 (25 traders)
- Total swaps
- 582,383
What it does
CashCat fee engine that skims a fee in ETH from every swap, with an optional decaying launch surcharge, and splits the collected fees between the pool creator and the platform treasury while locking pool liquidity permanently.
How it works step by step
- Skims a fee from the ETH side of every swap at a rate that can start higher and decay linearly to a base rate during a launch window
- Mints the fee as PoolManager ETH claims and accumulates it per pool until sweep is called
- Sweep is permissionless: it pushes the platform share to the treasury and credits the creator share to a claimable tab
- Creators call claim to withdraw their accumulated ETH and can hand their stream to a new address with updateCreator
- Locks liquidity: only the factory can add the seed liquidity once, and all removals and donations revert
- Exempts the factory's launch-block first buy from the anti-snipe premium exactly once
- Swap behaviour
- Fee is charged on every swap in ETH: on the ETH input for buys and the ETH output for sells, for both exact-input and exact-output. The fee is taken by beforeSwap or afterSwap depending on which currency is specified. Partial fills are rejected.
- Liquidity behaviour
- Liquidity can be added exactly once per pool, and only by the factory (the seed add); any later add reverts. All liquidity removals revert via LiquidityLocked, so seed liquidity is permanently frozen. Donations revert via DonationsLocked.
- Fee behaviour
- Fee is taken from the ETH side of every swap at currentFeeRate (pips of 1e6). During an optional launch window the rate decays linearly from launchFeeRate to baseFeeRate; the factory's first buy in the launch block is charged the base rate once. Fees are minted as ETH claims, swept permissionlessly into pending balances, then split: creatorFeeBps share credited to the creator's claimable tab, remainder pushed to the treasury (parked in platformTab if the transfer fails). Hard ceiling of 90% on any fee rate.
- Owner & admin controls
- Owner (Ownable2Step) can only call setTreasury to redirect the platform's share of swept fees; owner cannot change fee rates, pause, pull creator balances, or upgrade (contract is not upgradeable). Creators can call updateCreator to hand off their own fee stream. Factory is immutable and is the only caller allowed to register pools and seed liquidity.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeDonate, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: restricts pool creation to the factory with native ETH as currency0 and zero LP fee. beforeAddLiquidity: factory-only, enforces single seed add. beforeRemoveLiquidity: always reverts to lock liquidity. beforeDonate: always reverts. beforeSwap: computes and skims the ETH-side fee via poolManager.mint and returns a specified-currency delta. afterSwap: handles the unspecified-currency fee case, rejects partial fills, and consumes the first-buy exemption. beforeSwapReturnDelta and afterSwapReturnDelta: needed so the hook can take the fee as a delta from the swap.
Security & trust assessment
Risk level: low (verified source, high confidence).
Who controls it: Owner can redirect the platform share of fees to any treasury address, which is the only privileged lever. The owner cannot touch creator balances, seed liquidity, or fee rates. The factory can register pools and seed once, but cannot remove liquidity or change pool parameters after launch.
Risk to user funds: Hook holds ETH only as fee claims minted inside the PoolManager and swept to ETH balances owed to creators or the treasury. Seed liquidity is locked, not held by the hook. User swap funds pass through the pool; the hook takes a fee but cannot block or redirect the trade itself beyond the partial-fill rejection.
Security findings
- [info] Permanent liquidity lock: Liquidity removal is blocked for every caller, including the factory and creators, so seed liquidity is permanently locked by design. Users cannot exit LP positions in these pools.
- [low] Owner can redirect platform fee share: Owner can set treasury to any non-zero address with setTreasury and immediately redirect the platform share of all subsequent sweeps. Creator balances are unaffected.
- [info] Partial fills rejected: Swaps with a price limit that only partially fill revert with PartialFillRejected, because the fee is charged on the full specified amount. Traders cannot use partial-fill limit orders against these pools.
- [info] Anti-snipe launch fee: Pools launched with a launch fee decay charge a higher rate that linearly decays over the window; the first factory buy in the launch block is exempt. Early non-factory buyers pay the elevated rate, up to launchFeeRate, capped at 90%.
- [info] Treasury failure isolated: ETH sent to a misconfigured or reverting treasury is parked in platformTab rather than reverting the sweep, and creator claims remain unblocked.
Contract details
- Verified source
- Yes (CashCatHook)
- Compiler
- solc 0.8.28+commit.7893614a
- Bytecode size
- 11,383 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc6909-claims, moves-currency, ownable, return-delta, self-unlock
Pools using CashCatHook
- ETH / INTERN (0.00% fee) — 24h volume $297, TVL $2.33K, 3 swaps today
- ETH / PEPE (0.00% fee) — 24h volume $68, TVL $82, 6 swaps today
- ETH / letscash (0.00% fee) — 24h volume $35, TVL $808, 2 swaps today
- ETH / WINK (0.00% fee) — 24h volume $21, TVL $4.59K, 2 swaps today
- ETH / MEMES (0.00% fee) — 24h volume $17, TVL $544, 2 swaps today
- ETH / Seriouscat (0.00% fee) — 24h volume $13, TVL $2.13K, 2 swaps today
- ETH / FEFI (0.00% fee) — 24h volume $9.80, TVL $7.92K, 2 swaps today
- ETH / PEPE (0.00% fee) — 24h volume $2.41, TVL $694, 1 swaps today
- ETH / SPINOR (0.00% fee) — 24h volume $1.32, TVL $1.66K, 1 swaps today
- ETH / FUEL (0.00% fee) — 24h volume $1.29, TVL $29, 2 swaps today
- ETH / VIBECAT (0.00% fee) — 24h volume $0.39, TVL $2.40K, 1 swaps today
- ETH / CIK (0.00% fee) — 24h volume $0.19, TVL $839, 1 swaps today
- ETH / CHUDCAT (0.00% fee) — 24h volume $0.09, TVL $1.13K, 1 swaps today
- ETH / LEVCAT (0.00% fee) — 24h volume $0, TVL $1.02K, 0 swaps today
- ETH / JANITOR (0.00% fee) — 24h volume $0, TVL $2.68K, 0 swaps today
- ETH / OK (0.00% fee) — 24h volume $0, TVL $130, 0 swaps today
- ETH / RATOSHI (0.00% fee) — 24h volume $0, TVL $37, 0 swaps today
- ETH / HEDGEHOG (0.00% fee) — 24h volume $0, TVL $381, 0 swaps today
- ETH / KADSER (0.00% fee) — 24h volume $0, TVL $50, 0 swaps today
- ETH / DolarCat (0.00% fee) — 24h volume $0, TVL $139, 0 swaps today