Skip to main content

Trading & fees

Trading an index token

Each index trades on a USDG / index Uniswap V4 pool. The app routes swaps through the purpose-built V4SwapRouter (Robinhood Chain ships a forked Universal Router, so IndexPad uses its own minimal router):

// approve amountIn of the input token to the router first
V4SwapRouter.swapExactIn(
indexToken,
buy, // true: USDG → index; false: index → USDG
amountIn,
minOut, // slippage bound
to,
deadline
);

You buy with USDG and sell for USDG — there is no ETH pair. Because USDG is currency0, buying drives the price up the launch curve; selling drives it back down toward the 20k-mcap floor, below which there is no liquidity.

Since the index token is a fully standard ERC-20 (no fee-on-transfer, no reflections, no rebasing), it composes normally with wallets, routers, and other protocols. Plain wallet-to-wallet transfers are never taxed — only swaps pay a fee.

How the fee works

The fee is taken by the IndexFeeHook inside the swap, via Uniswap V4's delta mechanism — the amount you receive is already net of it. There are two components:

  • Protocol base fee: a flat 0.30% of your swap volume, in USDG.
  • Index fee: a volatility-scaled rate — base 1.0% (buy) / 1.5% (sell), rising with recent price volatility toward a 3% cap.

And a launch guard: for the first 2 blocks after an index launches, the index fee is forced to 5% to tax snipers of the thin floor. The app shows the live effective fee in the trade quote.

Where your fee goes

Every fee you pay immediately deepens the index's backing — there is no delay and no keeper. In the same transaction, the hook routes it:

  • 10% of the index fee + the 0.30% base → the protocol treasury,
  • rfvShareBps → the index's USDG reserve,
  • buybackShareBps → the index token itself, taken in-kind into the treasury as bond inventory,
  • the remainder → basket stocks bought straight into the treasury.

So trading an index — in either direction — makes it more backed for everyone holding it. You can watch backing-per-token tick up on the index page after each trade.

There are no dividends to claim

Earlier versions distributed bought stocks to holders as on-chain dividends. That mechanism was removed. Instead, all fee value accrues as backing in the treasury, and holders realize it by redeeming (see RFV & redemption) rather than claiming a stream. There is nothing to stake, snapshot, or claim — holding is enough, and the value shows up as a rising redemption floor.