TradeBoost

Crypto Trading Fees: Calculate What You Actually Pay

9 min read #trading-fees #trading-costs #futures #education
Published Last updated
Execution markers on a timeline: count every fill once.

How much did you pay in trading fees last month? If you use Bybit or OKX, your account balance won't answer that question.

A small rate can apply many times as you enter, exit, and rebalance positions. But a small rate doesn't automatically mean a huge bill, either.

The only useful answer starts with executed trades. This guide shows you how to calculate that bill without doubling volume or confusing margin with position size.

Examples checked October 6, 2026. They illustrate arithmetic, not a typical customer's spending. USDT is a reporting unit here, not a promise of dollar parity.

The short answer

  • At a hypothetical 0.055% rate, 10,000 USDT of executed value costs 5.50 USDT.
  • A 10,000 USDT entry plus a 10,000 USDT exit means 20,000 USDT of total fills, costing 11 USDT at that rate.
  • Use full executed notional for linear futures, not just the margin you deposited.
  • Keep funding, execution costs, and settled credits separate from gross trading fees.

You don't need a complex dashboard to begin. A consistent export and a short worksheet are enough to identify what you're actually measuring.

Think of it like checking a receipt: count each purchased item once, then separate charges from credits. The total should be reproducible.

What does a percentage fee apply to?

For a simple linear USDT-futures fill, multiply executed quantity by execution price, then by the applicable fee rate. Bybit documents this calculation; inverse contracts differ. Bybit futures fee explanation.

Suppose the resulting executed value is 10,000 USDT and the rate is 0.055%. Convert the percentage to a decimal before multiplying.

10,000 × 0.00055 = 5.50 USDT.

The rate is an example drawn from Bybit's published VIP 0 perpetual/futures taker schedule. Your account, region, product, and tier may differ. Bybit fee schedule.

USDT is a dollar-linked token. Notional means the full position value, while margin is the collateral supporting that position.

Don't substitute your account balance for executed value. A balance describes money held at a point in time; turnover describes transactions over a period.

The same funds can support multiple trades. That's why two accounts with identical balances can produce very different monthly commission totals.

Are you counting a trade or a round trip?

The word trade can mean one fill, one order, or an entire position lifecycle. Your spreadsheet needs a less ambiguous unit.

Use individual fills whenever possible. If a hypothetical position opens at 10,000 USDT and closes at 10,000 USDT, total executed value is 20,000 USDT.

At a constant 0.055%, the opening fee is 5.50 USDT and the closing fee is another 5.50 USDT. Combined: 11 USDT.

If the exit instead executes at 10,200 USDT, its fee is 5.61 USDT. The combined fee becomes 11.11 USDT, before any other costs.

This example assumes the same rate on both sides. It doesn't assume the asset price stays constant or that every exit uses the same execution method.

Most importantly, don't double a total that already includes both sides. A fills export containing 100,000 USDT of entries and exits stays 100,000 USDT.

One round trip has an entry fill and an exit fill. Count each execution once.

Does leverage multiply the fee again?

Not when you've already used full position notional. In this calculation, leverage is relevant to how a position relates to margin, not an extra multiplier.

Imagine 1,000 USDT of margin supports a hypothetical 10,000 USDT linear position. At 0.055%, one full-size execution costs 5.50 USDT.

Calculating 1,000 × 0.00055 would give 0.55 USDT, understating that fee. Calculating 10,000 × 10 × 0.00055 would give 55 USDT, overstating it.

The correct calculation uses the 10,000 USDT executed value once. This simplified example isn't a margin requirement or a recommendation to use leverage.

The same 5.50 USDT is 0.55% of the hypothetical 1,000 USDT margin. That's a different denominator, not a different exchange fee rate.

Keep those two percentages in separate columns. One describes commission relative to turnover; the other describes its size relative to a chosen capital amount.

What could a monthly bill look like?

Take three hypothetical totals, all including every entry and exit. Assume a constant 0.055% taker rate and no maker fills.

  • 10,000 USDT of total executed value: 5.50 USDT.
  • 100,000 USDT of total executed value: 55 USDT.
  • 1,000,000 USDT of total executed value: 550 USDT.

These aren't estimates of normal trader behavior. They're checkpoints for your arithmetic, and they exclude funding, settlement charges, and execution differences.

Ten round trips with 10,000 USDT on each side would total 200,000 USDT, not 100,000. Under the same assumptions, commission would be 110 USDT.

By contrast, ten individual fills of 10,000 USDT each total 100,000 USDT. Their commission would be 55 USDT.

If two fee calculators disagree by exactly a factor of two, inspect their volume definitions first. They may be answering different questions rather than using different rates.

What if your fills use different rates?

Maker fills add resting orders to the book; taker fills execute against existing orders. These classifications can carry different rates.

Calculate each group separately. Suppose a fictional monthly export contains 40,000 USDT at 0.02% and 60,000 USDT at 0.055%.

The first group costs 8 USDT; the second costs 33 USDT. Total commission is 41 USDT on 100,000 USDT of executed value.

Your observed blended rate is therefore 41 ÷ 100,000 × 100 = 0.041%.

An unweighted average of 0.02% and 0.055% would produce 0.0375%, which is wrong for that volume mix. Weight by value, not fill count.

You also need historical rates when reviewing historical trades. Applying today's tier to every fill from last month can produce an inaccurate reconstruction.

Your recorded fee amounts are the starting evidence. Use a calculated estimate to investigate discrepancies, not to overwrite the actual charges in your export.

How do you build a useful worksheet?

Choose a reporting window with explicit start and end times. Use one timezone, and keep the original export unchanged so you can retrace your work.

For each fill, retain its unique identifier, timestamp, venue, pair, product, direction, executed quantity, execution price, fee amount, and fee asset.

Add the maker or taker classification when available. It can explain a rate difference without requiring you to guess from the order type.

Next, add executed value in a common reporting currency. For linear contracts quoted in that currency, quantity times execution price is the basic starting calculation.

Check contract specifications before interpreting quantity. Some exports use contracts rather than units of the underlying asset, so a multiplier may be necessary.

Then normalize fee amounts into the same reporting currency. Keep the original currency, conversion price, and conversion timestamp alongside the normalized amount.

Finally, total comparable rows and divide normalized commission by normalized executed value. Don't mix unrelated products just because they appear in the same download.

What usually goes wrong with exports?

Duplicate rows. Overlapping downloads can include the same fill twice. Deduplicate using venue and fill identifier, with product or account context where required.

Order totals mixed with fills. If you add both an order summary and its underlying fills, you may double-count the same execution.

Inconsistent signs. Some files represent fees as negative cash flows; others show positive charges. Preserve the source and document your reporting convention.

Mixed currencies. Adding a BTC fee directly to a USDT fee produces a number with no useful unit. Convert consistently before aggregation.

Missing accounts. A main-account export may not cover every subaccount. List your intended scope before concluding that a total represents all trading activity.

Different period boundaries. A local-calendar month and a UTC-calendar month include different edge transactions. Pick one and use it consistently.

You can catch many problems by reconciling a few fills manually. Choose a simple fill, a partial-fill order, and one charged in a different asset.

Where do funding and execution costs go?

Put them on separate lines. A funding payment isn't the same thing as a fee for executing an order.

A perpetual is a contract without a fixed expiry. Funding is a periodic payment between holders of opposing positions, separate from execution commission.

Perpetual funding may be a payment or receipt, with timing determined by the contract. Bybit explains that the applicable rate and position direction determine the flow. Bybit funding explanation.

For a fictional monthly summary, suppose commission is 41 USDT, funding paid is 6 USDT, and funding received is 2 USDT.

Net funding cost is 4 USDT. Commission plus net funding is 45 USDT, before any other relevant charges or execution-cost measurement.

Spread is the gap between quoted buying and selling prices. Slippage compares your actual fill price with a reference price.

Spread and slippage need a defined benchmark. If your benchmark already captures the spread's effect, adding a separate spread estimate can double-count it.

Don't subtract these estimated costs from reported profit blindly, either. First establish whether that profit figure already includes the fees you're trying to deduct.

Should you subtract cashback immediately?

Keep gross fees and credits separate. An advertised benefit, a pending claim, and a received payment aren't the same entry in your records.

For your own reporting, label each credit by status and period. Only treat a credit as received once the corresponding payment is confirmed.

That avoids presenting conditional benefits as money already recovered. It also helps explain why a payment received this month might relate to last month's trades.

Use a consistent accounting convention if you need formal statements. This worksheet is a practical review tool, not tax or accounting advice.

What should you do with the result?

First, check whether the cost matches the strategy you intended to run. Frequent turnover, larger positions, and a different execution mix all change the arithmetic.

Next, compare realistic alternatives using the same volume and assumptions. Don't increase trading just to pursue a lower tier; extra activity brings extra costs and risk.

For venue-specific scenarios, see our Bybit versus OKX fee comparison. Replace its illustrative inputs with your own account rates.

The most useful outcome isn't a dramatic savings claim. It's a fee total you can reproduce, explain, and compare with next month's records.

You can also check the fee-reduction conditions on TradeBoost once you've established your existing costs.

This article is published by TradeBoost and contains no exchange referral links. It's for informational purposes only, not financial advice or an exchange recommendation. Trading decisions and risks remain yours.

What TradeBoost is

TradeBoost is a third-party affiliate-rebate service that returns a portion of exchange affiliate commissions to users as USDT on Arbitrum One. TradeBoost is not an exchange, broker, custodian, or investment service, and does not provide trading, custody, or financial advice.

General disclaimer

This article is for informational purposes only. All trading occurs on third-party exchanges under their terms. Trading and investment decisions should be made based on your own judgment and risk tolerance.

Earn your trading fees back as USDT