nautechsystems/nautilus_trader · error
{VENUE_EXECUTION_REPORTS_UNSUPPORTED}
Error message
{VENUE_EXECUTION_REPORTS_UNSUPPORTED} What it means
The blockchain execution client does not support on-demand order status report generation; generate_order_status_report is an unsupported trait method that always fails with the venue-unsupported constant. Execution reports are not available for this venue.
Source
Thrown at crates/adapters/blockchain/src/execution/client.rs:6240
async fn disconnect(&mut self) -> anyhow::Result<()> {
self.pending_tasks.begin_shutdown();
let tasks_result = self
.pending_tasks
.finish_shutdown(Duration::from_secs(5), Duration::from_secs(2))
.await;
self.signer = None;
self.core.set_disconnected();
tasks_result
.map(|_| ())
.map_err(|e| anyhow::anyhow!("Failed to terminate blockchain submissions: {e}"))?;
Ok(())
}
async fn generate_order_status_report(
&self,
_cmd: &GenerateOrderStatusReport,
) -> anyhow::Result<Option<OrderStatusReport>> {
anyhow::bail!("{VENUE_EXECUTION_REPORTS_UNSUPPORTED}");
}
async fn generate_order_status_reports(
&self,
_cmd: &GenerateOrderStatusReports,
) -> anyhow::Result<Vec<OrderStatusReport>> {
anyhow::bail!("{VENUE_EXECUTION_REPORTS_UNSUPPORTED}");
}
async fn generate_fill_reports(
&self,
_cmd: GenerateFillReports,
) -> anyhow::Result<Vec<FillReport>> {
anyhow::bail!("{VENUE_EXECUTION_REPORTS_UNSUPPORTED}");
}
async fn generate_position_status_reports(
&self,View on GitHub (pinned to 18893faf8b)
Solutions
- Avoid workflows that query individual order status reports for this venue; rely on local order state and on-chain events
- Use generate_mass_status/reconciliation paths that are supported, or disable execution report reconciliation
- Use a different adapter/venue if per-order status reports are required
Example fix
null
Defensive patterns
Strategy: fallback
Validate before calling
if adapter_is_blockchain_venue {
skip_order_status_report_query(order_id);
return;
} Try / catch
match client.generate_order_status_report(&cmd).await {
Ok(r) => use(r),
Err(e) if e.to_string().contains("UNSUPPORTED") => fall_back_to_local_order_state(),
Err(e) => return Err(e),
} Prevention
- Do not enable reconciliation modes requiring per-order status reports for DEX venues
- Build order status from locally tracked orders plus on-chain event logs
When it happens
Trigger: The execution engine or reconciliation flow issues a GenerateOrderStatusReport command against this adapter (e.g. querying a specific open order's status).
Common situations: Running reconciliation or order management features that assume HTTP-style venue report support; misconfiguring the adapter in a setup expecting execution reports.
Understand the failure class
Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.
Related errors
- Dex {dex_id} doesn't exist for chain {}
- Unsupported DEX type {dex_type}; only UniswapV3 is supported
- Profiler watermark log has an unsupported event signature
- Failed to load active execution intent: {e}
- Failed to start replacement transaction persistence: {e}
AI-assisted analysis of nautechsystems/nautilus_trader@18893faf8b (2026-09-08).
Data as JSON: /api/errors/14edb2a3343c2816.
Report an issue: GitHub.