In this guide
Start with the full route, not the headline fee
This is the crypto companion to our Forex trading-cost guide. The same principle applies: compare the money you actually pay and receive for a clearly defined transaction. Crypto adds payment methods, blockchain transfers, fee currencies and sometimes several trading interfaces with different pricing.
Our main route is bank money, exchange deposit, spot purchase, crypto transfer or custody, sale, then fiat withdrawal. Spot means buying the asset itself without borrowing or a derivative. Margin interest, perpetual funding and liquidation costs belong to different products and are not included automatically in a spot calculation.
Define the asset, trading pair, order size, payment currency, interface, network, destination and eventual cash-out method before comparing providers. A cheap purchase with expensive withdrawal may be a poor fit for a small transfer. A low fee on one pair says little about another pair’s available liquidity.
Keep six different cost concepts separate
A trading fee is a charge on an executed trade. The spread is the gap between the best executable buy and sell quotes. Slippage is the difference between a specified expected price and the actual fill. The latter two usually affect the execution price; they need not appear as separate debits on a statement.
For an all-in comparison, choose a reference price and decompose the difference from it. Do not take an actual purchase price that already includes spread and slippage, then add those same price differences again as cash fees. An explicit fee can be added only if it is not already included in the quoted total.
| Cost concept | What it measures | What to inspect |
|---|---|---|
| Trading fee | A charge on the executed trade value or quantity. | Fee tier, maker/taker role, fill receipt and fee currency. |
| Bid–ask spread | The gap between the best bid and ask at a given instant. | Both quotes, their timestamp and the quantity available at each. |
| Slippage | Fill-price difference from your stated execution benchmark. | Expected quote, individual fills and their weighted average. |
| Crypto withdrawal fee | The amount a platform charges to send crypto out. | Asset, network, minimum, amount deducted and amount received. |
| Network fee | The blockchain transaction cost, or an estimate passed on by a service. | Whether it is already covered by the withdrawal quote. |
| Funding, conversion and payout costs | Bank, card, payment-provider and currency-conversion costs along the route. | Net credited or received amounts and all-in conversion rates. |
How an exchange trading fee is calculated
A common fee calculation is executed trade value multiplied by the applicable rate. A 0.1% rate on a $1,000 fill is $1, not $100. A buy and a later sell are normally separate executions with their own fees; a quoted one-side rate is not the price of a full round trip. These figures are educational examples, not a current exchange tariff.
Rates can depend on the product, pair, region, trailing trading volume, membership, promotional conditions or fee-payment token. Volume tiers often use a rolling period such as 30 days, but eligible volume and the moment a tier is applied vary. Depositing money is not necessarily qualifying trading volume. Trading more just to reach a lower tier can generate additional cost and risk.
Read each fill and its receipt. Fees can be charged in the quote currency, the purchased asset or another token; a fee deducted from crypto reduces the quantity you can later transfer or sell. Funds may be reserved when an order is placed, while fees are booked as executions occur. Partial fills may produce several fee entries. A preview is an estimate or a time-limited quote, so reconcile the final receipt.
Maker and taker describe liquidity, not buy and sell
A maker order rests on the book and adds liquidity before it is matched. A taker execution consumes an existing order. Either role can be a purchase or a sale. Exchanges may encourage liquidity with lower maker rates or rebates, but maker and taker rates can also be equal; the current schedule decides.
A limit buy that crosses the existing ask can execute immediately as taker. An order may partly take liquidity now and leave the remainder resting as maker, so different fills can have different fees. Merely selecting Limit does not establish the fee role.
A post-only instruction, where supported, prevents immediate taker execution by rejecting or cancelling an order that would cross the book. It does not promise a fill or profit. A rebate must be weighed against waiting, missed execution and the possibility of being filled just before the market moves against you.
Bid, ask and the loss from an unchanged market
The best bid is the highest current price offered by a buyer. The best ask is the lowest current price offered by a seller. Buying immediately normally means paying the ask; selling immediately normally means accepting the bid, subject to the quantity available. The spread is ask minus bid.
Suppose the bid is $99,900 per BTC and the ask is $100,100. Their midpoint is $100,000 and the spread is $200 per BTC. A displayed market price may instead be the last trade, an index or an indicative midpoint. It is not necessarily a price at which your whole order can execute.
Assume enough volume for 0.10 BTC at both best quotes, no fee, no slippage and no quote movement. Buying costs $10,010; immediately selling returns $9,990. The $20 difference comes from crossing the spread. Relative to the midpoint, buying costs $10 above reference and selling receives $10 below it. Those two halves make one full spread for this unchanged round trip, not two full spreads.
| Observation | Price per BTC | Value of 0.10 BTC |
|---|---|---|
| Midpoint reference | $100,000 | $10,000 |
| Purchase at the ask | $100,100 | $10,010 |
| Sale at the bid | $99,900 | $9,990 |
Illustrative quotes only. The midpoint is a measurement reference, not an executable promise. The actual loss is $20 before any trading fees.
Measure slippage against a stated expected price
For a buy, adverse slippage occurs when the average fill is above the expected ask or another clearly recorded benchmark. For a sell, it occurs when the average fill is below the expected bid. Better fills are possible too. If you use the midpoint or last trade as your benchmark, the measured difference may already include the spread; it is not a separate extra slippage bill.
A market order can consume several price levels. Its average execution price is the sum of each fill’s price multiplied by its quantity, divided by total filled quantity. For a buy, quantity × (average fill − expected ask) gives the dollar difference from that ask. For a sell, quantity × (expected bid − average fill) gives adverse execution cost.
The book can change between preview, submission and matching. News, volatility, cancelled orders, latency and a large order relative to available volume can widen the difference. Walking through a static book illustrates size-related price impact; real slippage can also include market movement and timing. A snapshot estimates what could fill then, not what will fill later.
Liquidity is the amount available near the price
An order book lists outstanding bids and asks with quantities at each price level. Market depth describes how much volume is available as you move away from the best quotes. A $100 order and a $25,000 order can receive very different average prices on the same book because the larger order reaches less attractive levels.
A liquid pair often has more nearby volume and tighter quotes, but exchange size or reported daily volume alone does not prove that your particular pair is deep. The same asset against USD, a stablecoin or another crypto asset can have different liquidity, fee schedules and conversion legs. Displayed orders can disappear, and some liquidity may not be visible.
Watch an order consume several book levels
The two fictional books below share the same initial bid and ask. Change the requested BTC quantity and compare a deeper book with a thinner one. The calculation fills asks from cheapest to most expensive and adds an illustrative 0.1% taker fee in USD. It is an educational model, not a live exchange feed or an execution forecast.
At 0.10 BTC, the deeper book fills at $100,100 on average. The thinner one fills at $101,210: $10 of spread cost relative to the midpoint and another $111 from consuming higher asks. Its trading fee is about $10.12, making the cash debit about $10,131.12 for a midpoint-reference value of $10,000. The fee alone does not explain that difference.
Same best quote, different depth and order size
Available quantity · BTC
| Ask level | Price per BTC | Available BTC | BTC filled at this level |
|---|---|---|---|
| 1 | $100,100 | 0.1 | 0.1 |
| 2 | $100,120 | 0.2 | 0 |
| 3 | $100,160 | 0.3 | 0 |
| 4 | $100,220 | 0.4 | 0 |
- Weighted average fill
- $100,100
- Trade value before fee
- $10,010
- Illustrative trading fee
- $10.01
- Total purchase debit
- $10,020.01
- Total cost versus midpoint
- $20.01
- Part above the initial ask
- $0
This selection exceeds the displayed depth; a complete execution cannot be priced from this book.
The highlighted quantities are the simulated fills, not your asset balance. The books are static and independent of the full-cycle example below. Unfilled orders, fee rounding, hidden liquidity and market changes are not modelled.
Market and limit orders solve different problems
Use a market order when immediacy matters and you accept the available execution prices. Use a limit order when you need a maximum purchase price or a minimum sale price and can accept waiting or no execution. Neither is universally better. A limit controls the execution-price boundary, not the total payment after separate fees.
A limit price being touched does not guarantee your order fills: earlier orders, available volume, venue priority rules and the order’s lifetime matter. A market order also does not guarantee a single fill or full execution in every condition; exchange protections, insufficient liquidity or outages can stop matching. Check the venue’s rules rather than assuming unlimited execution.
| Question | Market order | Limit order |
|---|---|---|
| Main instruction | Execute against available liquidity now. | Buy no higher, or sell no lower, than the limit. |
| Exact price | No specified execution price is guaranteed. | The limit bounds fill prices, but fees are separate. |
| Execution | Often immediate; may involve multiple or partial fills. | May wait, partly fill, expire or never fill. |
| Maker/taker | Normally taker. | Taker if it crosses; maker if it rests and later fills. |
| Main trade-off | Speed with uncertain average price. | Price control with uncertain timing and completion. |
Funding: what arrives may be less than what leaves
Check bank-transfer, card and payment-provider charges before buying. An exchange can advertise a free deposit while your bank or intermediary charges for sending it. Card purchases may use a separate instant-buy service, with a different price and fee schedule from the order-book interface. Do not assume both interfaces deliver the same net quantity.
Currency conversion can create another explicit fee or a markup in the exchange rate. If your source money is in a different currency, record both the amount debited at the bank and the amount credited for trading. Compare with a clearly dated exchange-rate benchmark; do not count the same conversion markup again if it is already in that rate.
Funding holds, minimums and geographical eligibility can affect whether the route is usable. A deposit charge paid from a separate bank balance is still part of your cost. “Free” describes one service line, not every participant in the payment route.
Transfer and custody: distinguish the platform from the network
A withdrawal fee is what the platform charges you to send an asset out. A network fee is the transaction’s blockchain cost. A platform may quote a fixed withdrawal fee, pass on an estimated network cost, add a service charge or combine them. Its charge can differ from the actual blockchain fee, especially when transfers are batched. Inspect the total debit and the recipient’s net amount; do not automatically add a second network fee to an inclusive withdrawal quote.
Fees and minimums depend on the asset and supported network. Native BTC, a wrapped representation of BTC and a token with a similar ticker are not interchangeable. Check the asset, network, destination support, address and any required memo or tag. A cheap unsupported route can cause a loss far larger than the fee. A test transfer is useful when appropriate, but its fee and the later main transfer’s fee both belong in the budget.
Keeping spot crypto in custody does not inherently create the Forex overnight swap. Specific custodians, subscriptions or other services may charge separately. Withdrawing to your own wallet and later sending to an exchange usually means two outbound blockchain operations, with their own costs. On Bitcoin, transaction size and demand for block space matter; on smart-contract networks, computation and network demand matter. A small-dollar transfer can still incur a meaningful fixed cost.
Selling and cashing out complete the route
On the sale, check the bid, actual fills, trading rate and fee currency again. The average price, available liquidity and applicable tier may differ from the purchase. Selling into a stablecoin is not yet a completed fiat withdrawal: redemption, another trade or conversion may add a leg, and the stablecoin’s price and availability are separate risks.
Then check the fiat payout fee, bank or intermediary charges, currency-conversion rate, minimum payout and settlement method. A displayed USD balance is not necessarily the dollars that reach your bank. Compare ordinary and instant payout options using the final amount received. Reconcile residual cash or crypto left on every platform; an unsold remainder is an asset, not automatically a fee.
Set the assumptions for one complete $10,000 example
All prices and charges below are hypothetical and do not belong to a named exchange. The route is USD from a bank to exchange A, a BTC purchase, one BTC transfer to exchange B, a sale and USD returned to the bank. Both venues are assumed to support the same native BTC network and USD route. No self-custody return transfer, currency conversion or destination deposit fee is assumed.
The measurement midpoint stays at $100,000 per BTC throughout, so the example isolates transaction costs from market gains and losses. At both trades the best bid is $99,900 and ask is $100,100. The assumed buy average is $100,200 and sell average is $99,800: each is $100 less favourable than its best quote. These assumed fills are independent of the interactive books above.
The deposit costs $20. Each trade costs 0.1% of its executed USD value, charged separately in USD. The crypto withdrawal costs 0.0001 BTC, deducted from the BTC holding and assumed to include that transfer’s network cost. The final fiat payout costs $15. Custody, destination deposit and other charges are zero only by assumption. Calculations retain full precision; displays round USD to cents and BTC to eight decimals. Real platforms also apply their own quantity steps, fee rounding and minimums.
Follow the actual cash and crypto quantities
After funding, $9,980 is available. You must reserve the USD trading fee before spending it all on BTC. Let Q be the purchase quantity: Q = 9,980 / (100,200 × 1.001). The trade value is about $9,970.03 and its fee is about $9.97; together they use the available $9,980. The purchase quantity is about 0.09950130 BTC.
Deducting the 0.0001 BTC withdrawal fee leaves about 0.09940130 BTC for sale. At the assumed $99,800 average, the gross sale is about $9,920.25. After about $9.92 in selling fee and the $15 payout charge, the bank receives $9,895.33. There are no uncounted residual balances in this idealised full-precision model.
| Stage | Actual holding after the stage | Value at the fixed midpoint | Reduction from the previous stage |
|---|---|---|---|
| Starting bank balance | $10,000 | $10,000 | — |
| Deposit credited | $9,980 | $9,980 | $20 |
| BTC bought; USD fee paid | 0.09950130 BTC | $9,950.13 | $29.87 |
| BTC received at exchange B | 0.09940130 BTC | $9,940.13 | $10 |
| BTC sold; selling fee paid | $9,910.33 | $9,910.33 | $29.8 |
| Fiat received in the bank | $9,895.33 | $9,895.33 | $15 |
The midpoint-value column values BTC at $100,000 solely for comparison. It is not an executable sale price or a cash balance. The reduction column combines the relevant price difference and fee once; it must not be subtracted again from the actual holding.
Reconcile explicit charges with costs inside the fills
Relative to the unchanged midpoint, the cycle costs $104.67, about 1.05% of the initial $10,000. The two explicit trading fees together are only about $19.89. Another $45 comes from funding, crypto withdrawal and fiat payout; about $39.78 comes from spread and adverse execution beyond the best quotes. This is why “the exchange charged 0.1%” is not an all-in cost statement.
The table allocates buy-side price differences across the full purchased quantity and sell-side differences across the smaller quantity received after the BTC fee. The transfer’s 0.0001 BTC is valued at the fixed midpoint, $10, rather than treated as a second USD debit. All categories sum to the same initial-minus-final result. Rounding can cause small discrepancies in other examples.
| Component | Calculation basis | Cost in USD |
|---|---|---|
| Funding fee | Actual USD debit for funding. | $20 |
| Buy-side spread contribution | Purchased BTC × (ask − midpoint). | $9.95 |
| Buy-side adverse slippage | Purchased BTC × (buy average − ask). | $9.95 |
| Buying fee | Executed buy value × 0.1%. | $9.97 |
| Crypto transfer charge | 0.0001 BTC × the fixed midpoint. | $10 |
| Sell-side spread contribution | Received BTC × (midpoint − bid). | $9.94 |
| Sell-side adverse slippage | Received BTC × (bid − sell average). | $9.94 |
| Selling fee | Executed sale value × 0.1%. | $9.92 |
| Fiat payout fee | Actual USD deduction at cash-out. | $15 |
| Total cycle cost | $104.67 | |
- Funding fee$20
- Buy-side spread contribution$9.95
- Buy-side adverse slippage$9.95
- Buying fee$9.97
- Crypto transfer charge$10
- Sell-side spread contribution$9.94
- Sell-side adverse slippage$9.94
- Selling fee$9.92
- Fiat payout fee$15
0 · 20 USD
Nine cost bars total about 104.67 USD: funding 20, buy spread 9.95, buy slippage 9.95, buy fee 9.97, crypto transfer 10, sell spread 9.94, sell slippage 9.94, sell fee 9.92 and fiat payout 15.
Every bar is one additive cost component in USD, measured from zero. Spread and slippage are decomposed from actual execution prices; the chart does not add them again to the cash ledger.
Separate transaction costs from market performance
In the worked cycle the midpoint never changes, so the initial-minus-final cash difference measures cost. In a real holding period, BTC can rise or fall during custody and transfer. Your final bank balance then combines market performance with execution and service costs. Calling the whole difference “fees” would be misleading.
Record reference quotes at the relevant times, net quantity after every charge and any residual balances. Use actual fees and fills for a realised ledger; use clearly labelled quotes for an estimate. A lower entry price, another currency benchmark or a favourable market move does not make an already-paid fee disappear.
Compare routes with the same practical checklist
Before sending money, compare the same asset, net quantity or cash budget, timing, payment method and eventual destination. Then repeat the calculation for a smaller amount and a less favourable liquidity scenario.
Choose the actual service and pair
Distinguish the order-book interface, instant-buy quote, broker service and crypto conversion. Identify the quote currency and any extra trades needed to reach the asset.
Read the fee tier and denomination
Check maker and taker rates, eligible volume, pair exceptions, minimum charges, discounts and the token in which the fee is deducted. Record both purchase and sale fees.
Inspect executable quotes and nearby volume
Compare bid, ask, quantity at each level and the likely weighted fill for your size. A narrow headline spread with very little top-level volume may not help a large order.
Choose the order trade-off
Decide whether immediacy or a price boundary matters more. Check limit-order waiting, partial fills, post-only behaviour and market-order protections.
Calculate funding and conversion
Compare the full bank debit with the trading balance credited. Include separate bank and provider charges, and inspect the conversion rate rather than only a “no fee” label.
Check the transfer destination
Confirm the exact asset and supported network, address or memo, withdrawal minimum, total debit and recipient amount. Count test and return transfers if the route includes them.
Price the sale and bank payout
Include the selling quote and fee, any stablecoin-to-fiat conversion, payout fees and bank charges. Check that the withdrawal method is actually available to you.
Reconcile the whole route
Keep receipts and fills, reconcile all cash and crypto balances, and separate market gains or losses from transaction costs. Compare net outcomes alongside execution reliability, custody and counterparty risk.
Instant quotes, DEX swaps and “zero fee” offers
A simple buy or conversion service may embed a markup in its quoted price as well as charge an explicit service fee. An order-book service can avoid that particular markup while still having a market bid–ask spread. “No added spread” does not mean bid equals ask. A subscription or zero-trading-fee offer can still involve spread, transfer charges and payment costs.
A decentralised swap may use a liquidity pool rather than a central order book. Pool price impact, liquidity-provider or protocol fees, routing or wallet-service fees, approvals, network gas and any bridge legs need their own accounting. A slippage-tolerance setting is an execution boundary relative to the quoted outcome, not a guaranteed charge of that percentage. A transaction reverted after on-chain execution can still consume gas; a transaction rejected before inclusion is a different case.
Three checks against misleading conclusions
If the trading fee is zero, is the operation free?
No. The quoted purchase price may contain a markup or spread, execution can move away from the expected price, and funding, transfer and payout services may charge separately. Compare the complete cash and asset route.
Does a limit order always avoid taker fees and slippage?
No. A crossing limit can be taker, and the fee can be charged in addition to its fill price. A resting limit can miss the trade or fill only partly. Judge execution against a defined benchmark; the limit bounds price but does not guarantee the whole economic outcome.
Is the cheapest listed withdrawal network the right choice?
Only if the exact asset and network are supported at both ends and suit your intended route. A ticker alone does not establish compatibility. Include any conversion, bridge and return-transfer costs, as well as operational risks, before calling a route cheaper.
USDT and USDC: reserves, redemption, networks and holder rights
Risk and scope of the examples
This guide explains costs, not whether you should buy crypto or use a particular venue. Crypto prices can move sharply and custodial, counterparty and transfer risks can cause losses beyond ordinary fees. Examples are hypothetical spot transactions without market-price movement, taxes, leverage or unlisted service charges. Tax treatment, available services and protections depend on location and product. A lower calculated fee does not establish that a platform or transfer route is safe.
Network fee documentation
The references below are the official Bitcoin and Ethereum documentation on network fees. The order books and cash cycle are independently constructed examples, not current exchange prices. Check the final cost preview before each transaction.