Skip to main content
This page lists common troubleshooting scenarios and solutions for node operators.

401 Unauthorized: Signature Invalid

If you see a log that looks like this in op-node:
It means that the op-node is unable to authenticate with execution client’s authenticated RPC using the JWT secret.

Solution

  1. Check that the JWT secret is correct in both services.
  2. Check that execution client’s authenticated RPC is enabled, and that the URL is correct.

Failed to Load P2P Config

If you see a log that looks like this in op-node:
It means that the op-node lacks write access to the P2P discovery or peerstore directories.

Solution

  1. Make sure that the op-node has write access to the P2P directory. By default, this is /p2p.
  2. Set the P2P directory to somewhere the op-node can access via the --p2p.discovery.path and --p2p.peerstore.path parameters.
  3. Set the discovery path to memory to disable persistence via the --p2p.discovery.path and --p2p.peerstore.path parameters.

Wrong Chain

If you see a log that looks like this in op-node:
It means that the op-node is pointing to the wrong chain.

Solution

  1. Verify that the op-node’s L1 URL is pointing to the correct L1 for the given network.
  2. Verify that the op-node’s rollup config/--network parameter is set to the correct network.
  3. Verify that the op-node’s L2 URL is pointing to the correct instance of execution client, and that execution client is properly initialized for the given network.

Error: eth_sendRawTransaction Does Not Exist

If an RPC call to your execution client (op-reth, Nethermind, etc.) returns a response like:
This -32601 JSON-RPC error means the sequencer endpoint you configured does not expose eth_sendRawTransaction. The request path looks like:
Because op-node only exposes rollup-specific RPC methods—there is no eth_* namespace—it cannot accept raw transaction submissions. When your execution client forwards the transaction to an op-node URL it immediately fails with -32601. This situation almost always happens when op-reth’s --rollup.sequencer (aliases --rollup.sequencer-http, --rollup.sequencer-ws) is misconfigured to point at your own op-node rather than the chain’s actual sequencer.

Solution

  1. Confirm op-reth exposes the eth namespace on its HTTP API (the standard set is --http.api=eth,net,web3,debug). If eth is disabled, raw transactions will be rejected before they reach the sequencer.
  2. Inspect the CLI flags and environment variables of every component that talks to the sequencer (op-node, op-reth, op-batcher, op-proposer, scripts). The --rollup.sequencer flag must point to the chain’s public sequencer endpoint (for example, https://mainnet-sequencer.optimism.io), not to your own op-node.
  3. For user-deployed L2s where you run the sequencer yourself, leave --rollup.sequencer unset so op-reth forwards locally and never falls back to an op-node endpoint.
  4. Restart the affected services after correcting the flag so they pick up the new endpoint. The error should disappear as soon as they can reach the proper sequencer RPC.

Unclean Shutdowns

An unclean shutdown occurs when the execution client stops without completing its normal shutdown procedure — for example, a SIGKILL, a power loss, or a container killed past its grace period. The impact depends on which database backend your EL uses. To minimize risk, always shut down gracefully: Ctrl-C for foreground processes, docker stop -t 300 <container> for Docker, or systemctl stop for systemd (override the default 90s timeout if your EL has a large in-memory write to flush).

For op-reth

op-reth uses MDBX, which is crash-safe by design. After an unclean shutdown the node typically restarts cleanly with no operator intervention required. If startup fails after an unclean shutdown, options include:
  • Stage unwind — roll back to the last consistent stage checkpoint:
  • Full resync — as a last resort, delete the datadir and resync from genesis or a snapshot.

For Nethermind

Unclean shutdowns in Nethermind can lead to database corruption. This typically happens when:
  • The node experiences hardware failures (disk failures, memory errors, overheating)
  • Power cuts cause abrupt shutdowns
  • The process is terminated without proper cleanup
Solutions
  1. Lock File Issues If Nethermind complains about lock files after an unclean shutdown, run:
  2. Block Checksum Mismatch If you encounter block checksum mismatch errors, you can enable direct I/O:
    Note: This may impact performance.
  3. Complete Resync In cases of severe corruption, a full resync is recommended: