Skip to content

feat(engine): add experimental REST/SSZ /new-payload-with-witness endpoint - #24617

Closed
developeruche wants to merge 7 commits into
paradigmxyz:mainfrom
developeruche:exp/rest-new-payload-with-witness
Closed

developeruche wants to merge 7 commits into
paradigmxyz:mainfrom
developeruche:exp/rest-new-payload-with-witness

Conversation

@developeruche

Copy link
Copy Markdown
Contributor

This PR introduces an experimental POST /new-payload-with-witness REST endpoint to Reth, as a complement to the existing engine_newPayloadV5 JSON-RPC method.

The current approach to witness retrieval requires two separate operations, engine_newPayload and debug_executionWitness, both of which use JSON serialization. For large witnesses, JSON encoding introduces roughly 2× size overhead, making the process slow and bandwidth-intensive.

This endpoint combines both operations into a single HTTP call using SSZ serialization, dramatically improving performance:

Client Current (newPayload + witness) This PR
Reth ~7s ~1.3s
Ethrex ~8s ~1.2s
Geth ~22s —

Benchmarked against a 500 MB witness, a worst-case, constructible block.

It is also important to note that there are ongoing discussions around introducing SSZ + HTTP to the Engine API more broadly, replacing JSON-RPC entirely, including proposals to combine "new-payload" execution and witness retrieval into a single operation. Once these discussions mature, we can standardize around a unified approach. However, this is a significant architectural change and will likely take time to reach consensus.

Engine: add Rest-SSZ spec
ethereum/execution-apis#793
Add SSZ to Engine API
ethereum/execution-apis#764
Proposal: opt-in witness retrieval via flag on existing engine methods
ethereum/execution-apis#799

@github-actions github-actions Bot added the S-stale This issue/PR is stale and will close with no further activity label Jun 19, 2026
@github-actions github-actions Bot closed this Jun 27, 2026
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Reth Tracker Jun 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-stale This issue/PR is stale and will close with no further activity

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant