Order Books vs AMM Pools
What you'll learn
By the end of this lesson you'll be able to tell the difference between an order book market and an AMM pool on Solana, and understand why "depth" means something different in each one.
Two ways to trade
Solana has two common designs for matching buyers and sellers.
Order books (like OpenBook and Phoenix) work the way a traditional exchange does. Traders place resting limit orders — a real bid to buy at $20.10, a real ask to sell at $20.15. When you look at the order book, every price level you see represents an actual order sitting there, waiting to be filled. If you want to know how much you could sell at $20.10 before the price drops further, you can count the resting size at that level and below.
AMM pools (like Raydium and Orca) don't have orders at all. Instead, a pool holds two tokens — say SOL and USDC — and a formula determines the price based on the ratio between them. When you trade, you're not filling someone else's order; you're pushing the ratio of tokens in the pool, and the formula recalculates the price as you go. There's no order sitting at "$20.10" waiting for you. There's just a curve, and your trade moves you along it.
Why "depth" means different things
On an order book, depth is simple: it's the sum of real orders between the current price and some target price.
On an AMM, there's no such thing as a resting order, so depth has to be calculated differently. It's really a simulation: given the pool's current reserves and its pricing formula, how large a trade would it take to move the price to a certain level? That's a projection based on math, not a count of real orders.
Both numbers answer a similar practical question — "how much can I trade before the price moves against me?" — but they come from very different sources. Order book depth reflects other traders' intentions. AMM depth reflects the shape of a mathematical curve and the size of the pool.
A concrete example
Suppose you want to sell 5,000 USDC worth of SOL.
- On Phoenix (order book), you check the bid side. There are resting buy orders for 1,200 USDC at $148.20, another 2,000 USDC at $148.15, and so on. You can see exactly how your order would walk down through those real bids.
- On Orca (AMM pool), there's no bid stack to read. Instead, the pool has, say, 40,000 SOL and 5.9M USDC in reserves. Based on the constant-product formula, a 5,000 USDC sell would move the effective price down by roughly 0.4%. That number comes from the formula, not from any single order.
Same question, same rough answer — "will my trade move the price much?" — but the underlying mechanism is completely different.
A common mistake
Treating AMM "depth" as if it were a stack of real resting orders. Some traders read a pool's depth chart and think "there's a wall of liquidity at this price," expecting it to behave like an order book wall that other traders placed on purpose. It isn't a wall anyone chose — it's just the current shape of the pool's reserves, and it can change as other trades happen in between, sometimes within the same block. Don't assume AMM depth is static or intentional the way a limit order is.
On MAPLUStrade
MAPLUStrade's Market Depth panel labels every source clearly, so you always know what you're looking at. For OpenBook and Phoenix listings, the panel shows real resting orders pulled directly from the book. For Raydium and Orca pools, the panel switches to a projected view: it calculates, using the pool's live reserves, how far the price would move for a given trade size. Both views sit side by side with clear source tags, so you're never guessing whether you're looking at genuine orders or a curve-based estimate.
Recap
Order books show real resting orders; AMM pools show a price curve with no orders at all. "Depth" is counted directly on an order book but calculated from the pool's math on an AMM — always check which one you're looking at.
*This lesson is educational only and not financial advice. Trading on Solana carries risk, including the risk of loss.*
