nautechsystems/nautilus_trader · error · anyhow::Error
UNSUPPORTED_QUOTE_QUANTITY
UNSUPPORTED_QUOTE_QUANTITY
Error message
UNSUPPORTED_QUOTE_QUANTITY
What it means
handle_submit_order_async denies the order because quote_quantity=true was set on a non-inverse instrument; the Interactive Brokers adapter only sizes orders in base currency for non-inverse instruments, so a quote-denominated quantity cannot be submitted and an OrderDenied event with reason UNSUPPORTED_QUOTE_QUANTITY is emitted instead of an error return.
Source
Thrown at crates/adapters/interactive_brokers/src/execution/core_orders.rs:70
.map(|instrument| instrument.is_inverse())
.unwrap_or(false);
if cmd.order_init.quote_quantity && !is_inverse {
let ts_event = clock.get_time_ns();
let event = OrderDenied::new(
cmd.order_init.trader_id,
cmd.strategy_id,
cmd.instrument_id,
cmd.order_init.client_order_id,
Ustr::from("UNSUPPORTED_QUOTE_QUANTITY"),
UUID4::new(),
ts_event,
ts_event,
);
exec_sender
.send(ExecutionEvent::Order(OrderEventAny::Denied(event)))
.map_err(|e| anyhow::anyhow!("Failed to send order denied event: {e}"))?;
anyhow::bail!("UNSUPPORTED_QUOTE_QUANTITY");
}
if matches!(
cmd.order_init.order_type,
OrderType::TrailingStopMarket | OrderType::TrailingStopLimit
) && let Some(trailing_offset_type) = cmd.order_init.trailing_offset_type
&& trailing_offset_type != TrailingOffsetType::Price
{
let ts_event = clock.get_time_ns();
let reason = format!(
"`TrailingOffsetType` {:?} is not supported (only PRICE is supported)",
trailing_offset_type
);
let event = OrderDenied::new(
cmd.order_init.trader_id,
cmd.strategy_id,
cmd.instrument_id,
cmd.order_init.client_order_id,View on GitHub (pinned to 18893faf8b)
Solutions
- Set quote_quantity=false and specify the order size in base currency for non-inverse instruments.
- Convert the desired notional to a base quantity using the current price before submitting.
- Use an inverse instrument if quote-denominated sizing is genuinely required.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/adapters/interactive_brokers/src/execution/core_orders.rs:70 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of nautechsystems/nautilus_trader@18893faf8b (2026-09-08).
Data as JSON: /api/errors/2e71ffdd409311f1.
Report an issue: GitHub.