Slush on Robinhood Chain

Uniswap v4 Hook Contract 0xedc23eb97f7678b9b5df4aa8f08fe5e4dfc460cc on Robinhood Chain · Fee sharing · Verified contract

Volume (24h)
$347
Value locked (TVL)
$0
All-time volume
$347
Pools using this hook
1
Swaps (24h)
12 (9 traders)
Total swaps
12

What it does

Slush is a Uniswap v4 hook and ERC20 in one contract that charges a fixed ETH fee of 0.75% to 5% on every swap in its home pool and distributes it to four keeper-controlled tubs.

How it works step by step

  • Pours a fixed supply of one billion coins to the Chiller at deployment and renounces ownership.
  • Allows exactly one home pool, ETH against this coin, zero static fee, tick spacing 1, created from the Chiller.
  • Takes a chill of 75 to 500 bps of ETH per swap in both buy and sell directions, including exact-output legs via gross-up.
  • Ladles each chill into four tubs: 80% maker side split maker/parlor by creditsBps, 10% cooperative, the remainder to house.
  • Lets each tub's keeper scoop its accumulated ETH via the PoolManager unlock flow; no one else can withdraw.
Swap behaviour
On every swap through the home pool, beforeSwap and afterSwap compute a chill from the ETH amount (or grossed-up ETH for coin-named legs), take it through return deltas, and ladle it into the tubs; swaps in any other pool revert.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Takes a chill of 0.75% to 5% (chillBps, fixed at birth) in ETH on every swap through the home pool, via beforeSwapReturnDelta and afterSwapReturnDelta. The chill is split 80% to the maker side (divided between maker and parlor tubs by creditsBps), 10% to the cooperative tub and the remaining 10% plus rounding dust to the house tub. The pool's own fee is zero.
Owner & admin controls
No admin controls found. Ownership is renounced in the constructor so owner() returns zero; there is no pause, blacklist, upgrade or parameter setter. Chill rates and tub keepers are immutable from birth, and each tub can only be scooped by its own keeper.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize restricts pool creation to the exact canonical ETH/coin key from the Chiller; beforeSwap and afterSwap take the chill and ladle it into tubs; beforeSwapReturnDelta and afterSwapReturnDelta let the hook adjust the swap's ETH delta to collect that chill.

Security & trust assessment

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

Who controls it: No privileged key can change behaviour. Each tub keeper (maker, parlor, cooperative, house) can only withdraw ETH from its own tub; these keeper addresses are fixed immutably at deployment.

Risk to user funds: The hook takes a fixed percentage of ETH on each swap and holds it as PoolManager claims until keepers scoop it; it cannot freeze or redirect trader principal beyond that chill, and no function lets anyone other than a tub keeper receive ETH from the tubs.

Security findings

  • [low] Strict fill check can revert swaps: Swaps revert with Underfilled if the afterSwap ETH figure does not match the expected net, so a pool state or price move between the two hook calls causes reverts for exact-output-coin trades.
  • [info] Hook takes value via return deltas: beforeSwap and afterSwap take chill as hook return deltas (ETH held as ERC-6909 claims in the PoolManager), so the hook is an active party in every swap's accounting.
  • [info] Chill held as PoolManager claims: Chill is minted as a PoolManager claim owned by the contract and paid out only on scoop by the matching keeper; the contract holds ETH claims on behalf of keepers.
  • [info] Fixed supply and no owner: Coin is minted once (one billion, BATCH) to the Chiller and ownership is renounced; no mint or pause functions exist.

Contract details

Verified source
Yes (Slush)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
8,081 bytes
Upgradeable proxy
No
Detected patterns
erc20, moves-currency, ownable, return-delta, self-unlock

Pools using Slush