FuelLabs/fuel-core · error · anyhow::Error
Tendermint RPC error: {error}
Error message
Tendermint RPC error: {error} What it means
The Tendermint/CometBFT node returned a well-formed JSON-RPC response whose error field is populated — i.e. the server processed the request (latest_block_height or broadcast_tx_sync) and reported an application-level failure, such as a malformed parameter, unknown method, mempool-full, or consensus-state error. The raw server error string is forwarded verbatim in {error}; HTTP transport already succeeded (status was 200).
Source
Thrown at crates/services/shared-sequencer/src/http_api.rs:153
let response: api_types::RpcResponse<T> =
serde_json::from_str(&text).with_context(|| format!("response text {text}"))?;
if response.jsonrpc != request.jsonrpc {
anyhow::bail!(
"Tendermint RPC response uses unsupported JSON-RPC version {}",
response.jsonrpc
);
}
if response.id != request.id {
anyhow::bail!(
"Tendermint RPC response ID {} does not match request ID {}",
response.id,
request.id
);
}
if let Some(error) = response.error {
anyhow::bail!("Tendermint RPC error: {error}");
}
response
.result
.ok_or_else(|| anyhow::anyhow!("Tendermint RPC response has no result"))
}
#[derive(Copy, Clone, Debug, Default)]
pub struct AccountMetadata {
pub account_number: u64,
pub sequence: u64,
}
#[derive(Clone, Debug, serde::Serialize)]
pub struct SimulateRequest {
pub tx_bytes: String,
}
View on GitHub (pinned to add100d30d)
Solutions
- Read the forwarded error text: mempool-full and timing errors are transient and safe to retry; parameter/method errors are permanent and need a fix on the caller side
- For broadcast_tx_sync, check tx size/fee validity before retrying
- Inspect Tendermint node logs for the matching request to get the full error context
- If the error is transient, retry with backoff from latest_block_height/broadcast_tx_sync callers
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at crates/services/shared-sequencer/src/http_api.rs:153 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of FuelLabs/fuel-core@add100d30d (2026-09-05).
Data as JSON: /api/errors/97679e1f62e1320c.
Report an issue: GitHub.