Relay API
The relay/control plane is the network-facing source for manifests, quotes, deployment intents, registration, certificate coordination, hostname status, observability, and catalogs.
Use the CLI unless you are building tooling that needs typed readback or a job runtime helper.
Network Manifest
Default discovery:
GET https://control.switchboard.proof.computer/v1/network-manifest
The CLI verifies the manifest signer before using Hub chain ID, registry
address, accepted assets, RPC URLs, or service-catalog references. Expired
manifests are rejected unless --allow-expired-manifest is passed for
diagnostics.
Service Catalogs
Service catalogs are referenced by the signed manifest and verified under the
switchboard.service-catalog.v1 signature domain.
Read-only diagnostics:
proof switchboard catalog inspect --url '<catalog url>' --json
proof switchboard catalog verify --manifest-url '<manifest url>' --manifest-signer '<signer>'
Catalog references must name a trusted signer or pin the exact response body with a SHA-256 digest. If both are present, both are enforced.
Deployment Observability
Demo and runtime observability reads:
GET /v1/deployment-intents/:intentId/observability
The Switchboard Express demo polls this endpoint when these env vars are present:
SWITCHBOARD_RELAY_URL
SWITCHBOARD_INTENT_ID
SWITCHBOARD_INTENT_TOKEN
The response is bounded materialized state for route, DNS, certificate, gateway, job-local observations, assigned validators, and recent report state.
Registration And Certificate Calls
Relay requests use action-specific authority:
- job registration is signed by the expected job signer
- certificate requests are signed by the expected job signer
- customer-hostname changes are signed by the funded session developer
- gateway or admin routes require scoped bearer tokens
The relay can submit signed material, but it should not be able to forge the job or developer authority.
Customer Hostname Status
Use the CLI for readback:
proof switchboard hostname status app.example.com --json
Status can report DNS validation, _acme-challenge delegation, manual TXT
requirements, certificate authorization, and route readiness.
Transport Security
Secret-bearing relay, SDK, control-plane, and log transport URLs must use HTTPS by default. Plain HTTP is only for explicit local labs or loopback tests where the caller opts in.