nautechsystems/nautilus_trader · error
Independent swap quote changed before signing
Error message
Independent swap quote changed before signing
What it means
Pre-sign quote re-verification: re-querying the independent swap quote (exact-input or exact-output) at signing time returned a different result than the anchored quote, so the market moved and signing would execute stale terms.
Source
Thrown at crates/adapters/blockchain/src/execution/client.rs:2743
)
.await,
"pre-sign exact-input quote reread",
)?,
SwapQuoteKind::ExactOutput(amount_out) => required_verification(
self.verification
.verify_quote_exact_output_single(
&anchors.quote_contract,
anchors.token_in,
anchors.token_out,
amount_out,
anchors.fee,
anchors.state.number,
)
.await,
"pre-sign exact-output quote reread",
)?,
};
anyhow::ensure!(
quote.value == anchors.quote,
"Independent swap quote changed before signing"
);
Ok(vec![
verification_decision(
&checkpoint,
Some(checkpoint.value.number),
Some(checkpoint.value.number),
),
verification_decision(
&watermark,
Some(anchors.watermark.number),
Some(anchors.watermark.number),
),
verification_decision(
&ancestry,
Some(anchors.watermark.number),
Some(anchors.state.number),View on GitHub (pinned to 18893faf8b)
Solutions
- Retry the swap from a fresh quote
- Tighten the interval between quoting and signing
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at crates/adapters/blockchain/src/execution/client.rs:2743 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/c566b644b9e2e031.
Report an issue: GitHub.