Skip to content

the bench said seven relays and one of them no longer exists - #2919

Merged
Flotapponnier merged 1 commit into
devfrom
fix/dead-bloxroute-relay
Oct 9, 2026
Merged

Flotapponnier merged 1 commit into
devfrom
fix/dead-bloxroute-relay

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Found while researching whether MEV infrastructure deserves a category. It is a correctness bug on a live page, independent of that question.

bloxroute.max-profit.blxrbdn.com has no DNS record at all (NXDOMAIN at 8.8.8.8, so not a local resolver artefact), and delivered 0 payloads in the last 24h while the other six all moved:

relay payloads 24h
ultrasound 5841
titan 5523
aestus 2912
bloxroute-regulated 2813
flashbots 264
agnostic 131
bloxroute-max-profit 0

Why it looked alive, which is the part worth keeping: ebb_relay_payloads_total is a counter, and a counter never goes down. It kept displaying 26,395 accumulated payloads long after the host stopped resolving. Reading the total says nothing; only increase() over a window does.

The spec advertised "seven MEV-Boost relays" in four places including the FAQ answer, and named bloXroute max-profit in two of them. Corrected to six, relay dropped from the harness.

Safe: no published panel or query pins a relay label, the counter is a methodology cross-check only, so no column goes null.

go build and go vet clean, pnpm validate clean.

bloXroute's max-profit relay has no DNS record at all: NXDOMAIN at 8.8.8.8,
so not a local resolver artefact. It delivered 0 payloads in the last 24h
while the other six all moved (ultrasound 5841, titan 5523, aestus 2912,
bloxroute-regulated 2813, flashbots 264, agnostic 131).

The row looked alive for a precise reason worth recording: ebb_relay_payloads_total
is a counter, and a counter never goes down, so it kept displaying 26,395
accumulated payloads long after the host stopped resolving. Reading the total
says nothing; only increase() over a window does.

The spec advertised "seven MEV-Boost relays" in four places, including the FAQ
answer, and named bloXroute max-profit in two of them. Corrected to six.

Safe to drop: no published panel or query pins a relay label, the counter is a
methodology cross-check only, so no column goes null.

go build and go vet clean, pnpm validate clean.
@Flotapponnier
Flotapponnier merged commit 73555e4 into dev Oct 9, 2026
2 checks passed
Flotapponnier added a commit that referenced this pull request Oct 9, 2026
)

* the bench said seven relays and one of them no longer exists (#2919)

bloXroute's max-profit relay has no DNS record at all: NXDOMAIN at 8.8.8.8,
so not a local resolver artefact. It delivered 0 payloads in the last 24h
while the other six all moved (ultrasound 5841, titan 5523, aestus 2912,
bloxroute-regulated 2813, flashbots 264, agnostic 131).

The row looked alive for a precise reason worth recording: ebb_relay_payloads_total
is a counter, and a counter never goes down, so it kept displaying 26,395
accumulated payloads long after the host stopped resolving. Reading the total
says nothing; only increase() over a window does.

The spec advertised "seven MEV-Boost relays" in four places, including the FAQ
answer, and named bloXroute max-profit in two of them. Corrected to six.

Safe to drop: no published panel or query pins a relay label, the counter is a
methodology cross-check only, so no column goes null.

go build and go vet clean, pnpm validate clean.

* bench 025 has been measuring three oracles while saying four (#2920)

Pyth Hermes' price paths now answer 401 to an anonymous client, and the
harness hardcodes one of them. Its Pyth leg has fetched nothing for at least
30 days: ocb_oracle_price{source="pyth"} shows 0 value changes over the full
retention window, against 746,773 for coinbase.

The published numbers were never wrong, which is exactly why nobody noticed.
The headline reads the time-aligned family, and lookupNearest cannot find a
30-day-old point inside alignTolerance, so Pyth was dropped and the figures
stayed honest 3-source deviations (6 to 8.5 bps, entirely plausible).

What was wrong is everything the page said. The subtitle, the SEO description,
the abstract, the Sources bullet and two FAQ answers all named Pyth as one of
four live sources, and the Sources bullet called all four "free, no-auth,
public endpoints". Corrected to three, with the reason stated.

Detection failed three ways and all three are worth remembering: the price
gauge holds its last value forever, ocb_oracle_alignment_miss_total reads 0
for every Pyth pair because a miss is only counted once a lookup is attempted,
and the one counter that did move, ocb_oracle_scrape_errors_total at ~34,500 a
day, has no reader. Same shape as the dead MEV relay found an hour earlier: a
counter that never goes down makes a dead source look alive.

The poller is commented out rather than deleted, so a key restores it in one
line. It was also sending ~34,500 rejected requests a day to a third party.

title and seo_title are deliberately untouched: they carry the page's ranking
history on "Chainlink vs Pyth", and retitling, or paying for a key to restore
the fourth source, is a call with a cost attached.

go build and go vet clean, pnpm validate clean.
@Flotapponnier
Flotapponnier deleted the fix/dead-bloxroute-relay branch November 3, 2026 11:48
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