diff --git a/eth/catalyst/api.go b/eth/catalyst/api.go index 40f93f73e1..4c41dc5551 100644 --- a/eth/catalyst/api.go +++ b/eth/catalyst/api.go @@ -659,6 +659,11 @@ func (api *ConsensusAPI) NewPayloadV4(params engine.ExecutableData, versionedHas if api.eth.BlockChain().Config().LatestFork(params.Timestamp) != forks.Prague { return engine.PayloadStatusV1{Status: engine.INVALID}, engine.UnsupportedFork.With(errors.New("newPayloadV4 must only be called for prague payloads")) } + + if api.eth.BlockChain().Config().IsIsthmus(params.Timestamp) && params.WithdrawalsRoot == nil { + return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(errors.New("nil withdrawalsRoot post-isthmus")) + } + requests := convertRequests(executionRequests) if err := validateRequests(requests); err != nil { return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(err)