nautechsystems/nautilus_trader · error
RPC active liquidity mismatch: positions sum to {active_liqu
Error message
RPC active liquidity mismatch: positions sum to {active_liquidity}, global state reports {} What it means
Cross-check in validate_rpc_snapshot_topology: summing the liquidity of positions active at the current tick must equal the pool's global in-range liquidity; a mismatch means positions and global state were captured at different blocks or one source is incomplete.
Source
Thrown at crates/adapters/blockchain/src/data/core.rs:2220
.0
.checked_add(position.liquidity)
.context("upper tick liquidity gross overflow")?;
upper.1 = upper
.1
.checked_sub(liquidity_net)
.context("upper tick liquidity net underflow")?;
if position.tick_lower <= snapshot.state.current_tick
&& snapshot.state.current_tick < position.tick_upper
{
active_liquidity = active_liquidity
.checked_add(position.liquidity)
.context("active position liquidity overflow")?;
}
}
if active_liquidity != snapshot.state.liquidity {
anyhow::bail!(
"RPC active liquidity mismatch: positions sum to {active_liquidity}, global state reports {}",
snapshot.state.liquidity
);
}
if derived_ticks.len() != actual_ticks.len() {
anyhow::bail!(
"RPC tick topology does not match positions: derived {} ticks, received {}",
derived_ticks.len(),
actual_ticks.len()
);
}
for (tick_value, (liquidity_gross, liquidity_net)) in derived_ticks {
let actual_tick = actual_ticks
.get(&tick_value)
.with_context(|| format!("RPC snapshot omitted position boundary {tick_value}"))?;
View on GitHub (pinned to 18893faf8b)
Solutions
- Re-fetch the snapshot atomically (same block) for positions and global state
- Re-sync pool data so both sources agree
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/adapters/blockchain/src/data/core.rs:2220 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/2aa110307852de13.
Report an issue: GitHub.