Binance futures error -4164: order's notional must be no smaller
Figures on this page are as of 2026-09. Fees, limits and margin tiers change — check the venue's own docs.
Binance USDⓈ-M futures error -4164 is MIN_NOTIONAL, with the message
“Order’s notional must be no smaller than %s (unless you choose reduce only)”.
The %s is the symbol’s minimum notional. The parenthesis is the part people
skip — and for exits, it is usually the fix.
{ "code": -4164, "msg": "Order's notional must be no smaller than %s (unless you choose reduce only)" }
In a live response the %s is replaced by the threshold for the symbol you
traded. That value is per-symbol and changes, so this page does not quote one —
including the literal figure that appears in a variant of the message on
Binance’s own error page. Read the current value from the symbol’s filters in
GET /fapi/v1/exchangeInfo, on the environment you are trading against.
What this error actually means
An order’s notional is its quantity times its price — see what is notional value. Binance refuses a futures order whose notional is below the symbol’s minimum. Nothing was placed.
Two details follow from the message itself:
- Reduce-only orders are exempt. Binance’s own wording carves them out.
- This is the futures form of a check Spot does differently. On Spot, the
equivalent refusal is
-1013with “Filter failure: MIN_NOTIONAL” or “Filter failure: NOTIONAL”. USDⓈ-M futures does not use that text; it has dedicated codes instead.
The related futures codes, all refusals of the order’s shape:
| Code | Name | Official message |
|---|---|---|
-4164 | MIN_NOTIONAL | “Order’s notional must be no smaller than %s (unless you choose reduce only)” |
-4014 | PRICE_NOT_INCREASED_BY_TICK_SIZE | “Price not increased by tick size.” |
-4023 | QTY_NOT_INCREASED_BY_STEP_SIZE | “Qty not increased by step size.” |
-4131 | MARKET_ORDER_REJECT | “The counterparty’s best price does not meet the PERCENT_PRICE filter limit” |
A handler that looks for Spot’s “Filter failure” text will never see any of these.
The exit case, and the reduce-only fix
This is where -4164 does real damage. Entering too small is an inconvenience;
being unable to close is a problem.
Small remainders appear naturally: a partial fill on entry, a partial take
profit, scaling out in steps, or an exit that itself partially filled. When the
remainder’s notional is below the minimum, a plain closing order for it is
refused with -4164. The position stays open, and code that expected it closed
now holds exposure it does not track. The mechanics are in
order lifecycle and partial fills.
The message tells you the way out: send the close as reduce-only. In
One-way Mode that means setting reduceOnly on the order:
POST /fapi/v1/order
symbol=<symbol>&<side, type, quantity as usual>&reduceOnly=true×tamp=<ms>&signature=<sig>
Reduce-only is the right default for every exit anyway, because it cannot open or flip a position — see what is a reduce-only order. The minimum-notional exemption is one more reason.
Hedge Mode is different. Binance documents that reduceOnly “cannot be sent
in Hedge Mode”; there, you close by trading against the position with the
matching positionSide. We did not find whether the -4164 exemption extends to
closing orders in Hedge Mode. If you run Hedge Mode and depend on closing small
remainders, test it on the futures testnet (https://demo-fapi.binance.com)
before relying on it.
The usual cause on entries: the order is simply small
On an opening order there is no exemption. The order is below the minimum because the size is small relative to the price — typically a small account, a small risk budget, a wide stop, or a combination.
Rounding makes it worse. Quantity must also be a multiple of the step size
(-4023), and rounding down to the step, which is the safe direction, can push
an order that was just above the minimum to just below it.
The tempting fix is to round up to the minimum. That changes the size you computed from your risk budget, which means taking more risk than you decided to. The reasoning for skipping the trade instead is set out in symbol filters and minimum order sizes, and the position size calculator shows what the risk-derived size is before any rounding.
Other causes, in order of likelihood
A market order at the edge. A market order has no limit price, so its notional has to be measured against some reference price. The error page does not say which, and we did not find it stated. An order sized right at the minimum can pass or fail depending on where price is when it arrives — leave headroom rather than sizing to the threshold.
A stale threshold. Minimums change. A value cached from exchangeInfo some
time ago may no longer be the one in force. The %s in the live message is the
quickest way to see the current figure; refresh your cache when it differs.
Testnet values used in production, or the reverse. Read the threshold from the environment you are trading on, not the one you tested on.
How to confirm which one you have
- Read the threshold from the message and compare it with your cached value for the symbol.
- Compute quantity × price from the exact strings you sent — not the values before rounding.
- Ask whether the order is an exit. If it reduces a position, send it reduce-only (One-way Mode) and the check no longer applies.
- If it is an entry, treat the error as a sizing decision: the trade is smaller than the venue will accept at this size and price.
-4164 is a clean refusal, so it does not need reconciling — but an exit that
failed with it leaves a position open, and that does. In the classification from
error handling patterns for trading APIs,
treat a failed exit as an alert, not a log line.
FAQ
What does Binance futures error -4164 mean?
MIN_NOTIONAL — the order’s notional value, quantity times price, is below the
symbol’s minimum. The message reads “Order’s notional must be no smaller than %s
(unless you choose reduce only)”, with the threshold filled in. The current
minimum for each symbol is in the filters returned by GET /fapi/v1/exchangeInfo.
Why can’t I close my Binance futures position because of minimum notional?
Because the remaining position is below the symbol’s minimum notional, so a
plain closing order for it is refused. Binance’s message exempts reduce-only
orders, so in One-way Mode sending the close with reduceOnly set is the fix.
Reduce-only is also the safer default for every exit.
Does reduce-only bypass the minimum notional on Binance futures?
The -4164 message itself says the minimum applies “unless you choose reduce
only”. Note that reduceOnly cannot be sent in Hedge Mode, and we did not find
whether the exemption extends to Hedge Mode closing orders — test that case on
the futures testnet before depending on it.
What is the minimum order notional on Binance futures?
It is set per symbol and changes, so no single figure is reliable. Read the
current value from the symbol’s filters in GET /fapi/v1/exchangeInfo, or from
the %s in a live -4164 message, rather than hard-coding a number.