🎯 Problem to be solved
Follow-up to #3576. For a DV proposal Charon needs the VC's partial signature over the blinded block so it can aggregate and unblind. Every other supported VC gives us this by submitting the signed blinded block back to Charon via POST /eth/vN/beacon/blinded_blocks.
Vouch does not. It bundles the mev-boost role: it signs the blinded block and unblinds it itself by calling the relay's POST /eth/vN/builder/blinded_blocks, then submits a full block to the BN. There is no config to make Vouch submit a blinded block to the BN instead. So Charon never sees Vouch's signature over the blinded data.
🛠️ Proposed solution
Point Vouch at Charon as its MEV relay and implement the builder POST /eth/vN/builder/blinded_blocks endpoint in Charon. Vouch's unblind call then delivers the SignedBlindedBeaconBlock, which carries exactly the partial signature we need — so wire this handler into the same proposal partial-signature logic we already use.
⏳ Likely obsolete post-Gloas
This is a shim around out-of-protocol PBS. Gloas / ePBS removes the blinded-block → relay-unblind flow, so this endpoint should no longer be needed once Gloas is supported. See #4324.
🎯 Problem to be solved
Follow-up to #3576. For a DV proposal Charon needs the VC's partial signature over the blinded block so it can aggregate and unblind. Every other supported VC gives us this by submitting the signed blinded block back to Charon via
POST /eth/vN/beacon/blinded_blocks.Vouch does not. It bundles the mev-boost role: it signs the blinded block and unblinds it itself by calling the relay's
POST /eth/vN/builder/blinded_blocks, then submits a full block to the BN. There is no config to make Vouch submit a blinded block to the BN instead. So Charon never sees Vouch's signature over the blinded data.🛠️ Proposed solution
Point Vouch at Charon as its MEV relay and implement the builder
POST /eth/vN/builder/blinded_blocksendpoint in Charon. Vouch's unblind call then delivers theSignedBlindedBeaconBlock, which carries exactly the partial signature we need — so wire this handler into the same proposal partial-signature logic we already use.⏳ Likely obsolete post-Gloas
This is a shim around out-of-protocol PBS. Gloas / ePBS removes the blinded-block → relay-unblind flow, so this endpoint should no longer be needed once Gloas is supported. See #4324.