## Problem
Author: naoifelcncCreated Sep 2, 2026Updated Sep 4, 2026
Problem
The REST-SSZ Engine API introduced by #21729 does not yet implement two Amsterdam requirements from execution-apis#793:
POST /engine/v1/blobs/v4is not implemented or advertised. The current draft requires an Amsterdam EL to serve v4, which adds cell-range selection.POST /engine/v1/forkchoicedecodes and validatescustody_columnsbut does not apply it. The current draft requires an accepted custody set to remain active until another forkchoice update replaces it; omitting the field must leave the set unchanged.
Consequently, Erigon can advertise Amsterdam among its supported fork schemas without providing the complete Amsterdam behavior.
Required work
- Add the
/blobs/v4request and response SSZ types and connect them to a cell-range backend. - Advertise blob revision v4 only when the endpoint is available.
- Apply
custody_columnsin external-CL mode and preserve the set until it is replaced. - Keep custody processing independent from forkchoice payload status, as required by the draft.
- Cover v4 selection, partial availability,
204 No Content, capability advertisement, custody replacement, omitted custody, persistence, and custody-error behavior in tests.
Specification
Follow-up to #21729.
Originally posted by @yperbasis in https://github.com/erigontech/erigon/issues/23045
Source: ethereum/EIPs