Skip to content

Conversation

KaloyanTanev
Copy link

@KaloyanTanev KaloyanTanev commented Aug 19, 2025

📝 Summary

X-timeout-ms HTTP header included in the get_header request to specify the timeout set to the request. Used by the relay in order to determine if and how much delay it can add to the block production.

⛱ Motivation and Context

We have encountered issues where a lower get_header request timeout resulted in only failures by the relays. This was caused as it's not uncommon for relays to delay the block creation in order to maximise the rewards. Relays on their end assume a default timeout in the range of 950-1000ms, so they adjust block production to that. However, reducing the HTTP request timeout does not reduce the delay they are using, resulting in failures to provide block header on time.

On Obol's side we have talked about that with multiple relay providers and most of them agreed to include X-timeout-ms HTTP header in the get_header HTTP request. Using this HTTP header and the Date-Milliseconds HTTP header, relays can calculate the timeout - the latency and adjust their block production delay accordingly.

✅ I have run these commands

  • make lint
  • make test-race
  • go mod tidy

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.

1 participant