Plate on Robinhood Chain

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

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

What it does

Every swap in the Plate pool pays a flat 0.1% fee in ETH, whether buying or selling, which is booked to the sitter and house trays while liquidity providers and the pool's static fee are unaffected.

How it works step by step

  • Acts as the ERC-20 token of its own pool: the full one-billion supply is minted once to the studio in the constructor and no further minting exists
  • Hook permissions are beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta and afterSwapReturnDelta; no liquidity or donate callbacks are enabled
  • Takes a 0.1% silver fee on the ETH side of every swap in the home pool, booked as an ERC-6909 claim on the PoolManager and split into two trays: 85% to the sitter and 15% plus rounding to the house
  • Only the designated sitter or house payee can withdraw their own tray via fix(), which burns the claim and sends ETH to that payee
  • Stores name, symbol, image, about, link and twitter as plain strings written at construction and assembles an ERC-7572 contractURI on-chain
  • Renounces ownership inside the constructor so owner() returns the zero address from the first block
Swap behaviour
Every swap in the home pool, in either direction, is charged a 0.1% silver on the ETH side. For ETH-specified legs the silver is taken in beforeSwap (exact-in buys carved from ETH sent, exact-out sells grossed up); for plate-specified legs it is taken in afterSwap from the ETH actually moved. Buyers and sellers pay the same silver rate; the hook does not favour one direction in its amount, though the sitter and house receive it.
Liquidity behaviour
No liquidity callbacks. Adding or removing liquidity goes through Uniswap unhindered and the hook does not touch positions.
Fee behaviour
The pool itself is initialised with a static fee of zero; the hook applies a flat silver of 10 basis points on the ETH side of each swap via return deltas, which is credited to the sitter (85%) and house (15% plus rounding) trays rather than to LPs.
Owner & admin controls
None after construction: ownership is renounced in the constructor, there is no pause, no upgrade path, no blocklist, no fee parameter change, and the payee addresses and caption are immutable.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize restricts pool creation to the studio with the exact canonical key; beforeSwap books the silver for ETH-specified legs and enforces the home pool; afterSwap books silver for plate-specified legs and checks ETH moved matches the expectation; beforeSwapReturnDelta and afterSwapReturnDelta let the hook take the silver as a delta; the other liquidity and donate callbacks revert as never called.

Security & trust assessment

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

Who controls it: No privileged key remains after construction, so no party can change the fee, pause swaps, or redirect silver; the sitter and house addresses are fixed at deployment and only they can claim their trays.

Risk to user funds: The hook holds ERC-6909 claims on the PoolManager for accrued silver and never holds user tokens directly; trader and LP principal is not custodied by the hook, and it can only skim the 0.1% silver on home-pool swaps, which reverts if an ETH-specified leg is not fully filled.

Security findings

  • [info] Hook takes value via return deltas: beforeSwapReturnDelta and afterSwapReturnDelta let the hook claim 0.1% of the ETH side of every home-pool swap as an ERC-6909 claim, so swappers pay this fee on each trade.
  • [info] Immutable configuration with renounced owner: Ownership is renounced in the constructor and no function can change payees, caption, or fee rate, so no privileged key can alter or block swaps after deployment.
  • [low] Swap reverts on unfilled ETH-specified legs: afterSwap reverts with Unfilled when the realised ETH movement differs from the amount booked in beforeSwap, so partially filled ETH-specified swaps cannot complete on this pool.
  • [info] Payee-controlled withdrawal: Only the immutable sitter and house addresses can call fix() to withdraw their tray, so accrued silver is inaccessible to anyone else.

Contract details

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

Pools using Plate