Skip to content

feat: add redundant worker deployments on alternative platforms #339

@AugustoL

Description

@AugustoL

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.

  1. 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
  2. Abstract platform-specific code:

    • Env/secret access (c.env.* → adapter pattern or process.env fallback)
    • Client IP detection (CF-Connecting-IP → platform-specific header + X-Forwarded-For fallback)
    • Entry point adapters (e.g., @hono/node-server, @hono/aws-lambda)
  3. Add deployment configs for each chosen platform (e.g., vercel.json, fly.toml, deno.json)

  4. 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.toml for deployment config
  • c.env bindings for secrets (API keys)
  • CF-Connecting-IP header in rate-limit middleware (already falls back to X-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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions