Skip to content

fix: add Robinhood chain to ParaSwap probe (Virtuals now on chain 4663) - #1472

Merged
Flotapponnier merged 2 commits into
devfrom
feat/paraswap-robinhood-support
Jul 26, 2026
Merged

fix: add Robinhood chain to ParaSwap probe (Virtuals now on chain 4663)#1472
Flotapponnier merged 2 commits into
devfrom
feat/paraswap-robinhood-support

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Summary

  • ParaSwap's SupportsChain only handled "base" and "bsc". After the Virtuals chain detection fix, all Virtuals Protocol tokens now come back with chain: robinhood from the Virtuals API — so ParaSwap was getting 0 probes on the entire Virtuals venue.
  • Added Robinhood (chain ID 4663, USDG 0x5fc5360…) to paraswap.go, matching the same pattern already used by Odos and KyberSwap.
  • Updated YAML tag, formula, abstract, methodology, and FAQ to say "Base + BNB + Robinhood" for ParaSwap.
  • Updated per_chain_explainer.base to note Virtuals has expanded to Robinhood chain.

After deploy

Redeploy the token-quote-coverage harness on ocb-par-main so the updated binary takes effect. Next hourly batch will start emitting paraswap/virtuals/robinhood probes. If ParaSwap API supports chain 4663 we get real coverage data; if not, the bench will show 0% which is still accurate and better than no data.

Test plan

  • Rebuild + restart harness on VPS: docker build --no-cache then restart container
  • After 1-2 batches, check Prom: token_quote_coverage_attempts_total{provider="paraswap", chain="robinhood"} should be > 0
  • Verify chain=robinhood, venue=virtuals now shows ParaSwap row on staging bench page

Florent Tapponnier added 2 commits July 26, 2026 02:51
Four verified crawl / SEO issues confirmed on prod (2026-07-26):

1. Sitemap + /api/citable served no s-maxage, every crawl re-ran the
   loader chain (x-vercel-cache: MISS observed). Add explicit
   Cache-Control on both via next.config.ts headers().

2. /404 emitted two identical <meta name="robots" content="noindex">
   tags because not-found.tsx set { index: false } and Next merged
   instead of replacing the layout's robots shape. Give not-found the
   full IS_STAGING-style shape so Next replaces.

3. Mixed-case URLs served 200 instead of 308-lowercase
   (/products/Alchemy, /Benchmarks/foo). Add case-normalising 308 at
   the top of middleware; broaden matcher to cover every HTML route.

4. Bench pages with chain variants (aggregator-head-lag, perp-fees)
   emitted 4-5 <meta property="og:image"> tags via generateImageMetadata
   fanning out per-chain entries. Social scrapers picked
   nondeterministically. Chain-scoped OG cards were never rendered on
   the actual /[chain] pages anyway (they inherit the site-wide OG),
   so the fan-out gave no upside. Return only the default entry.
@Flotapponnier
Flotapponnier merged commit e463130 into dev Jul 26, 2026
1 check failed
Flotapponnier added a commit that referenced this pull request Jul 26, 2026
…3) (#1472)

* seo hygiene P0: cache headers + robots dedup + case redirects + og:image

Four verified crawl / SEO issues confirmed on prod (2026-07-26):

1. Sitemap + /api/citable served no s-maxage, every crawl re-ran the
   loader chain (x-vercel-cache: MISS observed). Add explicit
   Cache-Control on both via next.config.ts headers().

2. /404 emitted two identical <meta name="robots" content="noindex">
   tags because not-found.tsx set { index: false } and Next merged
   instead of replacing the layout's robots shape. Give not-found the
   full IS_STAGING-style shape so Next replaces.

3. Mixed-case URLs served 200 instead of 308-lowercase
   (/products/Alchemy, /Benchmarks/foo). Add case-normalising 308 at
   the top of middleware; broaden matcher to cover every HTML route.

4. Bench pages with chain variants (aggregator-head-lag, perp-fees)
   emitted 4-5 <meta property="og:image"> tags via generateImageMetadata
   fanning out per-chain entries. Social scrapers picked
   nondeterministically. Chain-scoped OG cards were never rendered on
   the actual /[chain] pages anyway (they inherit the site-wide OG),
   so the fan-out gave no upside. Return only the default entry.

* fix: add Robinhood chain to ParaSwap probe — Virtuals tokens now on chain 4663

---------

Co-authored-by: Florent Tapponnier <contact@mobula.io>
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