-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Summary
A clear and concise description of the feature you'd like to see.
Deploy the OpenScan worker proxy on two additional platforms alongside Cloudflare Workers to provide redundancy and failover. The worker is built with Hono, which natively supports multiple runtimes, making this feasible with minimal code changes.
Motivation
Why is this feature needed? What problem does it solve?
Currently the worker proxy (openscan-worker-proxy) is deployed only on Cloudflare Workers. If Cloudflare experiences an outage or rate-limits the worker, all proxied RPC calls (EVM, Bitcoin, Beacon) would fail with no fallback. Adding deployments on two alternative platforms ensures high availability for the shared RPC proxy.
Proposed Solution
Describe how you envision this feature working.
-
Pick two additional platforms from the Hono-supported runtimes:
- Deno Deploy
- AWS Lambda / Lambda@Edge
- Vercel Edge Functions
- Netlify Edge Functions
- Fly.io (Node.js adapter)
- Bun on Railway/Render
-
Abstract platform-specific code:
- Env/secret access (
c.env.*→ adapter pattern orprocess.envfallback) - Client IP detection (
CF-Connecting-IP→ platform-specific header +X-Forwarded-Forfallback) - Entry point adapters (e.g.,
@hono/node-server,@hono/aws-lambda)
- Env/secret access (
-
Add deployment configs for each chosen platform (e.g.,
vercel.json,fly.toml,deno.json) -
Update the explorer frontend (
workerConfig.ts) to support multiple worker URLs with failover logic
Alternatives Considered
Any alternative solutions or features you've considered.
- Cloudflare-only with multi-region: Cloudflare Workers already runs at the edge globally, but this doesn't protect against platform-level outages
- Self-hosted reverse proxy (e.g., Nginx + Node): More control but higher maintenance overhead
- DNS-level failover only: Would still require deployments on multiple platforms
Additional Context
Add any other context, mockups, or screenshots about the feature request.
The current worker code (worker/src/) is built entirely with Hono and standard Web APIs (fetch, Request, Response). The only Cloudflare-specific pieces are:
wrangler.tomlfor deployment configc.envbindings for secrets (API keys)CF-Connecting-IPheader in rate-limit middleware (already falls back toX-Forwarded-For)
Acceptance Criteria
- Worker deployed on two additional platforms besides Cloudflare
- All proxy routes (
/evm/*,/btc/*,/beacon/*,/etherscan/*,/ai/*) functional on each platform - Secrets (API keys) configured on each platform
- Explorer frontend supports failover across worker URLs
- CI/CD pipelines added for deploying to each platform