Services & RPC
Register a function from any client and call it from anywhere — routed to the registrant, replied in-line.
Hypha Mesh is the shared backbone for your apps, agents and data. Publish a capability from any client — a browser tab, a laptop, a server — and reach it from anywhere in your workspace. Live presence, collaborative documents, streaming logs, scoped access and policy come built in, on a single Durable Object that scales to zero.
Sign in with a passkey — no passwords, no setup.
From a weekend prototype to a multi-tenant platform, the same primitives carry you the whole way.
Give agents a stable place to register tools, discover each other, and call out — with server-attested identity and a curl-able bridge that needs no SDK.
Presence, live documents and event streams out of the box — collaborative editors, dashboards and multiplayer experiences without standing up your own infrastructure.
Isolated workspaces, scoped tokens and governance policy let you hand a safe slice of the mesh to every customer, teammate or bot.
Six composable primitives — each one subscribable, audited and scoped to your workspace.
Register a function from any client and call it from anywhere — routed to the registrant, replied in-line.
Live IFF the connection is open and the heartbeat is fresh: PRESENT · STALE · SLEEPING · ABSENT.
Append-only, ordered log streams with snapshot-on-subscribe — tail a deploy or an agent run in realtime.
Shared documents with live, multi-writer updates — the building block for editors and synced state.
Mint scoped, revocable, time-boxed tokens — bound to specific services, clients and a permission.
Attach an in-workspace policy interceptor — inspect, allow or deny every call, on attested identity.
Reach the mesh the way that fits your stack — a native client, a plain HTTP call, or a tunnel from wherever your code already runs.
Native SDKs for JavaScript and Python (in the repo — client-ts/ and client-python/), API-compatible with hypha-rpc. Full programmatic access to every primitive — RPC, logs, documents, presence, artifacts, capability tokens and governance.
When to use: you're writing an app, agent or service and want first-class, typed access.
For example: a Python worker registers a tool and a browser app calls it live — same API on both ends.
Reach the mesh over plain HTTP — no SDK, just curl and a bearer token. Artifact storage is fully available over HTTP today. General services-over-HTTP — calling any registered service by URL — is on the Roadmap (a one-shot unary call bridge already works for simple cases).
When to use: a shell script, a webhook, or a language without an SDK yet.
For example: a CI job uploads and fetches build artifacts, or makes a one-shot service call, with a single authenticated request.
Run the lightweight connector next to a local server and expose it through the mesh on a tl-* hostname — no inbound ports, no public IP, no firewall changes.
When to use: your app lives behind NAT or a firewall, on a laptop, a homelab, or a private network.
For example: share a dev server or an on-prem service with a teammate or an agent in seconds.
The mesh isn't only the cloud. The same protocol and clients run against a server you host yourself — fully offline, or selectively connected to hypha.run while your data stays put.
A self-hostable mesh server in TypeScript that runs on Node — no Cloudflare required. It reuses the exact same primitive modules (services, docs, logs, artifacts, auth, presence) behind its own WebSocket + HTTP server, a better-sqlite3 registry, and a local MinIO/S3 artifact store. It hosts many local workspaces and runs fully standalone — clients (Rust / TS / Python) connect the same way they connect to the cloud.
When to use: air-gapped / on-prem work, local development, or owning the whole stack.
# from the server/ package — build + run the local mesh on localhost
npm run local:start
An on-prem instance opens one outbound link to a federated workspace on the cloud and selectively exposes chosen services + metadata upward. A cloud caller's request is routed down the link, runs against the real local service, and only the approved result returns — the data never leaves your network. The link is outbound-only (NAT/firewall-friendly; the cloud never dials in), default-deny, and capability-gated, with a local audit log at the boundary.
When to use: institutional / sensitive data that must stay on-prem while a few results or services are shared.
Hub-and-spoke: the cloud is the discovery / identity hub; each institution is a sovereign spoke. Driven by the myco federate.