op-node in a fleet has independently derived the safe chain from L1 while also consolidating unsafe blocks received over gossip. As fleets grow and upcoming features like interop raise the cost of derivation, we highly recommend migrating to a specialized topology in which a small number of op-node instances are dedicated to L1 derivation and the rest defer to those sources.
In the specialized topology, light nodes are started with --l2.follow.source pointing at a traditional op-node acting as the derivation source. Light nodes disable their own independent derivation and instead receive the safe chain from the source, while continuing to track the unsafe tip via gossip and the engine API.
What this means
- Source nodes are traditional
op-nodeinstances configured to derive the full chain from L1, exactly as today. - Light nodes are
op-nodeinstances started with--l2.follow.source=<source op-node RPC>. They stop deriving from L1 themselves and receive the safe chain from the designated source. op-nodeis not being deprecated, and the homogeneous topology is not being removed. This is a recommended operational upgrade, not a required migration.- Only the derivation role changes. Light nodes continue to serve RPC, participate in gossip, and drive their connected execution client as before.
Why this matters
L1 utilization reduction
Only the source nodes ingest L1 data for derivation. Light nodes no longer issue L1 RPC calls for the derivation pipeline, which meaningfully reduces L1 API load and provider costs for operators running many nodes.Performance specialization
Light nodes no longer juggle the dual role of deriving from L1 and consolidating gossip. They can focus on advancing the unsafe chain and serving RPC at high speed, while source nodes focus exclusively on derivation.Asymmetric scaling
RPC-serving capacity and derivation capacity can now be scaled independently. Operators can add or remove light nodes to match read traffic without changing L1 load, and can size the source tier separately based on derivation requirements and redundancy targets.Lower cost for future rollouts
Future upgrades — including interop — will require more sophisticated derivation logic. Centralizing derivation behind a small, well-defined source tier minimizes the operational surface area affected by those upgrades and reduces the per-node cost of adopting them.Action required
Node operators
Plan a migration from a homogeneous fleet of derivation-enabledop-node instances to a specialized topology:
- Designate one or more
op-nodeinstances as source nodes. These continue to run with full L1 derivation and should be sized and monitored accordingly, including redundancy for failover. - Provision the remaining
op-nodeinstances as light nodes by setting--l2.follow.source=<source op-node RPC endpoint>(env:OP_NODE_L2_FOLLOW_SOURCE). Ensure light nodes can reach the source endpoint over a reliable, low-latency network path. - Validate that light nodes track the safe chain correctly against the source before shifting production traffic.
- Update dashboards and alerting so the source tier’s health is treated as a dependency of the light-node tier.
Highly available topology with consensus-aware proxyd
For production deployments, we recommend placing the derivation tier behind a consensus-awareproxyd and exposing light nodes to users through a separate RPC-serving tier:
- Deriver tier — a small, redundant set of derivation-enabled
op-nodeinstances (the sources). These sit behind aproxydconfigured with routing strategy:consensus_aware_consensus_layer, which aggregates the mutiple op-node sources into a single highly available endpoint and hides individual failures or reorgs from downstream consumers. - Light-node tier — a horizontally scalable pool of light
op-nodeinstances started with--l2.follow.sourcepointed at the deriver-tierproxydendpoint. This tier can be scaled up and down independently based on read traffic. - Edge tier — an API gateway or user-facing
proxydthat fronts the light-node tier and handles external RPC traffic, rate limiting, and routing.
Chain operators
All guidance for Node Operators is applicable to Chain Operators. Forop-node instances serving as Sequencers, we suggest those nodes use --l2.follow.source to offload the work of derivation. Benchmarking indicates removing derivation eliminates some bottlenecks when producing blocks, and the role
of the Sequencer is to maintain and extend the Unsafe Chain.
The specialized topology is a recommendation, not a hard requirement. Existing homogeneous deployments continue to work. Migration can be done incrementally, one light node at a time.
Resources
--l2.follow.sourceflag (env:OP_NODE_L2_FOLLOW_SOURCE) — configures anop-nodeas a light node pointed at a sourceop-nodeRPC endpoint.--l2.follow.source.rpc-timeoutflag (env:OP_NODE_L2_FOLLOW_SOURCE_RPC_TIMEOUT) — tunes the RPC call timeout used when talking to the source (default10s).