Trading fees

Maker and Taker Fees for Trading Bots: Calculate Costs per Fill

Maker and Taker Fees for Trading Bots: Calculate Costs per Fill

Maker and Taker Fees for Trading Bots: Calculate Costs per Fill

New Hope — Maker and Taker Fees for Trading Bots: Calculate Costs per Fill

Maker and taker fees depend on an execution's liquidity role, not the name of the trading bot. One order can produce several fills with different roles. A reliable calculation starts with those individual executions and their charges, then groups the amounts by order, position and reporting period.

This guide provides a way to check the calculation independently. Every rate and quantity in the examples is invented for arithmetic. The examples do not describe a current exchange fee schedule or recommend generating a particular amount of turnover.

What maker and taker describe

A maker execution supplies liquidity through an order previously resting in the book; a taker execution consumes available liquidity. A limit order can execute immediately as taker and leave a remainder that later fills as maker. Rates depend on the product and account tier, and maker is not necessarily cheaper. This distinction is documented in Coinbase Advanced's fee guidance.

The selected order mode does not replace the final execution record. Check each fill's actual role, applied rate and charge currency. Today's displayed fee tier may differ from the tier that applied to an older transaction.

An order with two liquidity roles

Assume a purchase has exactly 1,000 USDT of executed value. Of that, 400 USDT fills immediately, while 600 USDT fills after resting in the book. In our fictional fee model, taker costs 0.10%, maker costs 0.05%, and all fees are charged in USDT:

  • Immediate fill: 400 × 0.001 = 0.40 USDT.

  • Resting fill: 600 × 0.0005 = 0.30 USDT.

  • Total purchase fee: 0.40 + 0.30 = 0.70 USDT.

The effective rate is 0.70 / 1,000 × 100% = 0.07%. A simple average of the two rates would be 0.075%, incorrectly producing a fee of 0.75 USDT. Because the execution values differ, the rates need weighting by their respective calculation bases.

Calculate the closing sale separately. Suppose its executed value is 1,012 USDT and the entire sale is taker at the invented 0.10% rate. The exit fee is 1.012 USDT. The price-based result before fees is 12 USDT; after both entry and exit fees, it is 12 − 0.70 − 1.012 = 10.288 USDT. Apply the relevant report's rounding rules to the final reconciliation.

Turnover and total fees

Account balance is not a universal base for trading commission. In this example, executed value is the relevant amount. Imagine a prepared history containing 40,000 USDT of total executed value, 70% of it maker. Using the same fictional rates gives:

  • Maker: 28,000 × 0.0005 = 14 USDT.

  • Taker: 12,000 × 0.001 = 12 USDT.

  • Total fees: 26 USDT, equivalent to 0.065% of the stated turnover.

The 40,000 figure must already contain every execution included in the exercise, both entries and exits. Doubling the charge again for a “round trip” would be wrong. This calculation says nothing about profitability: identical turnover and fees can accompany very different price outcomes.

What to check in an export

  1. Calculation units. Separate asset quantity from executed value. Check that the contract specification supports the fee formula you are using.

  2. Role and rate. Preserve the maker/taker classification and applicable rate for every fill, including any separately recorded discount or rebate.

  3. Currency. Do not directly add a charge paid in another asset to a USDT total. If converting it, record the valuation time and exchange-rate source.

  4. Complete history. Remove duplicate records by identifier and check that grouping has not discarded partial fills.

  5. Period boundaries. Decide how fees relating to still-open positions enter the period. Reports being compared must use consistent rules.

  6. Result definitions. Determine whether the selected P&L field already includes fees. Subtracting them again creates an artificial loss.

Keep one control order with every associated fill. After its manual total reconciles, check an example involving another fee currency or a partial close. This can reveal a data-conversion error that a single monthly total would conceal.

Fees within the full execution cost

A lower fee does not establish better execution by itself: price, quantity and waiting time remain separate questions. Post-only sets a condition for resting in the book, not a promise of a fill. For example, Coinbase describes rejection when a post-only instruction would immediately take liquidity in its order rules. Availability and behaviour must be checked at the venue being used.

Read the guide to limit and market orders for partial-fill mechanics. Perpetual contracts also require separate treatment of funding. Once cost definitions are consistent, it becomes easier to interpret profit factor without comparing metrics calculated on different bases.

If P&L already uses actual execution prices, do not subtract a second estimate of spread or slippage. To investigate a mismatch, prepare anonymised records following the execution audit: prices, quantities, fees, timestamps and field definitions.

Get our presentation about New Hope PRO and CRYPTO

Get our presentation about New Hope PRO and CRYPTO

Get our presentation about New Hope PRO and CRYPTO