Taker fee

Also written taker, taker fees

A taker fee is what a venue charges when your order executes immediately against something already resting on the book, rather than waiting there for somebody else. It is set by what the order did, not by what type it was, and it is usually the higher of the two rates a venue quotes. Most automated strategies pay it on most of their fills.

A bot's profit is gross of fees exactly once, in the backtest. Everywhere else it is net, and the fee that nets it is usually the taker fee, because taking liquidity is what a strategy does when it has decided something and wants the position now.

How it works

Maker and taker are outcomes, not order types. Kraken's fee article, updated 9 February 2026, states the rule without hedging — a trade order gets the maker fee "if the trade order is not matched immediately with an opposing order already on the order book", and the taker fee "if the trade order is matched immediately against an order already on the order book" — and then says plainly that "Limit orders can also execute immediately, thus, incurring a taker fee." A limit order priced through the spread is a taker order. The matching engine decides, after the fact. The one instruction that forces the other outcome is post-only, and it works by rejecting an order that would cross rather than by filling it more cheaply.

The rate is a property of your account this month, not of the venue. Kraken's spot schedule starts at 0.40% maker and 0.80% taker at zero 30-day volume and steps down to 0% and 0.10% at 10 million dollars of 30-day volume, with lower Pro tiers beyond that. Binance sets spot tiers on 30-day volume and BNB balance together — VIP 1 at one million dollars traded and at least 5 BNB held, VIP 9 at four billion dollars and 5,500 BNB — and applies a 25% discount when the fee is paid in BNB, so the regular user's 0.100% becomes 0.075%. Hyperliquid tiers on a rolling 14-day volume rather than 30 days, and layers a staking discount running from 5% above 10 HYPE to 40% above 500,000 HYPE.

Three consequences fall straight out of those three schedules. The measurement window is not the same number of days everywhere. Holding the venue's own token changes the fee, which makes part of your trading cost a position with its own price risk. And the gap between the two sides is not constant: at Kraken's entry tier the taker fee is twice the maker fee, at Binance's regular tier the two are identical at 0.100%, and at Hyperliquid's perps tier 0 the taker rate is three times the maker rate at 0.045% against 0.015%. A strategy whose margin is the maker-taker spread is being sized by a number that differs in kind between venues.

Why it matters here

Fee cost scales with turnover, which is the one quantity an automated strategy maximises by construction. At entry-tier Kraken spot rates a round trip that takes liquidity on both sides costs 1.6% gross; at Hyperliquid perps tier 0 the same round trip costs 0.09%. Neither number is exotic and both are published, which is what makes the assumed number in a backtester the expensive thing rather than the fee itself.

That number is recorded on the cards here because the engines disagree about it. Cryptohopper's backtester takes a maker/taker fee you type in yourself rather than one read from the venue. OctoBot reads simulated fees from the profile configuration and falls back to 0.0 when a profile omits them. Hummingbot charges one flat round-trip cost, 0.0002 by default, identical for maker and taker. Jesse pre-fills a real per-exchange rate, which is an improvement on zero, but it is the taker rate and it is applied to both sides, so maker-heavy strategies are overcharged by design. Freqtrade and Passivbot read the venue's own maker and taker fees, and Passivbot exposes overrides for both.

What each engine assumes, and the file it assumes it in, is the subject of what a crypto backtest assumes — this page is about the number they are arguing over, not about the engines. The three hosted platforms that meter this differently are set against each other at 3Commas vs Cryptohopper vs Bitsgap.

One more reason the fee you pay differs from the fee you modelled: on several venues part of it is routed to whoever sent the order, and some free bots are paid that way. That arrangement, and the referral links that cut the fee in the opposite direction, are covered in who pays for your free trading bot.

What to check before you size the strategy

Which tier the account is in today, not the tier the backtested growth would reach. A new account trades at the entry rate, which is where the strategy's first and worst months happen.

Whether the discount is a position you intend to hold. Five BNB or 500,000 HYPE is capital at risk, held to reduce a cost. That is a trade of its own and it belongs in the same spreadsheet.

Whether your engine has one fee field or two. One field means the maker side is being priced at the taker rate or the other way round, and the error has a sign you can work out in advance.

What your order flow is, honestly. If the code sends limit orders and assumes maker fees, the question is how many of them cross the spread. Post-only turns the assumption into a guarantee and turns some fills into rejections instead.

Whether the edge survives the published rate on your venue, at your tier, on both sides. If it does not, the fee schedule has already answered the question the backtest was asked.

Where you will meet this

The cards where this changes a decision, then the rest that use the word.

Sources

  1. What are Maker and Taker fees? Kraken,
  2. Fee Structures — Kraken spot, margin and futures fee schedule Kraken, read
  3. Binance trading fee rate — spot VIP fee levels Binance, read
  4. Hyperliquid documentation — Fees Hyperliquid, read

FAQ

Is a limit order always a maker order?

No. Kraken's own fee article says a trade gets the taker fee if it is matched immediately against an order already on the book, and adds in as many words that limit orders can also execute immediately and incur a taker fee. A limit order priced through the spread is a taker order. The only instruction that guarantees the other outcome is post-only, and it guarantees it by rejecting the order rather than by filling it more cheaply.

Why is the taker fee in my backtest wrong even when I typed a real number?

Usually because you typed a tier you are not in. Venue fees step down with 30-day volume, and on some venues with a token balance as well — Binance's VIP 1 needs a million dollars traded and at least 5 BNB held. An account with no history sits in the entry tier, which is where a new strategy will actually trade.

How much does the taker side actually cost?

Take the published entry tiers. Kraken spot charges 0.80% taker at zero 30-day volume, so a round trip taking liquidity on both sides is 1.6% gross before the strategy has an opinion. Hyperliquid's perps tier 0 is 0.045% taker, so the same round trip is 0.09%. The two venues differ by a factor of about eighteen at the entry tier, which is larger than most strategy edges.

Which bots charge a real taker fee in a backtest?

Freqtrade and Passivbot read the venue's own maker and taker rates. Jesse pre-fills a real per-exchange rate but applies the taker rate to both sides. Hummingbot charges one flat round-trip cost identical for maker and taker. OctoBot falls back to zero when the profile omits fees, and Cryptohopper's backtester takes a rate you type in yourself. The catalogue records the file each default comes from, card by card.

Updated