IndexHook on Base

Uniswap v4 Hook Contract 0x2fd0ba044faa96a9d1b0f010c0dac3f696aa2888 on Base · Custom pricing · Verified contract

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

What it does

This hook turns each pool into a buy/sell window for a token index, filling every basket component on buys and paying out the basket on sells, with every trade paying the index's fixed creation-time fee split between Bankr, the creator and holders, and admins able to pause trading.

This read was written for the hook 0xba97…6888 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

  • Runs the market for index tokens: each index has hook-created pools against a stablecoin and WETH, and the hook fully replaces the normal pool pricing.
  • Buying an index spends your stablecoin or WETH on every basket component (through external Uniswap v3/v4 or Slipstream venues), deposits them into the index vault and mints index shares to you.
  • Selling an index pays out your pro-rata share of the basket, converted back to the quote token, and burns your shares.
  • Charges an index fee on buys and sells, split between Bankr, the index creator (via a fee splitter) and existing holders.
  • Third-party liquidity is blocked and only the factory can create pools; only exact-input swaps are supported.
Swap behaviour
Every exact-input swap is handled entirely by the hook, which executes basket legs with price-band and slippage checks and returns the result to you; exact-output swaps revert. Buys can be paused per index or globally, sells can be paused globally, and some indexes require a signed pass to buy.
Liquidity behaviour
Adding liquidity always reverts, so there are no LPs in these pools; remove-liquidity callbacks are disabled. Index value lives in the separate vault, not in pool liquidity.
Fee behaviour
Each index has a fixed fee set at creation within protocol min/max bounds (exact bps constants were cut from the source), taken from the quote token on buys and sells; Bankr and creator portions are minted to the fee splitter and the holder portion stays in the vault for holders over 24 hours. Fees cannot be changed by admins after registration.
Owner & admin controls
A guardian or admin Safe can pause buys (per index or globally) and pause sells globally; only the admin Safe can unpause. The long timelock or admin Safe can toggle whether a signed pass is required to buy an index; fee rates cannot be changed.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta

beforeInitialize: blocks outside pool creation; beforeAddLiquidity: blocks all liquidity additions; beforeSwap: executes the whole basket buy or sell; beforeSwapReturnDelta: replaces the pool's swap amounts with the hook's computed input and output.

Security & trust assessment

Risk level: medium (verified source, medium confidence).

Who controls it: An admin Safe, guardian and timelocks hold keys; the worst they can do is pause buys or sells and gate buyers with a pass. They cannot change fees or take swap funds through this contract.

Risk to user funds: The hook handles each swapper's full input to buy or sell basket components and does not hold tokens afterward; fees are the fixed per-index rate set at creation. There are no pool LPs, and index exits can be paused on this hook by admins.

Security findings

  • [medium] Admin can pause sells: The guardian or admin Safe can halt all index sells through this hook; holders would then need another exit path such as in-kind redemption at the vault.
  • [low] Buy gating and pauses: Buys can be paused and an index can require a signed pass from a verifier, which an admin timelock can turn on or off.
  • [info] Fixed fees set at creation: Fee rates are validated against protocol bounds at registration and stored with no setter, so they cannot be raised later.
  • [info] Depends on external price module and venues: Leg prices rely on the price module, registry and external pools, bounded by price bands and minimum-out checks.

Contract details

Verified source
Yes (IndexHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
22,549 bytes
Upgradeable proxy
No
Detected patterns
fee-sharing, liquidity-management, return-delta

Pools using IndexHook