Skip to main content
Trading Mechanics
Beginner·Trading Mechanics

Post-Only and Reduce-Only: Two Order Flags That Quietly Save You Money

Post-only ensures maker fees; reduce-only prevents accidental position flips. The two flags together represent free execution insurance for serious traders.

5 min readUpdated 2025-07-15

Two specific order flags get little attention from casual traders but represent meaningful execution insurance for serious ones. Post-only ensures you get the maker fee tier. Reduce-only ensures you only close positions, never open new ones. Both are free; both prevent specific failure modes; both are worth using by default in the right contexts.

Post-only, guaranteed maker pricing

The mechanic: a post-only order is a limit order that will be rejected (rather than filled as a taker) if it would immediately match against an existing book entry.

Use case: you're placing a limit buy at $66,000. Best ask is $66,001. Your limit is below the ask; it should rest on the book as a maker order. But in the milliseconds between your click and the exchange receiving your order, prices might move. If the best ask drops to $66,000 by the time your order arrives, your "limit" would actually fill as a taker.

With post-only flag: the exchange rejects the order in this case. You either get to be a maker or nothing happens. No accidental taker fees.

Without post-only: you might pay taker fees on what you intended to be a maker order.

Why this matters

The fee delta between maker and taker is typically 3-5 basis points. On large orders, this is material. On many orders over time, this compounds to substantial money.

A trader doing 200 round trips per year on $50,000 average position size, paying taker fees when they intended to pay maker fees on 20% of trades: loss = 200 × 20% × $50,000 × 0.0004 (4 bp delta) = $800/year of unintended taker fees.

Post-only eliminates this leak. Cost: the occasional rejected order (you can resubmit). Net: free improvement.

When to use post-only

Use post-only when:

  • You're placing a limit order intending to be a maker
  • You're not in a hurry to fill (a rejected order is acceptable)
  • You're executing a strategy where fee tier matters (high frequency, basis trades, etc.)

Don't use post-only when:

  • You need execution certainty (use a regular limit or market order)
  • You're closing a position urgently (you don't want to risk rejection)
  • Time-sensitive entries where missing the trade is worse than paying the taker fee

The rule of thumb: post-only on patient entries; regular limit (or market) on urgent ones.

Reduce-only, preventing accidental position flips

The mechanic: a reduce-only order can only decrease an existing position, never increase or flip it.

Use case: you're long 1 BTC. You set a stop at $65,000 to protect the position. The price wicks to $65,000 briefly. Your stop fires.

Without reduce-only: under specific edge cases (API timing issues, partial fills, order quirks), your stop could potentially execute as a sell that doesn't just close your long but actually opens a new short. You wake up wondering "how did I end up short?"

With reduce-only: the exchange rejects any portion of the order that would flip the position. The stop closes the long; if there's "extra," it gets ignored.

This sounds rare. It is rare. But it's a class of disaster that's both possible and entirely preventable with one click.

Why this matters

Reduce-only protects against an entire category of "how did I end up in a different position?" outcomes. The cost is essentially zero (the flag doesn't affect normal operations). The benefit is elimination of a specific catastrophic edge case.

It's the kind of free insurance that disciplined traders take by default and casual traders ignore until they need it.

When to use reduce-only

Use reduce-only by default on:

  • Stop-loss orders
  • Take-profit orders
  • Any order intended to close a position
  • Trailing stops
  • Bracket child orders (the stop and target legs)

Don't use reduce-only on:

  • New entry orders (these need to open positions, which reduce-only would prevent)
  • Adds to existing positions (similar logic)

The discipline: every exit order gets reduce-only. No exceptions.

A common mistake: forgetting post-only on basis trades

A basis trader sets up long spot + short perp. Without post-only on the perp short, occasional fills come in as takers, eating into the funding- rate yield. Over many setups, the cumulative cost is meaningful.

The fix: post-only on entries for fee-sensitive strategies. Basis trading specifically benefits from this because the yield is small and fees matter materially.

A common mistake: forgetting reduce-only on stops

A trader's stop fires under unusual conditions. The order behaves unexpectedly. They end up in a position they didn't intend.

The fix: reduce-only on every stop. The check is one click in most exchange interfaces. The protection is permanent against this class of issue.

A common mistake: using post-only when you actually need the trade

A trader uses post-only on an urgent entry. The market moves against their limit. The order doesn't fill. They miss the trade. The "missed trade" cost exceeds what the post-only saved.

The fix: post-only is for patience. If you need to be in this trade right now, regular limit or market. Match the flag to the priority of filling.

A common mistake: assuming all exchanges support these flags

Most major exchanges support post-only and reduce-only. Some support different implementations or names ("ALO", add liquidity only, for post-only on some venues). Some smaller exchanges may not support reduce-only.

The fix: check your exchange's order options. If they don't support reduce-only, manually verify your stops are sized correctly for your position and use one-cancels-other (OCO) logic where possible.

A common mistake: not testing the flags

A trader believes they have post-only and reduce-only set on all relevant orders. They've never verified. Some orders silently don't have the flags due to UI defaults or missed checkboxes.

The fix: periodically verify. Check active orders in the order book; the order should display whether it has post-only / reduce-only set. Templated order entries (where defaults are correctly set) reduce the chance of forgetting.

A common mistake: treating advanced flags as exotic

Some traders see post-only and reduce-only as "professional features" they don't need. They're not exotic, they're free protections that any serious trader uses by default.

The fix: enable these flags by default in your trade routine. They're free; they prevent real issues; they should be habits, not occasional choices.

Mental model, order flags as the small print that protects you

Contracts have small print clauses that protect you under specific edge conditions. Most of the time the small print doesn't matter. When it does matter, the protection is what saves you from disaster.

Post-only and reduce-only are the small print of your trading. Most orders execute fine without them. The orders where they matter, the maker-fee-rejected limit, the stop-flipping- position edge case, they're what saves you from the specific disaster.

The protection is free. Take it.

Why this matters for trading

Post-only and reduce-only are unsexy but high-leverage execution flags. Hex37 supports both, post-only on entries, reduce-only on stops and take-profits via the bracket order infrastructure. The discipline of using them by default is what differentiates clean execution from execution that occasionally produces expensive surprises.

Takeaway

Post-only ensures your limit orders fill as makers (not as takers if prices shift between your click and order arrival). Reduce-only ensures your exit orders only decrease positions (never flip them). Both are free; both prevent specific failure modes. Use post-only on patient entries where fee tier matters; use reduce-only on every exit order without exception. They're not exotic features; they're free execution insurance that serious traders use by default.

Related chapters

All chapters