Protocol
rob0 issues and redeems against a fixed 20 ETH exponential curve through Uniswap v4 on Robinhood Chain.
Overview
rob0 is an ERC-20 issued against native ETH. Its only minter is Rob0Hook, set once after deployment. The token has no owner, proxy, blacklist, transfer fee, treasury, governance function, controller, pause state, or upgrade path. Anyone can mint or redeem through the fixed router.
Rob0SwapRouter settles exact-input trades through Uniswap v4 PoolManager. The pool carries no liquidity. It exists to invoke the hook and settle ETH and rob0.
wallet → router → PoolManager → hook → tokenCurve
Cumulative curve ETH maps to fair circulating supply. The maximum supply K is 21,000,000 rob0 and the scale S is 20 ETH.
Q(E) = K × (1 − e−E/S)E(Q) = S × ln(K / (K − Q))P(E) = S × eE/S / K- Maximum supply
- 21,000,000 rob0
- Curve scale
- 20 ETH
- Mint closes
- 20,790,000 rob0
Trading
Mint
The router settles ETH to PoolManager. The hook retains 0.30%, advances the curve with the remainder, and mints rob0 to the recipient.
Redeem
The router settles rob0 to PoolManager. The hook applies the inverse curve, retains 0.30%, burns the input, and returns ETH to the recipient.
Secondary market
A separate no-hook ETH/rob0 v4 pool provides standard market liquidity. It shares currencies and PoolManager with the curve pool while keeping independent price and LP state.
Rob0ArbitrageExecutor multicalls both price legs inside one PoolManager unlock. It validates the first output, final output, deadline, and gross ETH profit before releasing proceeds. The bot includes buffered maximum gas cost in that profit floor. Rob0MarketMaker owns a full-range position in the market pool. The bot reads that position and its wallet inventory after every restart, then mints, redeems, adds, or removes inventory to keep market liquidity near its configured capital target.
curve pool → rob0 → market pool → ETH profitLimits
- Single mint
- 5 ETH maximum
- Minimum curve value
- 0.000000001 ETH after fees; full final redemption stays open
- Trade protection
- Minimum output and deadline on every router call
- Cooldown
- Same-block mint and burn rejected for the recorded caller
- Curve liquidity
- Additions to the hook pool always revert
- Secondary liquidity
- Bot operator manages the position; recovery owner can disable it and remove all
- Retained fees
- Locked in Rob0Hook
- Router protection
- 0.50% quote tolerance and a 10-minute frontend deadline
- Arbitrage protection
- Two minOut checks, profit floor, and deadline
Risks
The contracts and bot are unaudited. Fixed-point rounding, custom PoolManager deltas, sequencer ordering, RPC failures, public transaction races, compromised operator or recovery keys, and deployment mistakes can cause loss. Stale arbitrage transactions can revert and still spend gas.
An independent security review is required before a mainnet deployment accepts user funds.