Book prices never feed NAV, the oracle, γ or the CLP. A thin off-hours book is easy to push around, so nothing outside the book reads its prices.
Orders
Partial fills are normal on a book: a limit order can fill in several pieces as other traders arrive, and whatever is left keeps resting. Fills happen at the resting order’s price, oldest first at each price.
A buy is sized in cUSDC to spend and a sell in tokens. A resting buy sets aside its limit price times its size until it fills or ends; a resting sell sets aside the tokens.
Protection band
A market order fills no worse than the leg’s last posted price, widened by how far the price could plausibly have moved since that post:σis the keeper’s one-step GARCH volatility forecast, posted on-chain as the market’s confidence.tis the time since the last price post. The band widens through a night and further over a weekend.- Closed hours count at the rate prices actually move then, not the trading-hours rate. That is about a tenth of the trading-hours variance for stocks and indices, and a quarter for FX and metals, which keep trading somewhere until the weekend.
jumpis 10% for single stocks and VXX, which can gap on earnings and news. Indices, FX and metals get none.
Trading account and trading key
Book orders go through your trading account, the same account that trades the pool and committed orders. One wallet approval sets it up and puts a trading key in your browser. For 30 days the key places and cancels orders without a wallet prompt. It can’t send funds anywhere except your own wallet. A stolen key could still trade badly with an accomplice on the other side of the book. So the program holds every key-signed order to a wider backstop band,3 · σ · √(t / 30s) + 10% clamped to 10%–25% around the posted price. Orders your wallet signs are not checked.
If your trading account can’t cover an order, the app moves the difference from your wallet in the same transaction and asks for one approval. After a fill, proceeds stay in the account, ready for the next order; Withdraw sends them to your wallet, with no prompt.
Stops, take-profits and TWAP
These run in your browser tab, not on-chain. They only work while a tab with the app is open and online.- A stop loss or take profit sends a market order when the price you could get for it right now reaches your price: the better of the order book and the protocol’s venue (the pool while the market is closed, a committed order while it’s open).
- A TWAP splits an order into equal parts over a period you choose.
Spam and overload
Anyone can place orders on a Manifest book, so spam is the main risk to plan for.- Resting orders cost the placer rent. Every resting order takes an 80-byte block of the book account. Whoever grows the account pays about 0.00056 SOL per block, and it isn’t refunded.
- Expired orders are cleared by the next trade. An order past its last slot stays in the account until a trade walks into it, and that trade pays the compute to remove it. Measured against both builds of Manifest, removal costs 382–722 compute units per order. One transaction clears about 1,900–3,600 of them.
- A side can be blocked, at a price. Someone who parks more expired orders at the top of a side than one transaction can clear would block new trades on that side. Doing it costs them roughly 1–2 SOL of rent per side, which they never get back.
- Recovery is cheap. Funds in a blocked book are never stuck: withdrawals and cancels don’t walk the book. The recovery is to list a fresh book for that token, about 0.007 SOL.
- Global orders fill like any other. A Manifest global order is backed by one deposit per token, shared across books, and its funds move only when it is matched, so a taker must pass that token’s global accounts. Without them Manifest stops an immediate-or-cancel order at the first global order and fails a resting order that would cross one. The app passes them whenever the side an order takes holds a global order, and the trading program checks every address against the market.
Addresses
Trading account PDAs, under the
trading program:

