Post-only orders (t=post), by exchange
A post-only order only rests on the book. If it would fill at once against a resting order, the exchange refuses or cancels it, so you never pay the taker fee on it. In an Autoview command you ask for one with t=post and a limit price:
b=buy t=post p=-0.1% q=0.01Not every connection has a post-only path. On some, t=post turns into a plain limit order that can fill as a taker, and nothing in the command tells you. This page lists what each one sends. It comes from the Autoview integrations code that runs on our servers today. We read the code; we did not run each exchange live for this guide.
Exchanges that send a real post-only flag
On a plain limit order, these send the exchange's own maker-only setting:
- Binance Futures (USD-M). A limit order with Binance's post-only time in force.
- Bitfinex. A limit order with the post-only flag.
- Bitget, spot and futures. A limit order marked post only.
- BitMEX. A limit order with BitMEX's do-not-initiate instruction, its post-only setting.
- Bybit. A limit order with a PostOnly time in force. A
tif=iocortif=fokon the same line replaces it. - Coinbase Advanced. A limit order with post only set, including the good-til-date version you get with
dt=. - Crypto.com. A limit order with the post-only instruction.
- Deribit. A limit order with post only set.
- Gate.io, spot and futures. A limit order with Gate's pending-or-cancel time in force.
- Gemini. A limit order with maker-or-cancel.
- Hyperliquid. A limit order with add-liquidity-only, Hyperliquid's post-only.
- Kraken spot. A limit order with Kraken's post flag.
- KuCoin, spot and futures. A good-till-cancelled limit order with post only set.
- OKX. A post-only order with your price. If your
t=list holds bothmarketandioc, that wins and the order is not post-only. - TradeStation. A limit order set to book only and add liquidity.
Exchanges where t=post is a plain limit order
These connections have no post-only path in Autoview. t=post is sent as an ordinary limit order, which fills as a taker if your price crosses the market:
- Alpaca.
- Binance spot (good-till-cancelled limit).
- Binance COIN-M futures (good-till-cancelled limit).
- Capital.com (a limit working order).
- Charles Schwab (good-till-cancel limit).
- OANDA.
- Tradovate (good-till-cancelled limit).
If you want maker-only behaviour on these, keep your limit price on the passive side of the market with p= or fp=, so a resting order is the likely result. It is not a guarantee, because nothing stops the order from crossing if the market moves first.
Two exchanges where t=post goes out without a price
On these two, the code builds the post-only order but does not attach your limit price:
- Binance US.
t=postis sent as Binance's maker-only limit type with no price field. - Kraken Futures.
t=postis sent as Kraken's post order type with no limit price.
We read this in the code and did not send it live, so we cannot tell you what the exchange answers. A post-only order needs a price, so expect a rejection, and use a plain limit with a passive price there until this changes. Run your line with d=1 first and check what Autoview would send.
Where the flag drops off
- Trigger orders. On Coinbase Advanced, Hyperliquid and Bitget futures, adding
px=makes a trigger order, and that order goes out without the post-only flag. On Gemini, Autoview still attaches maker-or-cancel to the stop limit, but Gemini's API says no options can be applied to stop-limit orders, so don't count on a post-only stop there. Leavet=postoff apx=line on Gemini. - Trailing stops. On Deribit a
ts=trailing stop removes post only, and on Bitget futures a trailing plan order has no post-only field. - A time-in-force override. On Bybit,
tif=iocortif=fokreplaces post only on the same line.
A refused post-only order is the flag working
When a post-only order would fill at once, the exchange rejects it or cancels it straight away. Autoview sent it correctly; the price was on the wrong side of the book. Move the price further from the market, for example p=-0.2% on a buy instead of p=0. Your log shows the exchange's answer.
Test it once before you rely on it
Add d=1 to see how Autoview reads your line without sending it, then place one small post-only order on a test account and check on the exchange that it rested as a maker order. The Bybit and Binance command references show the order types for those two in more detail. For orders that rest too long, see order expiry with dt=, and to clear them, cancel the oldest or newest.