Gateway
Live on testnetRuns on web4 Cloudflare Workers
A browser cannot call a contract, so a gateway does. It turns GET /posts/5 into a web4_get view call and returns the page. Quay ships its own gateway, and the public testnet.page gateway serves every web4 account too.
Commands
quay gateway --account harbour-board.testnet # serving harbour-board.testnet at http://127.0.0.1:8787/ cd gateway/worker && npx wrangler deploy
How Harbour Board uses it
- The Board answers on its Cloudflare Workers host, on
harbour-board.testnet.page, and onquay gatewayon your machine. - On 2026-11-10
testnet.pageanswered every account with HTTP 400 for several hours. The Workers hosts exist because of that.
Proof on testnet
| The Workers host answers | /_quay/health |
|---|---|
| The public gateway | harbour-board.testnet.page |
Check it without a key: sh scripts/judge.sh tries the Workers host, then testnet.page, then a local gateway, and prints which one answered. The view helper is in the repository README, and scripts/judge.sh runs these checks.
What you trust
testnet.page is one operator, and the Workers hosts are one Cloudflare account. Neither can change your pages, only stop serving them. quay gateway serves the same site from your machine, and the single-file build runs on Node, Deno or Bun.
Limits
| Hosts | The account host only. An extra label such as www. fails TLS on testnet.page. |
|---|---|
| Certificate | A new testnet.page host gets its certificate on the first request, usually in under 2 minutes |
Every flag is in the command reference, generated from quay gateway --help.