Reviewed guide | 2026-09-30
How to Log Maker and Taker Fills from Your Spot Trade History
Learn a repeatable routine to tag every spot fill as maker or taker using the order details on Binance, OKX, Bybit or Bitget, so you can compare your real execution cost against the published fee schedule and adjust your order types deliberately.
Multiple exchanges | the reader's region | the reader's funding currency | fees, access and account safety
If you trade spot on Binance, OKX, Bybit or Bitget, your trade history shows the price, the amount and the fee you paid, but it rarely tells you which of those fills were maker fills and which were taker fills. That single missing label is what stops most people from seeing how their order type choices affect the fee they actually pay. A limit order that rests in the book and gets filled later is normally treated as a maker fill, while an order that crosses the spread and executes immediately is normally treated as a taker fill, but the only reliable way to know how your own account was treated is to read the order detail for each fill and record what it says. This guide sets out a practical logging routine: where to find the per-order detail, what fields to copy, how to tag each fill, how to reconcile your log against the fee page, and when to stop and check with support instead of guessing. The aim is not to predict fees or to promise any saving. It is to give you a clean, self-made record that shows what you actually paid, so that later you can decide whether a different order type is worth using for a given trade. Do this for a few weeks and you will have enough of your own data to see patterns that no general article can give you.
Where the maker or taker label lives in your order history
Start in the spot order history of the exchange you use, not in a general account statement. On Binance, OKX, Bybit and Bitget the order history usually lists each order with a status, and opening a single order shows its fills one by one. That per-fill view is where you look for the field that describes the role of your order in that match. Depending on the exchange and the interface version, this may appear as a liquidity indicator, a role column, a maker or taker tag, or wording inside the fill detail. If you only see an aggregate fee for the whole order, expand the order rather than reading the summary row. The exact labels and menu names change over time and differ between the web interface and the app, so treat any description you read here as a starting point and confirm the current layout in the official help centre for your exchange before you build a routine around it.
If a fill genuinely shows no maker or taker marker, do not invent one. Instead, note the order type and the timing. A limit order that sat open before it executed is usually a maker fill; an order that filled the moment it was placed, or a market order, is usually a taker fill. Record that reasoning in a separate column so you can tell later which rows are confirmed by the interface and which are inferred. When the interface does show the label, always prefer it over your own inference. The point of the log is to capture what the exchange itself reports, not what you assume.
Before you log anything, open the official fee page for your exchange and read how it describes maker and taker roles for spot trading. You are not trying to memorise numbers. You are checking the definitions the exchange uses, because a definition mismatch is the most common reason a self-made log stops matching the fee page. Write the definition you find in your own words at the top of your log, together with the date you checked it, so that a future version of the page can be compared against it.
Building a fill-level log that survives interface changes
Use a simple table with one row per fill, not one row per order. Columns that work well are: date and time, trading pair, order type, side, fill price, filled quantity, fee amount, fee currency, the maker or taker label as shown, and a short note. Add two more columns that most people forget: the source of the label, meaning whether it came from the interface or from your own inference, and the date you exported or copied the row. That last column matters because exchanges revise their interfaces, and a row you cannot date is a row you cannot trust later.
Copy values rather than retyping them where the interface allows an export or a copy action, and keep the original downloaded file untouched as a backup. If you retype, check the fee currency carefully: a fee charged in the quote asset, in the base asset, or in a platform token behaves differently in your totals, and mixing them silently is one of the most common logging mistakes. If a fee was paid in a token that is not the pair you traded, note that explicitly so you do not later compare it as if it were the same unit.
Decide in advance how you will handle partial fills. One order can produce several fills, some of which may be maker and some taker. Log each one separately, and give them a shared order reference so you can regroup them when you want an order-level view. This is the step that turns a pile of rows into something you can actually analyse, and it is also the step where a quick spreadsheet formula will save you the most time.
Checking your log against the official fee schedule
Once a week, open the fee page for your exchange and compare it with the rows you logged. Read the page for structure rather than for a single number: it will tell you which fee tier or level applies to spot trading, how maker and taker are distinguished, and what conditions the exchange says affect the rate. Record the date you checked and any wording that changed since your last visit. If the page describes a tier system, note which tier your account appears to be in according to your account settings, and treat that as something to verify rather than something you assume.
Then compare your own rows. For each fill, ask three questions: does the label in my log match the role the fee page describes, does the fee amount look consistent with the role I recorded, and if it does not, is there an obvious explanation such as a fee paid in another asset or a partial fill I logged separately. Do not adjust your log to make it match. Instead, write a short note explaining the discrepancy and keep both values. A log that hides its own inconsistencies is worse than no log, because it will mislead you later.
If a discrepancy keeps appearing across many rows, stop and check the account settings and the order detail again before drawing any conclusion. There are ordinary explanations, such as a different fee currency, a promotion that applied at the time, or a role label you misread. Only after you have ruled those out is it worth asking support, and when you do, bring specific order references and dates rather than a general complaint.
Turning the log into a decision about order types
After a few weeks you will have enough rows to see your own pattern. Group your fills by order type and by the maker or taker label, then look at the fee column within each group. You are not looking for a guaranteed saving, because whether a resting limit order actually gets filled depends on the market, and a limit order that never fills has its own cost in missed opportunity. You are looking for evidence about your own behaviour: how often your limit orders rest and fill as maker, how often they execute immediately as taker, and what that has meant for the fees you recorded.
Set yourself a small, written rule before you change anything. For example, decide that for the next two weeks you will log every fill, tag it, and only then review whether to shift more of your activity toward resting limit orders for pairs where your log shows consistent maker fills. Write the rule down with a start date and an end date so that you can compare the two periods honestly. Avoid changing several things at once, because then the log cannot tell you which change mattered.
Keep the log going even when nothing changes. Its value comes from continuity: interface updates, tier changes and new order types will all show up as changes in the data, and a log with gaps cannot distinguish a real shift from a missing week. If you ever stop for a while, note the gap explicitly rather than pretending the record is complete.
Risk boundary: Crypto Fees Hub
Digital assets are volatile and derivatives can amplify losses. This website has no login, wallet connection, deposit form or customer-support chat. A referral link only records attribution; it does not guarantee access, pricing, rewards, approval or investment results. Availability can differ by residence, legal entity and product, so no regional access is assumed from language or branding alone.
Scenario checkpoint
- Open the spot order history on your exchange and confirm where the per-fill detail is shown, including any maker or taker label.
- Write down the maker and taker definitions from the official fee page, with the date you checked them.
- Create one row per fill with date, pair, order type, side, price, quantity, fee amount, fee currency and the role label.
- Mark each row as confirmed by the interface or inferred from order type and timing.
- Export or copy values instead of retyping, and keep the untouched original file as a backup.
- Record the date of each weekly comparison against the fee page, and note any discrepancy instead of editing it away.
Digital assets are volatile and derivatives can amplify losses. This website has no login, wallet connection, deposit form or customer-support chat.