nautechsystems/nautilus_trader · error

Retained signed intent {} has no nonce

Error message

Retained signed intent {} has no nonce

What it means

During verification migration, an intent retains a signed transaction but has no nonce recorded; without the nonce its transaction cannot be accounted for against the signer's nonce sequence, so migration refuses to process the inconsistent record.

Source

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

                );
                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;
            }

            let nonce = intent.nonce.ok_or_else(|| {
                anyhow::anyhow!("Retained signed intent {} has no nonce", intent.id)
            })?;
            let current = current.ok_or_else(|| {
                anyhow::anyhow!("Retained signed intent {} has no current hash", intent.id)
            })?;
            let raw_transaction = authenticated.get(&current.id).ok_or_else(|| {
                anyhow::anyhow!(
                    "Retained signed intent {} has no authenticated current payload",
                    intent.id
                )
            })?;

            if intent.active && nonce == next_canonical_nonce {
                anyhow::ensure!(
                    !matches!(intent.status.as_str(), "finalized" | "reverted"),
                    "Active terminal intent conflicts with the canonical nonce ledger"
                );
                records.push(ExecutionVerificationMigrationRecord {
                    intent_id: intent.id,

View on GitHub (pinned to 18893faf8b)

Solutions

  1. Recover the nonce from the signed transactions or the chain
  2. Purge the inconsistent intent history and re-sync
Defensive patterns

Strategy: validation

When it happens

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