Skip to main content

HTTP Endpoints

Besides the JSON-RPC entry point at POST /, the node serves a set of plain HTTP endpoints for info, health, discovery, and feature subsystems. All are registered in src/libs/network/server_rpc.ts (with feature routes loaded from their own modules).

Core GET endpoints

Example:

/health

/health returns a status summary with status (ok | degraded | dormant | failing), boot progress, subsystem states, port drift, main-loop heartbeat, and error counters. The HTTP status code reflects health: 200 for ok/degraded/dormant (with an X-Demos-Dormant: true header when dormant) and 503 when failing, so load balancers and k8s probes can detect an unhealthy node without parsing the body. For the full response contract see Health and Readiness.

Storage program routes

Registered by registerStorageProgramRoutes (src/features/storageprogram/routes.ts). All GET; ACL is enforced via the identity request header (anonymous callers are limited to public programs). Addresses use the stor-{hash} format.

ZK routes

Registered by registerZkRoutes (src/libs/network/zkMerkle.ts).

TLSNotary routes

Registered by registerTLSNotaryRoutes (src/features/tlsnotary/routes.ts). Only mounted when TLSNOTARY_ENABLED=true.