How To Crypto 51: What is an order book, what are maker/taker fees, what are order types and what is slippage?A guide by MalletSwingingTLDRThere is no TLDR for this post. I try to include them when possible but there is no way for me to summarize this information. This is a long, thorough and informative post so be prepared to spend some time reading it if you decide to continue.IntroWelcome to another post in my series, How To Crypto by MalletSwinging. I decided to write these posts because I see a lot of new Redditors on this sub every single day. I know how confusing and overwhelming this space can be and I want to make it easier for our greener members to navigate crypto without feeling too embarrassed to ask questions.In this post I am getting back to crypto basics. On my last post I received a comment from a reader who asked ‘what is a stop loss?’ It got me thinking that maybe instead of continuing with more complicated trading posts I should make a few that can act as a foundation for more advanced concepts I’ll introduce in later articles.Today we are going to talk about order types available on a centralized exchange, or CEX. A CEX is an exchange like Coinbase, Binance, Crypto.com, Kucoin or one of the many other smaller players in this space. We’ve seen centralized exchanges like FTX and Voyager go belly up recently and users of those exchanges have lost some or all of their crypto. This is why picking a reputable exchange to use as a fiat onramp is an important choice.Trading is also possible on a decentralized exchange (DEX) like Sushiswap, Uniswap, Bancor and others. Many of the concepts in this document pertain to DEX trades as well but for the purposes of this article we will be looking at CEX orders and order books only.I’m not here to debate CEX vs DEX or the (de)merits of each CEX; there are plenty of posts in this sub that discuss those. This is a purely informative post and contains no advice beyond what to expect when placing buy or sell orders. To learn any of these concepts we must first understand what an order book is.What is an order book?An order book is a list maintained by each centralized exchange that contains every current and active buy or sell order on a specific trading pair.What’s a trading pair you ask? Great question, Mallet!A trading pair contains exactly two assets. At least one of these on a CEX will always be a cryptocurrency. The other can be another cryptocurrency but it can also be a unit of fiat currency like USD or EUR. Many times the second asset will be a stablecoin like USDT, USDC or (gasp) BUSD.A trading pair allows you to trade one of the two assets for the other. If a trading pair is BTC/USD it means that I can trade BTC for USD or I can trade USD for BTC. These are the only two assets available to trade in this particular trading pair. If I have USDT and I want to trade it for BTC I need to look for BTC/USDT which is a completely separate pair from BTC/USD. Each trading pair has its own order book.An order book on a CEX for BTC/USD has every single current and active order that has been placed on that exchange to trade BTC for USD or USD for BTC. They do not cross over from one exchange to another, meaning the order book on Coinbase will have different order amounts and prices compared to the order book for the same pair on Binance. Let’s take a look at how this is represented visually on Binance.us:There is a lot of information to unpack here! First, the green numbers on the left represent buy orders. This means these are orders from users who have USD and want to buy BTC.The red numbers on the left represent sell orders. These are orders from users who have BTC and want to sell it for USD.These are real orders placed by accounts on Binance.us. Some people may have placed these orders manually but the majority of them are placed by bots or automated trading strategies. For practical purposes we don’t really care who placed these orders; we only care that they exist.Breakdown of what we are seeing in this order book:The green and red bars on the right show relative order book sizes of the crypto asset at the dollar price listed on the left. Since we are coming at this scientifically we will use the actual numbers instead of the bars.BidsThe top green number ($24,880.40) represents the highest USD price someone is willing to pay for BTC. This line is known as a bid.Each green number represents a bid price. Each line represents real USD that someone has locked and is willing to pay to buy BTC.The white number directly to the right of the highest bid price (0.130726) represents how much BTC they are willing to buy at that price.If you look to the second white number right of the first white number you will see the total USD price ($3,252.52) that you would receive if you sold them that 0.130726 BTC at their bid price. These two numbers don’t necessarily mean that one person wants to buy all that BTC at that bid price; this can be one or more parties that cumulatively want to buy that amount of BTC at that bid price.As we go down the list of bids we see subsequently lower green numbers on each line. These represent the next highest bids currently in the order book. Note that they will always be in descending numeric order by price with the highest bid price at the top of the list. There are more bids (aka buy orders) below the lowest one on this list but the list is heavily truncated due to space constraints.Different exchanges will show different amounts of both buy and sell orders depending on how their site is designed. Most have the option to view only buy orders or only sell orders.Last sale priceThe large red number right above that ($24,880.40) represents the last sale price of any amount of BTC on Binance.us. Note that in this case it is the same as the highest bid price. This is not always the case but it is here. This likely means that a buy order at $24,880.40 was only partially filled and what we are seeing is the remainder of that buy order still on the order book.The red arrow down arrow to the right of the last sale price represents the direction the last sale price moved from the sale price before that. All this tells us is that over the last two trades the sale price of BTC went down by at least $0.01. If the arrow were green and pointed up it would tell us that over the last two trades the sale price of BTC went up by at least $0.01.If you were to look on TradingView or any other charting platform this sale price is what constitutes the current price of an asset.AsksNext, let’s look at the smallest red number directly above the last sale price. This line is known as an ask.The red number ($24,882.06) represents the lowest ask price which is the lowest price someone is willing to sell BTC, priced in USD.Each red number represents an ask price. Each line represents real BTC that someone has locked and is willing to sell for USD.The white number directly to the right of that (0.156284) represents the amount of BTC someone has listed for sale at the lowest ask price. This is real BTC that someone has locked for sale at the price listed on the ask line.*** Note to more advanced readers: There are enough arguments about whether CEXs actually have the crypto assets in question in this sub; please don’t bombard the comments section with this as it will just confuse new users. Let’s assume for the sake of this lesson that they do.The second white number directly to the right of the first white number is the total dollar amount it would cost to buy the entire 0.156284 of BTC at the lowest ask price of $24,882.06.As we go up the list of asks we see subsequently higher red numbers on each line. These represent the next lowest asks currently in the order book. Note that they will always be in ascending numeric order (from the bottom up) by price with the lowest bid price at the bottom of the red list. There are more asks (aka sell orders) above the highest one on this list but the list is heavily truncated due to space constraints.Different exchanges will show different amounts of both buy and sell orders depending on how their site is designed.Maker and taker feesIf you look at any exchange’s fee structure you will see two different commission pricings; a maker fee and a taker fee. Since we are trading BTC/USD on Binance.us (or Binance.com) there are technically no fees for orders however most other trading pairs are charged a percentage fee on the total value of each trade that is successfully executed. As far as I know all non-Binance exchanges charge fees on all trades regardless of trading pair. Some do charge tiered fees and some give discounts for trading volume or for paying in their exchange token but that’s not really important to understand here.Here is the base Binance.us fee structure for pairs other than BTC/USD(T) or ETH/USD(T):Maker ordersIf you place an order on an order book that is not immediately filled but does remain on the exchange’s order book it is called a maker order. In other words, maker orders occur when you create liquidity on an order book by putting one of the two assets in a trading pair up to exchange for the other at a trade price that will not immediately be filled. Limit orders can be maker or taker orders.If you place a maker order and it is filled you are charged the maker percentage (in this case 0.3%) on the entire trade value by the exchange.Taker ordersAn order that removes liquidity from an order book immediately is considered a taker order.Market orders are always taker orders because they will always be filled immediately and will therefore take liquidity off an order book. Limit orders that are priced in such a way that they are filled immediately and remove liquidity from an order book will be considered taker orders.If you place a taker order you are charged the taker order percentage-based fee (in this case a whopping 0.45%) on the entire trade value by the exchange.It is possible for part of a limit order to be filled as a taker and the rest to be filled as a maker. It is also possible for part to be placed as a taker and for the rest to not get filled at all depending on how you place your order and what happens in order book by other parties after your order is placed.Order typesNow that we understand the basics of how an order book works and how maker/taker fees are determined let’s take a look at order types. In crypto there are two main order types, limit and market. I will go over Stop-limit orders (aka conditional orders) in my next post about stop losses in the interest of keeping things simple here. All orders require an asset pair so for the sake of simplicity we will again use BTC/USD for our examples and assume we are looking at the same order book I used above.Market ordersA market order is an order that allows you to fill in a dollar amount (in the case of a fiat or stablecoin-based pair like BTC/USD) and will purchase that much crypto at the best price available from the exchange’s order book. This option gives you the least amount of control over how much you pay for an asset. Market orders, especially larger ones and/or on low liquidity pairs, are subject to something called slippage which I will go over in a moment.Market orders are always taker orders.Let’s say I have $5,000 and assume the order book I used in the example above is currently in place. I want to buy $5,000 worth of BTC and I don’t care what price I pay for it as long as it’s close to the last sale price. I fill out my market order form like this:I can choose to place this as a total USD amount or a total BTC amount in the field market Total with the down arrow next to it. Here I’ve chosen total USD amount for the sake of being consistent.Here is the same order book for the sake of not have to scroll up or down:The moment press Buy I will purchase the exchange will buy $5,000 of BTC at the best available price. Assuming the order book was exactly as the image above at the moment I pressed Buy here I will buy:0.156284 BTC at $24,882.06 for $3,888.670.007498 BTC at $24,882.73 for $186.570.037163 BTC at $24,883.30 for $924.76This is a good segue into the next section, slippage.SlippageAs you can see in the example above, the last sale price of BTC was $24,880.40 but our average buy price was around $2 higher than that. This is known as slippage. Slippage occurs when there is not enough liquidity on an order book to cover an entire buy or sell at the last sale price. In the example above there was a relatively low amount of slippage (less than 0.01%.)When trading high liquidity, high volume pairs in small amounts there is usually relatively low slippage like this.When trading relatively low liquidity, low volume pairs like JASMY/USDT there will usually be considerably more slippage because the order book is often less competitive and therefore more spread out.Note that if I had placed a sell market order for 0.1 BTC I would have experienced no slippage in this case as there is enough liquidity on the order book to cover my entire sell order at the last sale price.Slippage is something I personally usually try to avoid as I like to know exactly how much I’ll pay for something before I buy it. If you don’t like the sound of slippage either, welcome to the world of limit orders.For funsies, here is what a chart looks like when someone places a BIG market sell order on an order book and incurs a ton of slippage. You can see the long red wick indicating that a market sell order cleared out an order book. This drove the last sale price down before other others swept in and filled the order book back up, bringing the last sale price back into congruence with the rest of the chart.Limit ordersA limit order is a buy or sell order in which a user has a specific amount of one asset that they wish to trade for a specific amount of another asset. As I mentioned earlier these can be either maker or taker orders depending on how you place themLet’s say that we have $1,000 and we want to buy 0.05 BTC with that exact amount of dollars. A little basic math tells us that in order to buy 0.05 BTC with $1,000 the price for one BTC will need to be $20,000.Here’s the math behind that:[our dollar amount] / [our desired amount of BTC] = [price of BTC required for trade] / [one BTC]Since we are trying to figure out the price of BTC required for trade we can effectively make that variable X and then solve for said X. I hope you remember your high school algebra!$1,000 / 0.05 = X / 1In this case X is equal to $20,000. If you get stuck on this it might be a good idea to do a quick refresher: https://www.khanacademy.org/math/algebra-basicsThis means that if I want to buy 0.05 BTC for $1,000 I need the price to come down from $24,880.40 to $20,000 and there needs to be at least 0.05 BTC available at $20,000. Since I don’t want to pay more than $20,000 but I also don’t want to sit at my computer or phone and wait for the price to drop I decide to use a limit order and leave it on the order book permanently as a GTC (good ‘til canceled) order.Here is an image of how I would place this order. The black boxes are me obfuscating some info I don’t want to share on here:If I fill in the price and BTC amount I want to purchase the total USD amount will be filled in automatically. You must have the USD amount in the Total box available and unlocked in your trading account in order to place this trade. When I press the green Buy BTC button the trade will be placed.The TIF (time in force) option specifies how long your order will remain on the order book. Binance.us gives these common options:GTC, or Good ‘til Canceled – this means that the order will stay on the order book in perpetuity, or until it is filled or canceled. If I had used the $1,000 example buy at $20,000 per BTC above as a GTC order my $1,000 will remain locked meaning I cannot use it for other trades or withdraw it from the exchange.If I had placed a GTC order for 1 BTC at $24,882.06 (assuming we are still using the order book above) I would have purchased 0.156284 BTC for $3,888.67 and the remainder or my order (in this case $20,993.39) would remain on the order book as a buy order for the remaining 0.843716 BTC at a price of $24,882.06. The $20,993.39 would be locked, unavailable for other trades or withdrawals. The trade that was executed for $3,888.67 would be considered a taker order and the other $20,993.39 would be considered a maker order.IOC, or Immediate or Cancel – this means that my order will be executed immediately. If it cannot be filled in full it will fill as much of the order as possible and then cancel the rest of the order. If I had used the $1,000 example buy at $20,000 per BTC above as an IOC order, since the current price of BTC is $24,880 none of my $1,000 order would be filled and my order would be canceled.If I had placed an IOC order for 1 BTC at $24,882.06 (assuming we are still using the order book above I would have purchased 0.156284 BTC for $3,888.67 and the rest of the order would be canceled. the remainder of my $24,882.06 (in this case $20,993.39) would remain in my account balance and it would be unlocked, available for other trades or withdrawal. The $3,888.67 I spent would be considered a taker order.FOK, or Fill or Kill – this means that if my entire order cannot be placed for the exact amount I specified, none of the order will be filled and it will be immediately canceled. If I had used the $1,000 example buy at $20,000 per BTC above, since the best available price for BTC is $24,882.06 none of my $1,000 order above would be filled and my order would be canceled.If I had placed a FOK order for 1 BTC at $24,882.06 (assuming we are still using the order book above) I would have purchased no BTC at all since there is not enough on the order book for me to buy 1 BTC at that price. The entirety of my $24,882.06 would remain in my account balance and it would be unlocked, available for other trades or withdrawal.Other order optionsThere are some other options we can check here, namely Iceberg and Post Only. These options probably won’t be relevant to you as a newer trader but I’ll explain them anyway.Post only – this option means that your order will only be processed as a maker order and not a taker order. If you place an order as Post Only and it is impossible for it to be placed onto the order book without it being filled it will be immediately canceled.Iceberg – this option allows you to break a very large order up into smaller chunks to avoid disrupting a market with one giant buy or sell. As a newer trader it is unlikely that you will need this option, at least not during the beginning of your journey. Once you click this option it will allow you to specify a chunk size that will break your order up into multiple smaller, more obfuscated orders.Sell orders are identical to buy orders except you are interacting with the other side of the order book. I considered redoing all of these examples as sell orders but I think anyone still reading will understand the concept.What happens if I place a limit order that will clear multiple levels of an order book?Another great question! Thanks for asking, Mallet; you really ask the best questions. Let’s again assume this is our order book:Let’s assume I want to buy 1 BTC and I’m willing to pay up to $24,883.66 for it but not a penny more. I fill out my form and press Buy BTC.As long as the order book has not changed I will immediately buy:0.156284 BTC at $24,882.06 for $3,888.670.007498 BTC at $24,882.73 for $186.570.221031 BTC at $24,883.30 for $5,499.980.413122 BTC at $24,883.66 for $10,279.99This means I will have purchased a cumulative total of 0.797935 BTC for a cumulative dollar amount of $19,855.21. The amount I have purchased here will be considered a taker order.I will then see the remainder my buy order appear on the order book for the remainder of my requested BTC (0.20207BTC) at a price of $24,883.66. If the remainder of my buy order is filled by someone else’s subsequent sell order this part of it will be considered a maker order.ConclusionThat’s about it! At this point you hopefully have a clear understanding of how an order book works, how to determine the fees you will pay on trades and the difference between market and limit orders. Armed with this knowledge you might be ready to jump into one of my more advance articles:How to crypto 101: How to grid tradeHow to crypto 201: What is leverage?Stay tuned for my next post which will be How To Crypto 53: What is a conditional order and how do I use one to set up a stop loss? What is a stop loss, anyway?***Edit: thank you for the awards, u/tommo_graham, u/rootpl and u/Bailszy! You absolutely didn’t have to do that but they are much appreciated.