Demo · simulated
ROOK Swap · Robinhood Chain

Swap anything on Robinhood Chain

The best price across Uniswap v3 and v4, pons pools included, compared after gas. Settles through Uniswap's audited Universal Router, straight from your wallet.

  • Uniswap contracts onlyUniversal Router 2.1.1 + Permit2. ROOK deploys nothing you approve.
  • 0.30% fee, shown before you signHalf buys and burns $ROOK once it launches on pons.
  • Exact approvals by defaultApprove only what you swap; unlimited is opt-in.
Swap
 
You receive
0
 

Trending on Robinhood Chainvia DEX Screener · not an endorsement
Referrals

Share ROOK, earn from every swap

Your referrer share of the swap fee is paid in the same transaction, straight to your wallet. No claiming, no waiting.

How it works
  1. 1
    Claim a codeSign a message (no transaction, no gas) to link a code to your wallet. One code per wallet.
  2. 2
    Share your linkAnyone who opens it is referred for 30 days on that device.
  3. 3
    Earn on every swap20% of the ROOK fee on their swaps is paid to you inside each swap.

Earnings

Buy & burn

Fees buy $ROOK and burn it

Half of every ROOK Swap fee goes to the burn wallet. It swaps what it collects into $ROOK through the same Uniswap router and sends it to 0x…dEaD, where no one can move it. Every burn is on-chain and listed here.

Total $ROOK burned–
Burn wallet–

Waiting to be burned

Burn transactions

Next · on-chain order book · Robinhood Chain

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.

0.1 sRobinhood Chain blocks
1 txfill = settle, no crank
0 / 5 bpmaker / taker, proposed
198tests, 10,000 fuzz ops
PONS / USDGSimulated
BidSize
AskSize
0.53570spread –
How it moves

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.

1 · Deposit once

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.

2 · Place

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.

3 · Filled is settled

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.

The engine

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.

  • 01
    No 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.
  • 02
    IOC 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.
  • 03
    Four self-trade modesCancel the maker, expire the taker, decrement both, or abort. Wash trading between your own wallets always costs the full protocol fee.
1 · BITMAP L2 → L1 → L0 best bid and ask are cached in the market word 2 · PRICE LEVELS 0.53560head · tail · lots 0.53570head · tail · lots 0.53580head · tail · lots 3 · ORDERS, ONE SLOT EACH first in, first filled cancelled slots are reused; a generation counter makes stale order ids fail
Thin markets, day one

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.

Bounded by the fill cap+33.5k gas per flipFuzzed with the rest
Flip grid · PONS / USDG · sample

Gold squares are the last price. Green rests as bids, red as asks; each fill turns a square the other colour one step away.

Markets

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.

PONS / USDGFirst
Tick
5 sig. figures
Min order
5 USDG
Fees
0 / 5 bp
Preview the book
CASHCAT / WETHNext
Tick
5 sig. figures
Min order
0.002 WETH
Fees
0 / 5 bp
Planned in 2–4 weeks, after PONS / USDG clears its first week.
What broke Serum can't break ROOK

Built against the attack list

Serum · crankA full event queue froze the marketNo queue, no crank: makers are credited inside the taker's transaction.
Serum · upgrade keyFTX held the upgrade authorityNo proxy, no upgrade path. The owner can list markets and set fees within hard caps, nothing else.
Serum · spamDust and eviction gamesA minimum order size, 64 orders per account, a fill cap per taker, and no book capacity to fill.
EVM · tokensTaxed tokens and re-entrancyDeposits credit the real balance change; withdrawals are pull-only behind a re-entrancy lock.
OperationsPausing can't trap fundsA guardian can stop new orders. Cancels, prunes and withdrawals never stop.
StatusUnaudited. Not deployed.198 tests and 10,000 fuzzed operations pass. An external audit comes before mainnet.
Roadmap

Book first. Everything else is priced off it.

NowSpot bookPONS / USDG with flip grids and the team as first maker. Fees fund the operation from the first trade.
NextLadder vaultA capped, protocol-owned maker that quotes every market from fees, and a router that checks the pons pools too.
LaterPerps priced off the bookMarks from ROOK's own depth, pool averages and outside prices. Never a raw midpoint, never 1000x on a meme.
$ROOK

Launches on pons. Fees buy it back.

$ROOK launches on pons like the chain's other memes. Half of every ROOK Swap fee goes to the burn wallet, which buys $ROOK back and sends it to 0x…dEaD; every burn is listed with its transaction on the Burn page. It pays no revenue share, and swapping on ROOK never requires holding it.

Launch via ponsBuyback and burn from feesNo revenue share
Coming soon · simulatedPro · order book. A preview of ROOK's on-chain book. Everything here is simulated: no wallet, chain or funds are involved. Real swaps are on Swap →
Last–
24h change–
24h volume–
Best bid / ask–
Tick–
Maker / taker–
Simulated · demo
PONS / USDG
PriceSize (PONS)Total
–spread –
PriceSizeTime
Portfolio

Your balance, every market

Demo · simulated
Deposited value (USDG)–
Locked in open orders–
Taker fees paid–

Balances

Open orders

Fills

Engine v0.2

How the ROOK book works, and how we tried to break it

198 / 198 tests5 × 2,000 fuzz ops cleanUnauditedNot deployed

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

AreaSerum v3 (Solana)ROOK v0.2 (Robinhood Chain)
SettlementMakers wait for a crank to process the event queueMakers credited inside the taker's transaction
BookFixed-size critbit tree; evicts the worst order when full3-level bitmap + FIFO queues; no capacity, no eviction
BalancesOne OpenOrders account per marketOne balance per token, shared by every market
PricesFixed tick per market5-significant-figure ticks: 0.1–1 bp at any price
SpamDust threshold stored but uncheckedMinimum notional, 64 orders per account, fill cap ≤ 64
Fee tiersToken-balance tiers (flash-loanable)Flat per market; referral set once, capped at 20%
GovernanceUpgradeable; key held by FTXNo 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.

Operationv0.2 gasTarget
Place, existing level (fresh / recycled slot)77,785 / 60,68580k / 65k
Cancel (tail / middle)54,836 / 59,96455k / 55k
Take (IOC), 1 fill61,88162k
Each extra fill, same level10,32712k
Take, 64 fills on one level721,296900k
Take, 64 fills across 64 levels903,6141M
Swap buy, 1 fill, no account92,56890k

InvariantsChecked after every fuzzed operation

I1For each token, the contract's balance equals free balances + funds locked in orders + protocol fees, and each account matches a model rebuilt from events.
I2The book is never crossed; the cached best bid and ask equal the extremes found by walking the bitmap.
I3–I4Orders in each level are in placement order; level totals, counts and bitmap bits match exactly.
I5At most 64 live orders per account and market; no untracked orders.
I6Fills 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–I8Cancel and withdraw succeed while paused; the contract only reverts with its own errors.

Known limitsWhat v0.2 doesn't do yet

UnauditedSwap with 1 fill 2.6k over targetMid-level cancel 5k over targetMaker leftovers can sit below the minimumPause doesn't auto-expireLot size fixed per marketNo rebasing tokensRouter considers 32 book levels