Newsprint on Robinhood Chain
Uniswap v4 Hook Contract 0xfed893b4eb476e5e3195039ea92444190461a0cc on Robinhood Chain · Fee sharing · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
Every trade on this token's pool pays a fixed ETH levy between 0.75% and 5%, the same rate for buys and sells, which is filed into four creator, reader, syndicate and platform columns that only their registered keepers can withdraw.
How it works step by step
- Charges a levy in ETH on every trade through its own Uniswap v4 pool, set at construction between 75 and 500 bps and fixed thereafter (levyBps is immutable).
- Takes the levy via beforeSwap or afterSwap return deltas, depending on whether the trader quoted the ETH side or the coin side, and mints a matching ERC-6909 ETH claim to the hook on the PoolManager.
- Files each levy into four internal columns: 80% to the byline side (split between byline and readers by creditsBps), 10% to the syndicate, and the remainder including rounding dust to the press.
- Lets only the registered keeper address of each column draw ETH from it, via unlock, burn of the claim and take to the keeper.
- Opens its pool once from the Pressroom with a fixed canonical key (native ETH against this token, fee 0, tick spacing 1, this hook) and rejects any other pool.
- Mints the full one billion token supply to the deployer at construction and renounces ownership before the constructor returns.
- Swap behaviour
- Every swap on the issue's pool pays a levy of levyBps in ETH. When the trader fixes the ETH amount, the levy is taken in beforeSwap, carved off the ETH side. When the trader fixes the coin amount, the levy is computed in afterSwap from the ETH actually moved; partial fills on a leg already levied in beforeSwap revert. All swaps pay the same rate; there is no direction-based or per-address difference.
- Liquidity behaviour
- No liquidity callbacks. All liquidity callbacks revert with SlotNotSet, so liquidity cannot be added, removed, or donated through the hook.
- Fee behaviour
- The pool itself uses a static fee of 0. The effective fee for traders is the hook levy of levyBps (75 to 500, set at deployment), taken in ETH and filed into the four columns.
- Owner & admin controls
- No admin controls found. Ownership is renounced in the constructor, so owner() returns zero. There is no pause, no upgrade mechanism, and no parameter setter; levyBps, creditsBps and the column keeper addresses are immutable. The column keepers can only draw their own column balances.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize restricts pool opening to the Pressroom with the canonical key. beforeSwap takes the levy via return delta when the ETH figure is quoted. afterSwap takes the levy via return delta when the coin figure is quoted and enforces full fills on pre-levied legs. afterSwapReturnDelta and beforeSwapReturnDelta allow the hook to take currency through delta, which is how the levy is collected.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: No privileged owner remains after construction. The only privileged roles are the four column keepers, each limited to drawing ETH from its own column balance; they cannot alter fees, pool parameters, or the split.
Risk to user funds: The hook holds ETH as ERC-6909 claims on the PoolManager and as column balances. Keepers can withdraw only their own column amounts to their addresses. Traders pay the levy in ETH on every swap; the hook cannot move coin balances of users or LPs, and there is no liquidity path through the hook.
Security findings
- [info] Return-delta fee capture: The hook takes ETH on every swap via beforeSwapReturnDelta and afterSwapReturnDelta, so trades pay the levy by design; the rate is fixed at deployment.
- [low] Full-fill requirement on pre-levied legs: afterSwap reverts with ShortRun if an exact-ETH-quoted leg does not fill in full, so partially fillable trades through this pool can fail rather than settle partially.
- [info] Immutable column keepers: Column keeper addresses are set at deployment and cannot be changed, so a compromised or lost keeper key can only redirect its own column, and no one can alter the split.
- [info] No pause or blacklist: Nothing in the source can halt swaps or block addresses after deployment, which removes an admin-freeze risk but also leaves no emergency stop.
Contract details
- Verified source
- Yes (Newsprint)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 8,110 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, ownable, return-delta, self-unlock
Pools using Newsprint
- ETH / TEST (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today