Private Execution

How Fill-or-Kill Orders Work on Quote.Trade

Every Quote.Trade order is fill-or-kill. The full quantity fills immediately, or nothing trades. An unfilled order does not rest on an exchange-side order book.

20 minutesIntermediateTraders, bots, and execution developers

What you will accomplish

  • Understand Quote.Trade’s built-in fill-or-kill behavior
  • Submit one exact quantity without creating a resting order
  • Know what happens when the full amount is unavailable
  • Handle timeouts without sending a duplicate order

Before you begin

  • An active Quote.Trade market
  • The exact side, quantity, and price you are willing to trade
  • Sufficient account margin or buying power
  • The current app, API, or MCP order fields
Fill-or-kill is automatic

You do not need to add a Binance timeInForce field. Quote.Trade applies fill-or-kill behavior to the order itself: the entire quantity fills immediately or nothing trades.

ExecutionFull quantity or no trade
Partial fillsPrevented by the platform
Resting ordersUnfilled orders do not remain open
API requestUse the documented order fields; no FOK flag is required
Step-by-step

Choose the exact quantity and price

Enter the full quantity you want to trade and the price you are willing to accept. Because the order is fill-or-kill, Quote.Trade must be able to execute that entire quantity immediately at the accepted terms.

Expected result

The order contains one exact side, quantity, and price.

Use the normal Quote.Trade order flow

Submit through the web app, POST /api/order, or the current MCP order tool. Use only the fields shown by the live interface or schema. Do not add timeInForce=FOK; fill-or-kill is already enforced by Quote.Trade.

Expected result

The order reaches Quote.Trade as one normal order for the complete quantity.

Let Quote.Trade enforce fill-or-kill

If the full quantity can be executed immediately, the entire order fills. If the full quantity is unavailable, the order expires or rejects with no partial fill. The unfilled order does not remain open or rest on an exchange-side order book.

Expected result

Either the complete quantity trades or the executed quantity is zero.

Do not split the order automatically

If a fill-or-kill order does not execute, do not silently break it into smaller child orders. A smaller quantity or different price is a new order decision and should be submitted only after the trader or strategy explicitly chooses the new terms.

Expected result

One fill-or-kill instruction cannot turn into several unintended trades.

Verify the result

Check the order response and current position. A filled order should show the full requested quantity as executed. An expired or rejected order should show zero executed quantity and no position change from that request. This verification confirms the result; it is not what prevents a partial fill.

Expected result

The final order and position state match either a full fill or no trade.

Resolve an unknown outcome before retrying

After a timeout or 5xx response, check the current order, position, account, and private events before sending another order. The original request may have filled even though the client did not receive the response.

Expected result

No duplicate order is sent while the first result is still unknown.

Troubleshooting

Common problems and fixes

Why did the order not fill?

The full quantity may not have been available at the accepted price, the quote may have changed, or the account may not have had enough margin. Submit a new order only after choosing new terms.

Can a Quote.Trade order partially fill?

No. Quote.Trade orders are fill-or-kill: the entire quantity fills immediately or nothing trades.

Should I send timeInForce=FOK?

No. Use the documented Quote.Trade order fields. Fill-or-kill behavior is applied by the platform and does not require a caller-supplied timeInForce field.

The response timed out

Check the current order and position before retrying. Do not assume the order failed merely because the response was lost.

Frequently asked questions

Answers before you continue

Can an unfilled order remain open?

No. An order that cannot fill completely does not remain as a resting exchange-side order.

What should I do if I still want to trade a smaller amount?

Choose the smaller quantity explicitly and submit it as a new fill-or-kill order.

Primary sources

Ready to test the workflow?

Open Quote.Trade

Open Quote.Trade