Before you start
Run versions ofop-reth, and of op-node or kona-node, that implement the
Lagoon hardfork.
Verifier operators do not opt in to anything and have no SDM configuration. If you run verifier
nodes only, running up-to-date software is all you need to do, and the rest of this page does not
apply to you.
Chain operator opt-in
A sequencer appends a post-exec transaction only if Lagoon is active at the block’s timestamp and the operator has opted in on that node. If either is false, the node builds blocks under legacy gas accounting and appends nothing. The opt-in can be set before or after Lagoon, and does nothing until Lagoon activates. You do not have to time it, and nothing needs changing at the activation itself. It can be set three ways:
The RPC only changes the value in memory. A restart loses it, and a standby sequencer that takes
over starts from its own configuration. Set the CLI flag or environment variable for the value you
want to stick, and use the RPC when you need to change it without restarting.
Confirming which gate is holding
admin_sdmStatus reports both gates. It takes an optional query timestamp and defaults to the
current time. On a sequencer that has opted in while Lagoon is still unscheduled:
admin_sdmStatus
effective is the AND of the two gates, and is the field that tells you whether the node is
producing rebates. activationTime is the Lagoon activation timestamp once one is scheduled, and null
before that.
To inspect a receipt produced by an SDM-enabled sequencer:
Inspect a receipt
0x7D.
A block without rebates has no post-exec transaction, so absence alone does not tell you whether
the protocol is active. Check admin_sdmStatus instead.
Disabling SDM
To stop a sequencer issuing rebates:- Call
admin_setOperatorSdmOptIn(false)on it. This applies from the next payload and needs no restart. - Check
admin_sdmStatusto confirmeffectiveis nowfalse. - Set
OP_RETH_OPERATOR_SDM_OPT_IN=false(or the CLI flag) in the deployment, or a restart will turn it back on.
Stock op-reth production behavior
Released public op-reth uses a null refund policy. It never creates a non-empty refund payload and
never appends a post-exec transaction, even when Lagoon is active and
admin_setOperatorSdmOptIn(true) has been called. The admin surface remains available for protocol
compatibility and downstream sequencer integrations; it is not a policy-selection interface in
stock op-reth.
Refund policies and OP Enterprise
Refund policies are tuned to a chain’s needs, and are a premium feature for OP Enterprise customers. The policy is what decides which transactions get rebated and by how much, so it varies from sequencer to sequencer. If you are interested in becoming an OP Enterprise customer, contact the OP Enterprise team.Debug replay
debug_replaySDMBlock is an operator and research diagnostic. It re-executes a historical block’s
non-post-exec transactions under standard gas accounting to recover each transaction’s raw
(pre-rebate) gas, reports that alongside the block’s claimed refunds, and flags any claim that
breaks the spec’s validity rules.
It does not recompute what the refunds should have been: that requires the sequencer’s policy, which
stock op-reth does not implement. The endpoint requires historical state and should not be exposed
on public RPC interfaces.
Next steps
- Read the SDM explainer for the mechanism, canonical gas and settlement.
- See what else ships in the Lagoon hardfork.