{"record":{"id":"70d8c7a65f60799b","repo":"nautechsystems/nautilus_trader","slug":"binance-futures-open-order-has-unresolved-instrume","errorCode":null,"errorMessage":"Binance Futures open order has unresolved instrument {instrument_id}","messagePattern":"Binance Futures open order has unresolved instrument (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/adapters/binance/src/futures/execution.rs","lineNumber":1143,"sourceCode":"\n        let (orders, algo_orders) = tokio::try_join!(\n            self.http_client.query_open_orders(&params),\n            self.http_client.query_open_algo_orders(instrument_id),\n        )?;\n        let mut reports = Vec::with_capacity(orders.len() + algo_orders.len());\n\n        for order in orders {\n            let instrument_id = instrument_id\n                .unwrap_or_else(|| format_instrument_id(&order.symbol, self.product_type));\n            let Some(instrument) = self.http_client.instrument_reconciliation(&instrument_id)\n            else {\n                if self.is_instrument_out_of_scope(instrument_id) {\n                    log::debug!(\n                        \"Dropping out-of-scope Binance Futures open order for instrument {instrument_id}\"\n                    );\n                    continue;\n                }\n                anyhow::bail!(\n                    \"Binance Futures open order has unresolved instrument {instrument_id}\"\n                );\n            };\n\n            if let Ok(report) = order.to_order_status_report(\n                self.core.account_id,\n                instrument.id(),\n                instrument.price_precision(),\n                instrument.size_precision(),\n                self.config.treat_expired_as_canceled,\n                ts_init,\n            ) {\n                let venue_position_id = make_venue_position_id(\n                    self.config.use_position_ids,\n                    instrument.id(),\n                    order.position_side,\n                )?;\n                reports.push(OpenOrderStatusReport {","sourceCodeStart":1125,"sourceCodeEnd":1161,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/binance/src/futures/execution.rs#L1125-L1161","documentation":"Same resolution failure as [266] but for open (resting) orders themselves: the order's instrument_id is absent from the cache and not deemed out-of-scope, so to_order_status_report cannot be built and the adapter bails.","triggerScenarios":"generate_open_order_status_reports iterates exchange open orders; one references a symbol whose InstrumentId isn't in the cache and isn't filtered as out-of-scope.","commonSituations":"Orders placed via another client/UI for instruments outside this client's configured universe; cache not populated for all account symbols at startup.","solutions":["Ensure the instrument cache contains every symbol with open orders on the account.","Adjust scope filters (is_instrument_out_of_scope inputs) so untracked instruments are deliberately dropped instead of erroring.","Cancel/clean up foreign open orders on the account before connecting this client."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if cache.instrument(&instrument_id).is_none() {\n    log::warn!(\"skipping open order for untracked instrument {instrument_id}\");\n    continue;\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Load all account symbols' instruments before reconciliation.","Cancel foreign/stale open orders outside your tracked universe.","Align product-type scope with actual account holdings."],"tags":["binance","futures","instrument-cache","open-orders","reconciliation"],"backgroundTag":"entity-not-found","analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}