One public API
Allternit exposes one public origin:cmd/allternit-cloud-api). Browsers, SDKs, and CI talk only to it.
The Allternit API (cmd/allternit-api, port 8013) is the data-plane runtime. It holds per-instance SQLite state (sessions, office bindings, local workspaces). It is never a public hostname. The Cloud API authenticates the caller, picks a healthy node, and relays the request.
Do not point production clients at
http://localhost:8013 or at any second public gateway. Local 8013 is for desktop and development only.Which API do I call?
Topology
Authentication at a glance
See Authentication.
Data-plane relay
Namespaces that store state on the node (agent sessions, Office, beta research) are Cloud API handlers. They do not keep a second copy of that state in Postgres.- Authenticate the Clerk session.
- Resolve the caller’s default healthy node (desktop, paired box, or provisioned instance). Online means a recent heartbeat.
- Forward the original request — including the caller’s
Authorizationheader — over the node’s outbound relay WebSocket. - Stream the node’s response back. Nothing is cached or rewritten.
pair a device). Pair a runtime or start a provisioned instance, then retry.
Three ways to run the data plane
Local desktop
Allternit Desktop runs Allternit API and Gizzi on the machine. Pair it to your account.
User-paired (BYOC)
Install the runtime on your VPS, approve the pairing code, keep the node private.
Allternit-provisioned
Paid path: Cloud API creates an isolated instance that auto-pairs and phones home.
Next
Cloud API
Pairing, relay, hosted and provisioned compute, Cowork, health.
Allternit API
Data-plane binary, local port 8013, SQLite, what is never public.
Authentication
Clerk JWTs, virtual keys, device tokens.