Fee sharing hook on Robinhood Chain
Uniswap v4 Hook Contract 0x1cb2da095a2860f55f88e3840870b04d9b61e0cc on Robinhood Chain · Fee sharing
- Volume (24h)
- $325
- Value locked (TVL)
- <$0.01
- All-time volume
- $325
- Pools using this hook
- 1
- Swaps (24h)
- 4 (2 traders)
- Total swaps
- 4
What it does
Every swap through the Nock/ETH pool pays a fixed tithe of 0.75% to 5% in ETH, taken from the ETH side of the trade, and that ETH is split into purses for the fletcher, guild, greenwood and keep; liquidity cannot be added or removed through this hook.
This read was written for the hook 0xb688…e0cc on Robinhood Chain and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.
How it works step by step
- Acts as the ERC20 token and the hook of its own Uniswap v4 pool (native ETH paired against the coin), with a fixed supply of one billion minted to the Bowyer at construction.
- Takes a tithe in ETH on every swap through the home pool, between 0.75% and 5% (titheBps fixed at fletching), via beforeSwap and afterSwap return deltas.
- Splits each tithe into purses: 80% fletcher side (divided between fletcher and guild by creditsBps), 10% greenwood, and the remainder to keep.
- Mints a matching ETH claim (ERC-6909) inside the PoolManager for every tithe so purse balances are backed by the pool.
- Lets each purse bearer call draw() to unlock the claim and receive their ETH; only the fixed bearer addresses can draw.
- Leaves all liquidity callbacks and donate callbacks reverting with NotWired, so liquidity cannot be added or removed through hook logic.
- Swap behaviour
- Swaps on the home pool pay a tithe in ETH. For buys with exact ETH in, the tithe is cut from the ETH sent before the pool swap, so the trader's effective ETH is reduced by titheBps. For sells with exact ETH out, the pool is asked for a grossed-up ETH amount and the difference is the tithe. For legs naming the coin amount, the tithe is computed in afterSwap from the ETH actually moved, and the swap reverts (ShortShot) if an exact-in buy does not fill as expected. Swaps on any other pool key revert with WrongButts.
- Liquidity behaviour
- Adding or removing liquidity, and donating, all revert with NotWired. Only the home pool exists and its liquidity cannot be managed through this hook.
- Fee behaviour
- The pool's own LP fee is fixed at 0 with tick spacing 1; the hook's tithe is the only fee. The tithe rate is fixed at construction (titheBps, 75 to 500 bps) and is immutable. Fee proceeds are routed to the four purses as described above and are not paid to LPs by this hook.
- Owner & admin controls
- Ownable is present but renounceOwnership() is called in the constructor, so owner() is zero and no owner-gated functions remain. All addresses (fletcher, guild, greenwood, keep, bowyer) and rates are immutable. No pause, blacklist, upgrade or parameter-change path was found in the source. Each purse can only be drawn by its own fixed bearer.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize restricts pool initialization to the Bowyer with the canonical key. beforeSwap and afterSwap compute and take the tithe via return deltas and mint the ETH claim to the hook. beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take a share of the swap amounts. All other IHooks callbacks are present but revert NotWired.
Security & trust assessment
Risk level: low, estimated (decoded bytecode, high confidence).
Who controls it: No privileged key remains after construction: ownership is renounced in the constructor, no pause or upgrade exists, and rates and bearers are immutable. The bearer addresses only control their own purse withdrawals.
Risk to user funds: The hook holds ETH claims inside the PoolManager backing the purses and takes a tithe from each home-pool swap; it does not hold LP funds or block swaps except through the revert conditions described. Purse ETH can only leave via draw() by the fixed bearer.
Security findings
- [info] Hook takes a fee via return deltas: beforeSwap and afterSwap return deltas take a tithe from every home-pool swap, which is a deliberate and immutable cost to traders capped at 5%.
- [info] Swap reverts on exact-in fill mismatch: afterSwap reverts with ShortShot if an exact-in buy does not move the expected ETH, so a swap can fail rather than settle at a different price.
- [low] Immutable bearer addresses: Purse bearers cannot be rotated; if a bearer key is lost, its purse ETH is stuck, though it cannot be taken by anyone else.
Contract details
- Verified source
- No
- Bytecode size
- 8,064 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, ownable, return-delta, self-unlock
Pools using Fee sharing hook
- ETH / LOCKSLEY (0.00% fee) — 24h volume $325, TVL <$0.01, 4 swaps today