nautechsystems/nautilus_trader · error

Unassigned active intent {} is not an unsigned preparation

Error message

Unassigned active intent {} is not an unsigned preparation

What it means

During verification migration, an intent is still active and unassigned but carries signed or prepared transaction payload state; the invariant that unassigned active intents must be unsigned preparations is violated, indicating corrupted or partially migrated state, so migration fails.

Source

Thrown at crates/adapters/blockchain/src/execution/client.rs:5432

                    records.push(ExecutionVerificationMigrationRecord {
                        intent_id: intent.id,
                        nonce: intent.nonce,
                        transaction_hash: None,
                        terminal_status: None,
                        block_number: None,
                        block_hash: None,
                        receipt_success: None,
                        gas_used: None,
                        effective_gas_price: None,
                        recover_prepared: false,
                        decisions: vec![base_decision],
                    });
                    continue;
                }
            }

            if intent.active && intent.nonce.is_none() {
                anyhow::ensure!(
                    intent.status == "prepared" && hashes.is_empty(),
                    "Unassigned active intent {} is not an unsigned preparation",
                    intent.id
                );
                records.push(ExecutionVerificationMigrationRecord {
                    intent_id: intent.id,
                    nonce: None,
                    transaction_hash: None,
                    terminal_status: None,
                    block_number: None,
                    block_hash: None,
                    receipt_success: None,
                    gas_used: None,
                    effective_gas_price: None,
                    recover_prepared: true,
                    decisions: vec![base_decision],
                });
                continue;

View on GitHub (pinned to 18893faf8b)

Solutions

  1. Correct the intent status or attach its preparation record
  2. Rebuild the intent records from the database
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/adapters/blockchain/src/execution/client.rs:5432 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/2d5448649b0efed4. Report an issue: GitHub.