Back to Blog

Maker vs. Taker: The Fee Structure Most Grid Bots Are Leaving on the Table

Grid trading is, almost by definition, a maker strategy. Understanding why that sentence matters — and how to verify whether your bot is actually living up to it — could be the most useful twenty minutes you spend on your trading setup this year.

Jeremy J. Black / CoinRoc Research
June 1, 2026
3 min read
maker taker fees
grid trading fees
post-only orders
GTX
order book
exchange fees
grid trading
trading costs

Grid trading is, almost by definition, a maker strategy. Understanding why that sentence matters — and how to verify whether your bot is actually living up to it — could be the most useful twenty minutes you spend on your trading setup this year.

This is not a complicated topic. But it is one where the gap between “knowing the words” and “actually checking your exchange history” is wide enough that a lot of traders pay more than they should, for years, without ever realizing it.


What the Order Book Is

Every crypto exchange operates an order book. It is, at its simplest, two lists:

A list of people who want to buy, organized by the highest price they are willing to pay. And a list of people who want to sell, organized by the lowest price they are willing to accept.

The best buy price (the highest bid) and the best sell price (the lowest ask) sit at the top of their respective lists, separated by a small gap called the spread. When a buyer’s price meets a seller’s price, a trade executes and both orders are removed from the book.

Here is what creates the maker/taker distinction: how your order interacts with that book.


Makers Add Liquidity. Takers Remove It.

When you place a limit order — a buy at $90,000 on a coin currently trading at $91,000, for example — your order cannot execute immediately. No one is selling at $90,000 right now. So your order sits on the book, waiting. You are adding a new entry to the buyer list. You are providing liquidity to the market — making it easier for someone else to sell at your price when they are ready. You are a maker.

When you place a market order — “buy right now at whatever price is available” — or when you place a limit buy at $91,500 and the coin is already at $91,000, your order executes immediately against existing sell orders. You are removing entries from the book. You are consuming liquidity that someone else put there. You are a taker.

Exchanges charge more for takers than makers. Makers take the risk of sitting in the book unmatched; in exchange, they get a lower fee. Takers get immediate execution; they pay for the convenience.

On Binance.US, the base-tier gap is 0.10% maker versus 0.16% taker. On Coinbase Advanced, it is 0.40% maker versus 0.60% taker. The maker/taker spread in percentage terms is 60% at both exchanges — meaning taker fills cost 50% to 60% more than maker fills.

Figure 2

How the Order Book Creates the Maker/Taker Distinction

Maker Order — Limit Buy Below Market
Order placed below current price · rests in the book · waits for price to come down
$91,4000.42 BTC
$91,2000.88 BTC
$91,0501.12 BTC
Spread$91,000 — $91,050Current price
$90,9500.55 BTC
$90,5001.00 BTCYOUR ORDER
$90,2002.10 BTC
Resting in book — waiting for price to fall

Your limit buy at $90,500 cannot execute yet — no one is selling there. It joins the bid list and waits. You are adding liquidity to the market.

Charged maker fee(lower rate)
Taker Order — Limit Buy At or Above Market
Order matches immediately against existing sells · removes liquidity · executes now
$91,4000.42 BTC
$91,2000.88 BTC
$91,0501.12 BTCMATCHED
Spread$91,000 — $91,050Current price
$90,9500.55 BTC
$90,5000.30 BTC
$90,2002.10 BTC

A limit buy at $91,500 (or a market buy) matches the lowest ask immediately. The order is removed from the book. You consumed someone else's liquidity — you're a taker.

Charged taker fee(higher rate)

Maker orders add liquidity and wait. Taker orders consume liquidity immediately. The exchange rewards patience with a lower fee. Grid bots are designed as maker strategies — but fast-moving markets can force taker fills without any visible warning.


Why Grid Bots Are Supposed to Be Maker Strategies

A properly configured grid places limit orders above and below the current price. Those orders sit in the book and wait for price to oscillate through them. When they execute, they should be executing as maker orders — the grid provided liquidity, another trader took it, the exchange charges the lower fee.

That is the design. In a cooperative market, grid trading is one of the most natural maker strategies that exists.

The problem is that markets are not always cooperative. And even well-configured grids can slip into taker territory without any visible indication that it happened.

Here is the scenario: price moves quickly. Your grid bot is placing a buy order at $89,500. But by the time the order reaches the exchange — a matter of milliseconds — price has already fallen to $89,200. Your $89,500 buy order does not need to wait in the book. It will execute immediately against existing sell orders below $89,500. The exchange processes it as a taker fill. Your bot never told you.

This is not a hypothetical edge case. In volatile crypto markets, price moves through multiple grid levels in a single minute. The faster price moves, the more frequently grid orders arrive “in the money” — ready to execute immediately rather than rest and wait. High volatility, which is exactly when grids are most active, is precisely when taker slippage is most likely.


What Happens When a Grid Bot Fills as a Taker

The math here is straightforward, and worth sitting with.

Using Binance.US base rates (0.10% maker / 0.16% taker), on a $10,000 grid running two round-trip trades per day:

  • At maker rates: roughly $146 per year in fees (illustrative, using May 2026 listed rates)
  • At taker rates: roughly $233 per year in fees
  • Difference: approximately $87 per year

That $87 is the cost of the gap. It is not catastrophic on its own — but it compounds forward across every grid you run, and it represents money the exchange takes before your grid earns a cent. Over three years of active grid trading, you are talking about $260 or more in largely avoidable cost, just from that one fee differential on one exchange.

On Coinbase Advanced, where the gap is larger (0.40% maker / 0.60% taker), the same math produces roughly $438 per year at maker rates versus $584 per year at taker rates. That $146 annual gap scales further with larger positions.

Figure 1

Maker vs. Taker: Annual Fee Cost by Exchange

$10,000 grid — 2 round-trips/day — illustrative at May 2026 listed rates

Maker (limit order, rests in book)
Taker (executes immediately)
Annual savings gap
Binance.US
0.10% maker 0.16% taker
Maker
$146/yr
Taker
$233/yr
$87/yrannual gap — taker pays 60% more per fill

Coinbase Advanced
0.40% maker 0.60% taker
Maker
$438/yr
Taker
$584/yr
$146/yrannual gap — taker pays 50% more per fill

OKX US
0.08% maker 0.10% taker
Maker
$117/yr
Taker
$146/yr
$29/yrannual gap — taker pays 25% more per fill

OKX US annual cost figures are illustrative estimates at the same $10k / 2 round-trips/day basis.

Exchange Comparison at a Glance

Binance.US0.10% / 0.16%Maker / Taker
$87/yr gap on $10k grid
Coinbase Adv.0.40% / 0.60%Maker / Taker
$146/yr gap on $10k grid
OKX US0.08% / 0.10%Maker / Taker
Lowest absolute rates

Annual fee cost on a $10,000 grid running 2 round-trips/day — illustrative, May 2026 rates. Exchange fee schedules are subject to change. Dollar figures are estimates for comparison purposes only and do not represent guaranteed costs. The maker/taker gap percentage (50–60%) reflects the ratio of fee differential to maker rate at each exchange.


The CoinRoc Discovery: A Real-World Example

If you want to see what happens when this issue runs uncorrected in a live system, there is a concrete case worth reading.

CoinRoc’s live Binance.US adapter was, until recently, sending all grid limit orders with a time-in-force setting called GTC — Good Till Cancelled. GTC is the default behavior for most grid bots: place the order, and if it fills immediately at market price, fine — just execute it. The exchange processes it as a taker fill and the bot moves on without flagging it.

The correct setting for a maker strategy is GTX, also called Post-Only. A Post-Only order says: if this order would execute immediately as a taker, reject it and do not fill. Hold the level open.

When CoinRoc’s team backtested the difference across 15 years of historical data — 36 walk-forward test windows covering BTC, ETH, ADA, and STX — the results were not what anyone expected. The fee savings alone from switching to GTX were relatively modest. What changed dramatically was the behavior in bear markets.

A GTC grid keeps buying as price falls. Every time price touches a lower grid level, the order fills. In a sustained bear market, the grid accumulates inventory at progressively lower prices. That inventory needs a recovery to ever be profitable. In a deep crypto crash — BTC down 72% in 2018, ETH down 68% in 2022 — that recovery takes years. Capital sits locked in underwater positions.

A GTX grid refuses to fill when the candle opens below the limit price — the exact condition that signals a gap-down move. In a bear market, gaps down are frequent. GTX reads them as taker conditions and skips the orders. The grid does not add inventory into the crash.

That is the full story, and it is worth reading in detail. We published a standalone piece on this research — Your Grid Bot Thinks It’s a Maker. Is It? — that walks through the backtest numbers, the specific bear-market fold results, and the tradeoffs involved. This article will not repeat it. What matters here is the practical question it leaves you with: does your grid bot actually behave like a maker strategy?

Figure 3

Grid Slip: How a Fast Market Turns a Maker Order into a Taker Fill

Three scenarios — same grid, same limit order, different market speed

In volatile crypto markets, price can move through multiple grid levels in a single minute. When price falls faster than orders arrive at the exchange, a properly-configured limit buy lands "in the money" — and executes as a taker fill. The bot never flags it.
Scenario A — Normal Market
Price drifts slowly through grid level
L1L2L3OrderrestingFills asMAKERTime →
Maker Fill

Price drifts through L2 gradually. The bot's limit buy rests in the book briefly, then fills as a maker order. Lower fee rate charged.

Scenario B — Gap Down
Price skips through multiple grid levels in one candle
L1L2L3GAPDOWNOrderin themoneyTime →
Taker Fill

Price gaps through L1, L2, and L3 in a single candle. The bot's limit buy for L2 arrives after the gap — price is already below L2. Fills immediately as taker. Higher fee charged. Bot doesn't flag it.

Scenario C — GTX / Post-Only
Same gap — order rejected, level stays open
L1L2L3REJECTEDlevel stays openTime →
Order Rejected

GTX (Post-Only) tells the exchange: if this fills as a taker, cancel it. The order is rejected. No taker fee charged. L2 stays open — the bot waits for a clean maker opportunity.

What this means for your grid
Slow market
GTC or GTX
Orders rest, fill as maker. No difference between settings.
Fast market (GTC)
Silent taker fills
Order executes in-the-money. Higher fee charged. Bot continues building inventory into the move.
Fast market (GTX)
Order rejected
No taker fee. No inventory added into a gap-down move. Level stays open for next opportunity.

In fast-moving markets, grid orders can arrive "in the money" and execute as taker fills — even when the bot is configured as a limit strategy. GTX (Post-Only) mode prevents this by rejecting any order that would fill immediately, holding the grid level open instead. Historical backtesting referenced in the linked CoinRoc research article suggests GTX behavior significantly reduces inventory accumulation during sustained bear markets. Past simulated results do not predict future performance.


How to Check Whether Your Bot Is Placing Maker Orders

Every major exchange shows you, per trade, whether a fill executed as a maker or a taker. You do not need to trust your bot’s logs. You can verify it directly.

On Binance.US: Go to Trade History. Each row has a “Role” or “Fee Type” column. Look for “Maker” versus “Taker.” If you see a significant proportion of Taker fills on a grid that should be resting in the book, your bot is not using post-only mode.

On Coinbase Advanced: Go to your transaction history and filter to filled orders. Coinbase shows the fee tier applied to each fill. If your orders are routing as takers, you will see the taker rate applied.

On OKX US: Trade history is available under Assets → Trade History. Each fill shows the fee amount. Cross-reference the fee against the order size to see which rate was applied — 0.08% (maker) or 0.10% (taker).

What you are looking for: if your grid is running as intended, the overwhelming majority of your fills should show maker rates. Occasional taker fills in fast-moving markets are expected and acceptable. A consistent pattern of taker fills means your order settings are wrong.


Post-Only Orders: How to Turn the Behavior On

The mechanism that enforces maker-only behavior is called a post-only order flag. Every major US exchange supports it. The name varies by platform.

Binance.US: Time-in-force setting GTX. This is a specific order parameter distinct from GTC (Good Till Cancelled) and IOC (Immediate or Cancel). GTX tells the exchange: if this order would fill immediately, cancel it instead of executing it as a taker.

Coinbase Advanced: The post_only boolean flag on limit orders. Available via the API and, depending on your interface, through the advanced order form on the web platform.

Kraken: The oflags parameter with value post. Same behavior — reject the order if it would execute as a taker.

If you are using a third-party grid bot — one of the many retail grid trading tools available — check its documentation for a “maker only,” “post-only,” or “GTX” mode. This is not always enabled by default. In many cases it is not. Default behavior on most bots is GTC, because GTC maximizes fill rate. Post-only maximizes fee efficiency and — as the CoinRoc research suggests — appears to reduce inventory accumulation in sustained bear conditions, based on the backtest results in the linked piece.

If your bot does not support post-only orders, that is worth knowing. It means every fast-moving fill in your grid is likely executing as a taker, and you are paying the premium every time.


The Bottom Line

Grid trading has a fee structure advantage that is available to any user who uses it: maker fills are meaningfully cheaper than taker fills, based on publicly listed May 2026 rates, the gap ranges from 50% to 60% in additional cost depending on the exchange, and the mechanism for capturing that advantage is a single order flag.

Most retail grid traders never configure it. Most grid bots do not enable it by default. And because the cost difference is small per trade, the overcharge accumulates invisibly over hundreds of transactions without ever producing a moment of visible alarm.

Check your trade history this week. Pull the last 30 days of grid fills and look at the maker/taker column. If you see a consistent pattern of taker fills, the fix is a single parameter change in your bot’s settings — or, if your bot does not support post-only mode, an important data point about whether it is the right tool for a maker strategy.


Grid trading involves substantial risk, including the potential loss of principal. The dollar figures in this article are illustrative calculations using publicly listed exchange rates as of May 2026; they do not represent guaranteed costs or savings. Exchange fee schedules are subject to change. CoinRoc’s backtested results referenced in this article are historical simulations, not actual trading performance, and do not predict future results. This article is for educational purposes only and does not constitute financial advice. Please consult a qualified financial professional before making investment decisions. Digital assets are highly volatile, speculative, and subject to evolving regulatory treatment; their value may decline to zero. Exchange fee schedules cited in this article are sourced from publicly available information as of May 2026 and are subject to change without notice.