Ember on Robinhood Chain

Uniswap v4 Hook Contract 0x54b296862a0fdc93ad27dac4d570b2f89e28e0cc on Robinhood Chain · Custom pricing · Verified contract

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

What it does

Every swap in the Ember coin's ETH pool pays a fixed soot cut of 0.75% to 5% in ETH, taken on buys and sells alike, and the collected ETH is split between the creator, community, guild, and platform pans, each withdrawable only by its keeper.

How it works step by step

  • Acts as an ERC20 token and the hook of its own Uniswap v4 ETH/coin pool, with the home pool fixed to fee 0 and tick spacing 1 at initialization.
  • On every swap through the home pool, takes a soot cut of 0.75% to 5% (set at striking) denominated in ETH, held as an ERC-6909 claim on the PoolManager.
  • Splits each soot amount into four pans: 80% to the stoker side (further split between stoker and commons by commonsBps), 10% to the guild, and the remainder to the hearth.
  • Lets only each pan's keeper scoop their pan's ETH, which burns the claim and pays the keeper out of the PoolManager.
  • Reverts all liquidity add/remove and donate callbacks, so liquidity can only be managed through standard flows that do not invoke these hooks.
Swap behaviour
Buys with exact ETH input have the soot cut from the ETH sent before the pool trades the rest; sells for exact ETH output have the pool asked for the grossed-up ETH and the soot taken as the difference. Ember-named legs have soot taken in afterSwap from the ETH actually moved, and fills that do not match the expected amount revert. Buys and sells therefore both pay the soot on the ETH side of the trade.
Liquidity behaviour
Add and remove liquidity and donate callbacks all revert with ColdSlot, so the hook itself does not permit hooked liquidity changes.
Fee behaviour
The pool's own fee is fixed at 0; the economic fee is the soot cut of sootBps (75 to 500 bps) taken in ETH on swaps, distributed to the four pans as described.
Owner & admin controls
Ownership is renounced in the constructor so owner() returns zero; there is no pause, blacklist, fee setter, or upgrade path in the source. Keepers can only scoop their own pan; the metadataURI is set once at striking and not changeable.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize restricts pool creation to the canonical key from the Hearth; beforeSwap takes the soot in ETH when the ETH figure is named and rakes it into the pans; afterSwap takes the soot when the ember figure is named and the ETH moved is known; beforeSwapReturnDelta and afterSwapReturnDelta let the hook claim soot amounts as deltas on the swap.

Security & trust assessment

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

Who controls it: No privileged key remains after striking since ownership is renounced; the only actors able to act are the four keepers, who can each withdraw only their own pan balance.

Risk to user funds: User ETH is taken as soot on swaps and held as claims within the PoolManager until scooped by the pan keepers; the hook does not hold user coin balances and cannot freeze or redirect them.

Security findings

  • [info] Immutable configuration and renounced ownership: Ownership is renounced in the constructor and fee rates, pool manager, and keeper addresses are immutable, so no privileged party can change fees or pause swaps after deployment.
  • [info] Return-delta soot on every swap: beforeSwapReturnDelta and afterSwapReturnDelta let the hook take up to 5% of ETH on each swap, which is a material cost to traders by design and is a fixed, disclosed rate.
  • [low] Pan funds rely on PoolManager accounting: Pan balances are tracked in storage and backed by ERC-6909 claims minted to the hook; scooping depends on the PoolManager honoring burn and take, which is standard v4 behaviour.
  • [info] Liquidity callbacks revert: Liquidity and donate hook callbacks revert with ColdSlot, which blocks hooked liquidity flows but does not affect ordinary pool operation outside this hook.

Contract details

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

Pools using Ember