> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useotto.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Otto's hooks on Robinhood Chain

> How Otto's Uniswap v4 hook sets the swap fee in three stock pools on Robinhood Chain, by the market clock and by the move, and how its fees were checked on chain.

Otto's hook is one Uniswap v4 hook contract on Robinhood Chain (chain ID `4663`). It sets the swap fee in three stock pools. The fee follows the US market clock, and a trade that pushes the price pays more. The rules are in the contract's code, so anyone can check what each swap paid.

## The three pools

| Pool | Since |
| - | - |
| PLTR/USDG | 6 October 2026 |
| SPY/PLTR | 6 October 2026 |
| META/USDG | 7 October 2026 |

One hook contract serves all three. Together they have handled more than 8,200 swaps.

## How the fee is set

### By the market clock

An on-chain calendar tells the hook which US market session it is: the regular session, extended hours, overnight or the weekend. Each pool has its own fee for each session. The session fees run from 0.05% to 0.30%, and in each pool the regular session costs the most.

If the calendar ever ran out, every hour would charge the pool's highest session fee. Swaps would not stop.

### By the move

A swap pays a higher fee when it would leave the pool's price further than a set distance beyond the pool's own recent price. Only the trade that pushes the price pays more: a trade back the other way, at the same moment, pays the plain session fee.

The pool's recent price catches up with the current price over 5 minutes. With no new swaps, the fee is back at the session fee within 5 minutes.

### Limits in the code

* Outside an earnings window, the fee never goes above 1.00%. The limit is fixed in the code.
* An earnings window is the only exception: at most 10%, for at most 24 hours, and only if it is posted on chain at least 24 hours ahead. None has been posted.
* A new fee table takes effect no sooner than 24 hours after it is posted on chain.
* The hook never refuses a swap and has no pause.
* The whole fee goes to the pool's liquidity providers. The hook keeps nothing and holds no tokens.

## Check the fees on chain

Because the fee comes from the hook's code, anyone can work out what a swap should have paid and compare it with what it did pay. Otto's own record has run that check on 5,680 of the swaps, and every one paid exactly the fee its pool quoted.

The source is public, and the deployed contract is an exact match on Sourcify. Security checks on the hook are under way.

## Fee APR

| Pool | Fee APR, best 7 days |
| - | - |
| PLTR/USDG | 104% |
| SPY/PLTR | 94% |
| META/USDG | 72% |
| All three together | 68% |

Fee APR is a pool's swap fees over the liquidity Otto put in, at a year's pace. Best 7 days is the pool's best run of 7 days in a row since it opened. Fee APR counts swap fees only, before price moves. It is not a return.

## Follow the pools

Follow the three pools, with their swaps and fee APR as they change, on the **Otto Lab** tab of the [Stocks page](https://useotto.xyz/app/stocks?view=lab).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.