Skip to content

Fetch ENS-hosted lists via eth.limo instead of the wispy-bird worker proxy - #3310

Merged
just-toby merged 1 commit into
masterfrom
eth-limo-gateway
Sep 3, 2026
Merged

just-toby merged 1 commit into
masterfrom
eth-limo-gateway

Conversation

@marktoda

Copy link
Copy Markdown
Contributor

Why

wispy-bird-88a7.uniswap.workers.dev is an open HTTP proxy (it fetches any ?url= target) deployed in Aug 2020 solely because *.eth.link lacked usable CORS headers. Security wants to decommission it (1.2M req/mo, largely abuse). eth.limo serves ENS content with access-control-allow-origin: *, so the site can fetch lists directly.

What's already broken

The proxy path currently returns 403 for every ENS list on the site, so ENS lists appear to be broken in production today. Via eth.limo, 11 of 13 return 200 with valid JSON. The two failures (tokenlist.dharma.eth, tokenlist.zerion.eth) are dead ENS names that fail through the proxy as well — candidates for removal from the registry in a follow-up.

Changes

  • getListURLFromListID: https://<name>.eth.limo instead of the worker proxy
  • getURLFromQuery (list page): same
  • The list-info external link now points at eth.limo, a nicer human-facing URL than the worker

Companion PR in Uniswap/data switches the tokenlists scraper the same way. Once both land, the worker can be killed (or first restricted to *.eth.link targets during a deprecation window for third-party users who hardcode it).

🤖 Generated with Claude Code

…proxy

The wispy-bird-88a7 Cloudflare worker is an open HTTP proxy (fetches any
?url= target) that we want to decommission as a security hole. It was only
needed because *.eth.link lacked usable CORS headers; eth.limo serves ENS
content with access-control-allow-origin: * so no proxy is needed.

The proxy path is also currently broken: every ENS list on the site returns
403 through it today, while 11/13 return 200 via eth.limo (the other two,
tokenlist.dharma.eth and tokenlist.zerion.eth, are dead ENS names that fail
on both paths).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
token-lists-website Ready Ready Preview Aug 31, 2026 9:22pm

Request Review

@marktoda

Copy link
Copy Markdown
Contributor Author

Verified in the Vercel preview vs production, full network capture from both:

ENS lists (the 13 this PR touches):

prod (wispy-bird) preview (eth.limo)
working 0/13 (11× HTTP 403, 2× ERR_FAILED) 11/13 (HTTP 200)
broken all only tokenlist.dharma.eth, tokenlist.zerion.eth (SSL error — dead ENS names, also broken on prod)

Non-ENS lists (21, untouched by this PR): identical results on prod and preview — same 10 work, same 11 fail either way (api.kyber.network + app.tryroll.com + compli.fi DNS-dead, opyn/bazar 404, coingecko-defi100/messari/ipfs.io/uma/zapper CORS-blocked, yearn hangs).

So every tile still broken in the preview is broken on production today for reasons unrelated to the proxy. A registry prune of the dead lists would be a sensible follow-up.

@marktoda
marktoda marked this pull request as ready for review August 31, 2026 21:41
@just-toby
just-toby merged commit 1c505ba into master Sep 3, 2026
5 checks passed
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.

3 participants