nautechsystems/nautilus_trader · error
Owned signer nonce overflow
Error message
Owned signer nonce overflow
What it means
The owned signer's next nonce computed during rebroadcast handling does not fit the nonce counter (adding to the tracked nonce would overflow); the wallet has consumed an implausible nonce sequence and the rebroadcast path refuses to continue.
Source
Thrown at crates/adapters/blockchain/src/execution/client.rs:2915
&self.wallet_address,
prepared.nonce,
)
.await,
"rebroadcast pending nonce",
)?;
decisions.push(verification_decision(&pending_nonce, None, None));
let receipt_absence = required_verification(
self.verification
.verify_receipt_absence(&prepared.tx_hash)
.await,
"rebroadcast receipt absence",
)?;
decisions.push(verification_decision(&receipt_absence, None, None));
let next_nonce = prepared
.nonce
.checked_add(1)
.ok_or_else(|| anyhow::anyhow!("Owned signer nonce overflow"))?;
anyhow::ensure!(
(prepared.nonce..=next_nonce).contains(&pending_nonce.value),
"Pending nonce {} is outside the owned reconciliation range {}..={next_nonce}",
pending_nonce.value,
prepared.nonce
);
anyhow::ensure!(
(prepared.nonce..=next_nonce).contains(&canonical_nonce.value),
"Canonical nonce {} is outside the owned reconciliation range {}..={next_nonce}",
canonical_nonce.value,
prepared.nonce
);
if !receipt_absence.value {
self.persist_rebroadcast_decisions(intent.id, prepared.nonce, &decisions)
.await?;
return Ok(ReconciliationAuthorization::Retain);
}View on GitHub (pinned to 18893faf8b)
Solutions
- Investigate the wallet's nonce state on-chain
- Re-sync owned nonce data before retrying rebroadcast
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/adapters/blockchain/src/execution/client.rs:2915 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/960c69d3674b2414.
Report an issue: GitHub.