Docs Layers
Layers
A site on one NEAR testnet account can hold its pages, its data, its sign-in, its functions and its scheduled work. Each layer has a page with its commands, how Harbour Board uses it, proof on testnet, what you trust and its limits.
Status on 2026-11-11
Every layer below was run on testnet on one sample, Harbour Board, account harbour-board.testnet, contract 3.0.1. This site and the static sample, quay-esc0v902.testnet and quay-65nqd3rn.testnet, still run 2.0.0, which has the Site and Gateway layers only.
| Layer | What it does | Command | Runs on | Proof |
|---|---|---|---|---|
| Site | A folder becomes a sealed release with its own URL. Production is a pointer you move. | quay deploy ./dist | NEAR | release 7 sealed production 7 |
| Gateway | Turns a browser request into a web4_get call. Run it on your machine, any server or Cloudflare Workers. | quay gateway --account harbour-board.testnet | web4 Cloudflare Workers | Workers host health testnet.page |
| Routes | The contract fills a template from data, so a post page is complete HTML without JavaScript. | quay up | NEAR web4_get | /posts/5 /api/posts |
| Data | Collections of JSON docs with rules. The site pays for storage, so a visitor needs no NEAR. | quay db collection set posts --write anyone --payer site | NEAR FastData KV | posts collection a FastData write |
| Functions | Rust compiled to WASI, with a secret and outbound HTTPS. moderate checks every new post. | quay functions deploy moderate | OutLayer | moderate deployed a digest run, attested |
| Sign-in | Members are accounts named <name>.harbour-board.testnet, made with no NEAR. A wallet signs a NEP-413 message. | quay members open | near-connect NEP-413 | a member joined a Telegram test join |
| Relay | A relayer pays the gas for a member's signed delegate action. One host runs as an OutLayer function, with no server. | quay relay deploy | OutLayer NEP-366 | a gasless post relay deployed |
| Large files | A file over the size you set goes to FastFS for gas only. The release keeps its URL and sha256. | quay up --store fastfs | FastFS | the 493,183 B photo sealed in release 4 |
| Payments | A product priced in NEAR or one NEP-141 token. The Board sells a 24-hour pin for 0.1 NEAR or 0.1 test USDC. | quay products set pin --name "Pin for a day" --price 0.1 --grant pin --pin-seconds 86400 | NEAR | pin product test USDC accepted |
| Cron | An hourly digest job. The contract keeps itself awake; one arm lasts about 6 hours, then someone must arm it again. | quay cron arm | NEAR | armed, every run a receipt the digest on / |
Collections, docs, rules, products, members, function code and cron settings are live state. Only files, routes and templates are sealed with a release, so quay rollback restores those three and never your data.
To check a view yourself, run curl against https://test.rpc.fastnear.com with a call_function request. The repository README has a one-line view helper, and scripts/judge.sh step 9 runs every check. The dashboard reads the same views live.