Skip to content

Return 400 for execution payload bids ignored by gossip validation - #960

Open
hangleang wants to merge 1 commit into
grandinetech:developfrom
hangleang:fix/payload-bid-ignored-400
Open

hangleang wants to merge 1 commit into
grandinetech:developfrom
hangleang:fix/payload-bid-ignored-400

Conversation

@hangleang

Copy link
Copy Markdown
Member

No description provided.

@povi

povi commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator

I wouldn't return Bad Request to valid data, e.g. it's not the winning bid (highest value). It's just not fair. The sender doesn't even know what is the winning bid on the beacon node, and is left thinking the data sent is bad, when its not.

I think the problem is that gossip check actions (accept/ignore/reject) doesn't accurately match HTTP response codes. Some ignore actions maybe deserve 4xx statuses - like the bid is not compatible with the current head branch. Others do not.

@povi

povi commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator

What is the use case that you need 400 status for ignored bids?

@hangleang

Copy link
Copy Markdown
Member Author

What is the use case that you need 400 status for ignored bids?

I was testing #948 with buildoor submitted its p2p bids with the wrong fee recipient. Grandine beacon node ignored all of them, so none were broadcast, yet it returned 200 each time, which made the builder think its bid was published. The endpoint specifies The bid was validated successfully and has been broadcast. for 200 response.

I agree it is unfair for those valid cases you mentioned, maybe we should add a variant for "valid but not propagated"?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants