Repository navigation
bench 304: Robinhood showed three aggregators because we only asked three - #3272
Merged
Merged
Conversation
…hree
The Robinhood tab listed kyberswap, lifi and route out of nine. That was not
a measurement: each provider carries a Supports(chainId) list in the harness
and only those three included 4663, so the other six were never sent a
Robinhood pair at all. An aggregator that does not cover a chain and one we
never asked look identical on that tab, and only one of them is the
aggregator's doing.
Asked all six, with the harness's own Robinhood pair so a refusal is a
refusal of the thing we actually measure, 0.1 ETH to USDG at 4663:
paraswap 200, full priceRoute on network 4663 ADDED
cow 404 on robinhood while mainnet, base and
arbitrum_one answer correctly absent
uniswap 404 NoRouteFoundError, no route with
sufficient liquidity for the pair would publish nothing
0x 403 "You cannot consume this service"
enso 429 credit_quota_exceeded
openocean 403 Cloudflare challenge
odos 530 Cloudflare 1033
nordstern the domain in my probe does not resolve
Only paraswap is added. The last five are unresolved rather than
unsupported: my probe lacked the headers and credentials the harness has, so
those readings say nothing about the providers and adding on their strength
would create exactly the empty rows this is meant to remove. Mobula was
excluded on instruction.
AND THE FINDING THAT MATTERS MORE THAN THE TAB. The spec declares ten
providers and nine publish: 0x is on the board's list and absent from its
data. Its API answers 403 "You cannot consume this service", which is word
for word the error zerox.env records as the reason the previous key was
replaced on 19 October. Enso's key is exhausted the same way, 429
credit_quota_exceeded, against a file that says it already replaced an
exhausted one.
So two declared providers are invisible because a credential died, not
because of how they quote, and nothing on the page says so. A reader
concludes 0x does not quote these pairs. Both keys need renewing; neither is
fixed here.
Also: nordstern was the only aggregator on that board rendering as initials.
Its logo is taken from its own favicon.svg, checked for scripts, external
references and foreignObject before being served from our origin.
This was referenced Oct 24, 2026
Flotapponnier
added a commit
that referenced
this pull request
Oct 25, 2026
… fire (#3290) cmd/monitor/basket.go has been unformatted on both branches for a while: gofmt wants its struct-field and trailing-comment columns realigned. The harness gate in the audit recipe is `gofmt -l . && go build ./... && go vet ./...`, so the first of the three has been failing quietly. `gofmt -l .` is now empty for the module. Whitespace only, and checked rather than asserted: `git diff -w` on the file reports nothing, so every changed line differs by spacing alone. It also has a job. The three evm-quote-latency regions had NO repo trigger until today, which is why #3272's ParaSwap-on-Robinhood change sat undeployed for a day while the three binaries kept running a build from 22 October. They now have one, on `main`, with the watch pattern `harnesses/evm-swap-quoting/**` written from the repo root because Railway evaluates watch paths from "/" even when a root directory is set. A trigger I have not seen fire is not a trigger. This change touches exactly that watched directory and nothing else, so releasing it is the test: all three services should build without anyone asking them to. If they do not, the configuration is wrong and we learn it on a whitespace commit instead of on the next real harness fix.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
bench 304: Robinhood showed three aggregators because we only asked three
The Robinhood tab listed kyberswap, lifi and route out of nine. That was not
a measurement: each provider carries a Supports(chainId) list in the harness
and only those three included 4663, so the other six were never sent a
Robinhood pair at all. An aggregator that does not cover a chain and one we
never asked look identical on that tab, and only one of them is the
aggregator's doing.
Asked all six, with the harness's own Robinhood pair so a refusal is a
refusal of the thing we actually measure, 0.1 ETH to USDG at 4663:
paraswap 200, full priceRoute on network 4663 ADDED
cow 404 on robinhood while mainnet, base and
arbitrum_one answer correctly absent
uniswap 404 NoRouteFoundError, no route with
sufficient liquidity for the pair would publish nothing
0x 403 "You cannot consume this service"
enso 429 credit_quota_exceeded
openocean 403 Cloudflare challenge
odos 530 Cloudflare 1033
nordstern the domain in my probe does not resolve
Only paraswap is added. The last five are unresolved rather than
unsupported: my probe lacked the headers and credentials the harness has, so
those readings say nothing about the providers and adding on their strength
would create exactly the empty rows this is meant to remove. Mobula was
excluded on instruction.
AND THE FINDING THAT MATTERS MORE THAN THE TAB. The spec declares ten
providers and nine publish: 0x is on the board's list and absent from its
data. Its API answers 403 "You cannot consume this service", which is word
for word the error zerox.env records as the reason the previous key was
replaced on 19 October. Enso's key is exhausted the same way, 429
credit_quota_exceeded, against a file that says it already replaced an
exhausted one.
So two declared providers are invisible because a credential died, not
because of how they quote, and nothing on the page says so. A reader
concludes 0x does not quote these pairs. Both keys need renewing; neither is
fixed here.
Also: nordstern was the only aggregator on that board rendering as initials.
Its logo is taken from its own favicon.svg, checked for scripts, external
references and foreignObject before being served from our origin.