Mechanics · Lesson 5 of 8 · 14 min read
What a trade really costs
Fee, spread and slippage are three separate charges on the same order. Add them up and you have the move the market owes you before you are even.
- Assumes you have read
- How a fill is priced
- After this you can
- Compute the round-trip cost of a position and the break-even move it demands, in the fee this exchange actually charges.
The short version
- A trade pays four separate charges: half the spread, the slippage past the top of book, the taker fee, and then all three again on the way out.
- Only one of them appears anywhere as a line item. The other three are paid in the price and never itemised, which is why they are the ones people forget.
- On a deep book the fee is most of the cost and slippage is a sliver. On a thin book or at size, that inverts — and the depth view is how you tell which one you are in.
- The number that matters is your effective entry: quote spent divided by base kept. No ticket anywhere shows it, and it is the only price an exit should be compared against.
- Costs are symmetric in count and asymmetric in feel: you pay them at the open, and you pay them again at the close, whether the trade worked or not.
A fee schedule is a page of percentages, and it describes about half of what a trade costs. The other half is paid in the price itself — in the gap you cross to trade at all, and in the levels your order eats through on the way. None of it is itemised, all of it is real, and adding it up is the difference between a strategy that works on paper and one that works.
This lesson costs one position end to end on the book the previous lesson walked: buy 2.00 BTC, sell it straight back, market unmoved. Every figure is computed at render time by the same functions that would charge you.
Four charges, not one
Send one market buy and you are billed four ways. Three of them never appear as a number anywhere.
Swipe horizontally to compare all columns.
| Charge | Paid to | Itemised? |
|---|---|---|
| Half the spread | Whoever was resting at the top of the book | No — it is inside the price you got |
| Slippage | Whoever was resting at the levels behind them | No — it is the difference between your fills |
| Taker fee | The venue | Yes — the fees page, and the Fills tab on the terminal |
| Funding, on a perpetual only | The other side of the contract, every eight hours — not the venue, and not us | Yes — as a transaction on the futures terminal |
The first two are the interesting ones precisely because nobody bills them. A cost you are invoiced for is a cost you notice.
The spread: a charge with no line item
The book’s best bid is 64295.1 and its best ask is 64301.2. The midpoint between them, 64298.15, is the closest thing to a fair price the market has — the number neither side has committed to but both are near.
To buy immediately you pay the ask, which is 3.05 above the mid. To sell immediately you take the bid, the same distance below. Nobody charged you that; you volunteered it in exchange for not waiting. Do both and you have paid the whole spread — 6.10 USDT per BTC, about 0.009% — with nothing having happened.
A tight spread is the first thing traders mean by liquid, and this is why. It is a toll on impatience, and its size is set by how many people are willing to quote.
Slippage: your size meeting the book’s
Past the top of the book, the price gets worse. Your 2.00 BTC buy takes 3 levels and averages 64,313.24, against the 64301.2 that was on screen. The gap is slippage, and it is a function of your size and the book’s shape and nothing else.
Note which direction it runs on the way out. The bid side of this book is thinner than the ask side, so selling back slips further than buying did. That asymmetry is ordinary — books are not symmetric, and the side you are about to need is often the side that thinned while you were not looking.
The fee, and what it is actually taken from
One taker rate, 10 bps — 0.10% — on every spot fill. There is no maker rebate and no volume tier, and the reason is structural rather than generous: this exchange keeps no book of its own, so every fill here is taken from the venue’s book and there is no maker side to reward.
It is charged in the asset you receive. Buy BTC and the fee is BTC out of the BTC arriving; sell it and the fee is USDT out of the USDT arriving. That is what lets a buy reserve exactly what it spends rather than what it spends plus a fee — the source of “insufficient funds” on a perfectly funded account, everywhere it happens.
- Bought2.00000 BTCSpending 128,626.48 USDT across 3 levels.
- Fee, 10 bps of the base received0.00200 BTCRounded up, always.
- Kept1.99800 BTC
Your entry price is not what the fill said. It is what you spent, divided by what you kept.
The whole trip, added up
Now sell the 1.99800 BTC straight back into the same book. The market has not moved a tick. Here is every charge, to scale.
Two things are worth staring at. The first is the total: 303.19 USDT on an order worth about 128,626.48, or roughly 23.6 bps, for doing nothing but changing your mind instantly.
The second is the mix. The taker fee is about 85% of the whole cost here, and the slippage everybody worries about is a sliver. That is what a deep book does — and it inverts the moment your size is large relative to the depth in front of it, or the moment you trade a pair where the top of book holds a few hundred dollars instead of tens of thousands.
The hole you start in
Costs are not a haircut on your profit. They are a debt the trade opens with, and the market has to pay it back before you are level.
You spent 128,626.48 USDT and hold 1.99800 BTC. Selling it back has to gross enough that 10 bps can come off the top and still return what you spent:
- Quote to recover128,626.48 USDT
- Base held after the entry fee1.99800 BTC
- Grossed up for the 10 bps exit fee128,755.24 USDT
Put that next to a plan. A strategy targeting a 0.3% move on each trade is spending 0.22% of it on costs before it starts — and a strategy targeting 0.1% is, arithmetically, a machine for converting a balance into fees. The number of trades matters more than almost anyone expects, because this charge is per round trip and does not care whether the round trip was a good idea.
What changes on a perpetual
Three things, and only one of them is cheaper.
- The taker rate halves. 5 bps — 0.05% — against 0.10% on spot. Real venues price perps tighter and so do we.
- The fee is charged on notional, not on margin. A 10× position pays the fee on ten times what it posted. The rate is half, and the bill on the same collateral is five times larger.
- Funding arrives every eight hours. A fourth charge, positive or negative, on the whole position size — covered in perpetuals and funding.
Leverage does not change the cost of a trade. It changes what fraction of your money that cost represents, which is the only sense in which any of this is ever “cheap”.
Every rounding step leans the same way
Quantities round down; fees round up. Both directions favour the house, and both are deliberate, and neither is a trick.
- A quantity rounded up would ask to spend money the account does not have, or take more off a book level than the level holds.
- A fee rounded down would mean the house pays the remainder on every trade — a real number at volume, and one that never appears in any report because each individual shortfall looks exactly like a rounding error.
On the trip above the amounts are invisible: the exit fee lands at 128.45173860 USDT, and the eighth decimal place of a USDT fee is a hundred-millionth of a dollar. The rule is not about that money. It is about never having a direction that was decided by accident — because the day one of these leans the wrong way, it leans that way on every trade at once and looks exactly like nothing.
Where the product refuses to surprise you
Three places where this site stops a cost from arriving unannounced. All three are real code, and all three are worth knowing because they define the shape of what can go wrong.
- The convert quote will not execute far from its quote. A swap is quoted at a rate, and if the market has moved more than 50 bps by the time it settles, the conversion is refused rather than filled at the new one. It is the one surface here that prices a whole trip up front, which is why it can make that promise.
- Every market has a minimum order value. The ticket shows it on the Minimum row and refuses anything below it. It is the venue’s rule, not ours, and it exists partly because an order small enough to be entirely consumed by its own fee is not a trade.
- An unpriced asset is refused, never priced at zero. If a leg of a conversion cannot be priced, the quote is null and the control says so. A zero rate is a real-looking price that would convert a balance into nothing.
Four expensive misreadings
Mistaken belief: “The fee is 0.10%, so a 0.10% move puts me even.”
What actually happens: It takes roughly double that before the fees alone are covered, because you pay the rate on the way in and again on the way out — and the spread and slippage sit on top of both. On the trip above the break-even move is 0.219%.
Mistaken belief: “Higher leverage means cheaper trading.”
What actually happens: It means the same fee measured against less of your money, which is the opposite of cheap. Fees and funding are charged on notional, so a 10× position pays ten times the fee a 1× position of the same margin would.
Mistaken belief: “I use limit orders, so I do not pay the spread.”
What actually happens: True on a venue with a maker side — you are the one being crossed, and you collect the spread rather than paying it. Not true here: this engine has no local book, so every fill is a taker fill at the taker rate, and the fees page says so rather than implying a rebate that does not exist.
Mistaken belief: “Slippage is the main thing to worry about.”
What actually happens: Only when your size is large relative to the depth in front of it. On a deep major pair at ordinary size, the fee is the overwhelming majority of the cost and slippage is a rounding error. Check the depth view before deciding which one you are fighting.