nautechsystems/nautilus_trader · error · anyhow::Error
Profiler receipt transaction hash does not match its ingesti
Error message
Profiler receipt transaction hash does not match its ingestion watermark
What it means
Profiler verification guard: the verified receipt's transaction hash differs from the hash recorded in the ingestion watermark, so the receipt belongs to a different transaction and the profiler event cannot be attested.
Source
Thrown at crates/adapters/blockchain/src/execution/client.rs:4198
pool_address: Address,
pool: &Pool,
verification: &VerificationCoordinator,
) -> anyhow::Result<()> {
let transaction_hash = B256::from_str(&position.transaction_hash).with_context(|| {
format!(
"Invalid profiler transaction hash {}",
position.transaction_hash
)
})?;
let receipt = verified_value(
verification.verify_receipt(&transaction_hash).await,
"profiler watermark receipt",
)?;
anyhow::ensure!(
receipt.status,
"Profiler transaction did not execute successfully"
);
anyhow::ensure!(
receipt.transaction_hash == transaction_hash,
"Profiler receipt transaction hash does not match its ingestion watermark"
);
anyhow::ensure!(
receipt.block_number == position.number
&& receipt.block_hash == expected_block_hash
&& receipt.transaction_index == u64::from(position.transaction_index),
"Profiler receipt position does not match its ingestion watermark"
);
let matching_logs = receipt
.logs
.iter()
.filter(|log| rpc_log::extract_log_index(log).ok() == Some(position.log_index))
.collect::<Vec<_>>();
anyhow::ensure!(
matching_logs.len() == 1,
"Profiler receipt contains {} logs at global index {}; expected exactly one",
matching_logs.len(),View on GitHub (pinned to 18893faf8b)
Solutions
- Re-ingest the profiler watermark from the correct transaction
- Check for block reorgs that swapped the watermark transaction
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/adapters/blockchain/src/execution/client.rs:4198 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/3d56fc68c2254539.
Report an issue: GitHub.