Skip to content

bench 304: Robinhood showed three aggregators because we only asked three - #3272

Merged
Flotapponnier merged 1 commit into
devfrom
feat/paraswap-robinhood-nordstern-logo
Oct 24, 2026
Merged

Flotapponnier merged 1 commit into
devfrom
feat/paraswap-robinhood-nordstern-logo

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

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.

…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.
@Flotapponnier
Flotapponnier merged commit dc7d8b0 into dev Oct 24, 2026
2 checks passed
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.
@Flotapponnier
Flotapponnier deleted the feat/paraswap-robinhood-nordstern-logo branch November 3, 2026 11:45
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