An acknowledgement is not a completed fill.
An order request can receive an identifier before any quantity executes. Acceptance, open status, partial execution and completion describe different stages. The visible line on a chart is a representation of that state, not the exchange’s matching engine.
Bybit’s order API describes asynchronous processing, while its private order stream reports subsequent status changes. A public market feed can remain healthy while private order updates are unavailable. That is why a moving chart alone does not confirm the outcome of an account action.
Follow a fictional 0.020 BTC limit order.
This example assumes a valid quantity and an account allowed to trade. It illustrates state transitions; it is not a live order.
| Stage | Executed quantity | What remains known |
|---|---|---|
| Request receives an order ID | 0.000 BTC | An ID does not establish execution. |
| Order is reported open | 0.000 BTC | 0.020 BTC remains working. |
| A partial execution is confirmed | 0.005 BTC | 0.015 BTC remains unfilled. |
| Cancellation is requested | 0.005 BTC so far | The remaining outcome still needs confirmation. |
| Cancelled status confirms no further execution | 0.005 BTC total | The remaining 0.015 BTC is no longer working. |
The executed 0.005 BTC is not undone by cancelling the remainder. The final position or wallet balance must account for that fill and its fees.
An order can fill while cancellation is in flight.
Cancellation requests and incoming matches can overlap. An instruction may complete before the exchange processes its cancellation. Bybit documents a case where duplicate Filled messages reflect this race, so a client must not treat every repeated message as another independent execution.
Use stable order and execution identifiers, cumulative executed quantity and final venue state when reconciling. A successful request submission is insufficient evidence that a working order has disappeared. Inspect current orders and fills after reconnecting.
A timeout leaves an outcome to investigate.
If a connection ends before a response arrives, the exchange may have rejected, accepted or partly executed the request. A transport timeout alone cannot distinguish those outcomes. Automatically sending a replacement can create a duplicate if the original reached the venue.
Check the selected account’s open orders, recent executions and exchange interface using any available order identifier. Read the terminal’s message carefully and preserve the relevant timestamp when reporting a problem. Do not share API secrets or private wallet material in a support report.
Use the order history as the durable record.
In Schizo, inspect Open Orders, Fills and the relevant position or Spot wallet after an instruction. A briefly displayed error banner can disappear automatically; that UI timeout does not cancel a venue order or settle an unknown result.
For a partial fill, distinguish original amount, executed amount and remaining amount in the instrument’s actual units. A quote-notional display can change with price and should not be confused with base quantity already executed.
After a stream interruption, wait for current private account state before relying on cached rows. The troubleshooting guide covers account, permission and connection checks. A chart reconnect and an order reconciliation solve related but different problems.