ROOK Swap: best-price swaps on Robinhood Chain
- Non-custodialSettles from your wallet in one transaction. ROOK holds no user funds.
- Simulated before you signA revert or a fill below your minimum never reaches your wallet.
- Exact approvalsPermit2 or the KyberSwap router only, for the exact amount.
- 0.30% fee · 50% burnedPaid inside the swap. Stake $ROOK for up to 40% off.
Share ROOK, earn from every swap
20% of the ROOK fee on every swap you refer, up to 30% with staked $ROOK. Paid inside the swap, to your wallet. Nothing to claim.
- 1Claim a codeSign a message (no transaction, no gas) to link a code to your wallet. One code per wallet.
- 2Share your linkAnyone who opens it is referred for 30 days on that device.
- 3Earn on every swap20% of the ROOK fee on their swaps is paid to you inside each swap.
Earnings
$ROOK
Stake for up to 40% off fees and up to 30% of the fee as a referrer. Half of every swap fee buys $ROOK and burns it.
Staking tiers
- Tiers count staked $ROOK only. Requested unstakes leave the tier immediately.
- 7-day cooldown between requesting an unstake and withdrawing. Cancel any time to restake.
- No yield. Discounts apply to the ROOK fee. Referral boosts come out of the treasury share, so the burn share never shrinks.
- RookStaking has no owner. No pause, no admin withdraw, tier table fixed at deployment. Spec · Source
Buy & burn
Waiting to be burned
Burn transactions
The Hyperliquid model, on ROOK
| Hyperliquid | ROOK | Status |
|---|---|---|
| HLP vaultCommunity liquidity that quotes the book and earns fees | Listing vaultsBackers fund each market's bids and earn 75% of its fees. Failed raises refund 100%. | Built · not deployed |
| Assistance FundFees buy HYPE on the open market | RookBurnerFees from every product buy $ROOK and send it to 0x…dEaD. No owner. | Built · deploys with $ROOK |
| HIP-1 / HIP-3 listingsTicker auctions; 500k HYPE stake per builder market | Community listingsPropose and signal free; raises are funded by many backers, not one deployer. | Propose + signal live |
| Staking fee tiersUp to 40% off trading fees | RookStakingUp to 40% off the ROOK fee; referrers earn up to 30% of the fee. | Built · deploys with $ROOK |
| Referrals10% of referee fees, claimed | Referrals20–30% of the ROOK fee, paid inside each swap. Nothing to claim. | Live |
$ROOK is never collateral. It is not lent against, does not back any balance, and ROOK holds no user funds in it. Utility is fee tiers and the burn; there is no yield. Token spec · Security review
The community lists the markets
Propose any Robinhood Chain token and signal the ones you want. When on-chain raises open, backers fund a market's first liquidity and earn its fees. If a raise misses, everyone gets 100% back.
- 1ProposeLive · free
- 2SignalLive · free
- 3RaiseOn-chain, with $ROOK
- 4MarketBids below price
The order book for Robinhood Chain
Limit orders that live on-chain and settle in the same transaction they fill. Serum's design, rebuilt for the EVM and tested against the attacks that broke its descendants.
A rook moves in straight lines. So do your orders.
No crank, no settle step, no queue between you and your money. The rules are the rules of any serious exchange, written into a contract anyone can read.
One balance for every market
Deposit USDG, WETH or a meme once and trade every ROOK market from the same balance. Withdraw any time, even when new orders are paused.
Limit, post-only, IOC, FOK, flip
Price-time priority on 5-significant-figure ticks. Set an expiry, a client id and how self-trades are handled. Dust never rests on the book.
Makers are paid in the taker's transaction
Serum made makers wait for a crank. On ROOK a fill credits both sides in the same block, so a full queue can never freeze the market.
Serum's book, rebuilt for the EVM
A three-level bitmap finds the best price in a few reads. Each price level is a first-in-first-out queue, and each order is one storage slot. Every taker sets a fill cap, so no transaction can be made too expensive to land.
- 01No eviction, no fixed capacitySerum dropped the worst order when its book filled up. ROOK has no ceiling to fill, and caps each account at 64 open orders per market instead.
- 02IOC never restsA remainder rests only if it doesn't cross and clears the minimum. The bug that let immediate-or-cancel orders rest in OpenBook v1 can't happen here.
- 03Four self-trade modesCancel the maker, expire the taker, decrement both, or abort. Wash trading between your own wallets always costs the full protocol fee.
Flip orders keep a new book alive
A flip order re-posts itself on the other side when it fills: buy at 0.5300, sell at 0.5400, forever. A grid of them is a market maker that needs no bot, which is how ROOK seeds a new meme's book and earns the spread from the first trade.
Gold squares are the last price. Green rests as bids, red as asks; each fill turns a square the other colour one step away.
The chain's memes, one book each
We open markets where the chain already trades, then list pons graduates that pass depth, age and holder gates.
- Tick
- 5 sig. figures
- Min order
- 0.002 WETH
- Fees
- 0 / 5 bp
- Gate
- graduated on pons
- Depth
- ±2% ≥ $25K
- Listing
- bond + vote
Built against the attack list
Book first. Everything else is priced off it.
Launches on pons. Fees buy it back.
50% of every swap fee (70% without a referrer) buys $ROOK and sends it to 0x…dEaD. Stake $ROOK for up to 40% off fees and a larger referral share. No yield, no revenue share, never required to trade. $ROOK hub →
Your balance, every market
One deposit funds every market. Withdraw any time, even when new orders are paused.
Balances
Open orders
Fills
How the ROOK book works, and how we tried to break it
ROOK is a Solidity central limit order book for Robinhood Chain. It follows Serum's core idea (price-time priority on-chain, exact lot math) and drops the parts Solana forced on it: the crank, the event queue and the fixed-size book. The core is 19.3 KB with a 14.9 KB extension for admin and heavy views, plus a 14.6 KB router that splits swaps with a Uniswap v4 pool. No proxy.
Serum → ROOKWhat changed and why
| Area | Serum v3 (Solana) | ROOK v0.2 (Robinhood Chain) |
|---|---|---|
| Settlement | Makers wait for a crank to process the event queue | Makers credited inside the taker's transaction |
| Book | Fixed-size critbit tree; evicts the worst order when full | 3-level bitmap + FIFO queues; no capacity, no eviction |
| Balances | One OpenOrders account per market | One balance per token, shared by every market |
| Prices | Fixed tick per market | 5-significant-figure ticks: 0.1–1 bp at any price |
| Spam | Dust threshold stored but unchecked | Minimum notional, 64 orders per account, fill cap ≤ 64 |
| Fee tiers | Token-balance tiers (flash-loanable) | Flat per market. Swap discounts come from staked $ROOK with a 7-day cooldown, so they cannot be flash-loaned |
| Governance | Upgradeable; key held by FTX | No proxy; pause stops new orders only |
PricesFive significant figures, exact fills
A price is an integer number of quote atoms per base lot, and every integer with at most five significant digits is a valid tick. Fills are exact integers, so only fees round: the taker fee rounds up on the whole order, rebates round down.
quote = lots × price(tick) exact takerFee = ceil(Σquote × takerFeePpm / 1e6) whole order rebate_i = floor(quote_i × makerRebatePpm / 1e6) referral = floor(takerFee × referralSharePpm / 1e6) protocol = takerFee − Σrebate − referral never negative (hard caps)
GasMeasured on the EVM, Prague rules
L2 execution gas including the 21,000 intrinsic cost; Robinhood Chain adds an L1 data fee on top. Worst case: every maker is a different account.
| Operation | v0.2 gas | Target |
|---|---|---|
| Place, existing level (fresh / recycled slot) | 77,785 / 60,685 | 80k / 65k |
| Cancel (tail / middle) | 54,836 / 59,964 | 55k / 55k |
| Take (IOC), 1 fill | 61,881 | 62k |
| Each extra fill, same level | 10,327 | 12k |
| Take, 64 fills on one level | 721,296 | 900k |
| Take, 64 fills across 64 levels | 903,614 | 1M |
| Swap buy, 1 fill, no account | 92,568 | 90k |
InvariantsChecked after every fuzzed operation
| I1 | For each token, the contract's balance equals free balances + funds locked in orders + protocol fees, and each account matches a model rebuilt from events. |
| I2 | The book is never crossed; the cached best bid and ask equal the extremes found by walking the bitmap. |
| I3–I4 | Orders in each level are in placement order; level totals, counts and bitmap bits match exactly. |
| I5 | At most 64 live orders per account and market; no untracked orders. |
| I6 | Fills at the maker's price, never worse than the taker's limit, never against an expired maker or yourself. Post-only never fills; IOC, FOK and market never rest. |
| I7–I8 | Cancel and withdraw succeed while paused; the contract only reverts with its own errors. |