nautechsystems/nautilus_trader · error

Order overfill rejected: {} potential_overfill={}, current_f

Error message

Order overfill rejected: {} potential_overfill={}, current_filled={}, last_qty={}, quantity={}. Set `allow_overfills=true` in ExecutionEngineConfig to allow overfills.

What it means

Error "Order overfill rejected: {} potential_overfill={}, current_filled={}, last_qty={}, quantity={}. Set `allow_overfills=true` in ExecutionEngineConfig to allow overfills." thrown in nautechsystems/nautilus_trader.

Source

Thrown at crates/execution/src/engine/mod.rs:3746

                log::warn!(
                    "Order overfill detected: {} potential_overfill={}, current_filled={}, last_qty={}, quantity={}",
                    order.client_order_id(),
                    potential_overfill,
                    order.filled_qty(),
                    fill.last_qty,
                    order.quantity()
                );
            } else {
                let msg = format!(
                    "Order overfill rejected: {} potential_overfill={}, current_filled={}, last_qty={}, quantity={}. \
                Set `allow_overfills=true` in ExecutionEngineConfig to allow overfills.",
                    order.client_order_id(),
                    potential_overfill,
                    order.filled_qty(),
                    fill.last_qty,
                    order.quantity()
                );
                anyhow::bail!("{msg}");
            }
        }

        Ok(())
    }

    fn handle_order_fill(
        &mut self,
        order: &OrderAny,
        fill: OrderFilled,
        oms_type: OmsType,
    ) -> Vec<PositionEvent> {
        let instrument =
            if let Some(instrument) = self.cache.borrow().instrument(&fill.instrument_id) {
                instrument.clone()
            } else {
                log::error!(
                    "Cannot handle order fill: no instrument found for {}, {fill}",

View on GitHub (pinned to 18893faf8b)

Solutions

  1. Set allow_overfills=true in ExecutionEngineConfig if the venue legitimately overfills and that should be tolerated
  2. Investigate the fill stream for duplicated or oversized fills (reconciliation or latency issues) before allowing overfills
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/execution/src/engine/mod.rs:3746 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/369ab02148e9ab75. Report an issue: GitHub.