Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kynesys.xyz/llms.txt

Use this file to discover all available pages before exploring further.

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

MethodPathPurpose
GET/Greeting payload; echoes the caller’s IP ({ message, yourIP }).
GET/infoNode info plus version and version_name.
GET/healthLiveness/readiness summary (see below).
GET/health/subsystemsSlim per-subsystem registry snapshot for dashboards.
GET/versionNode version string.
GET/publickeyNode public key (hex).
GET/connectionstringNode connection string for peers.
GET/peerlistCurrent known peers.
GET/public_logsPublic log buffer.
GET/diagnosticsDiagnostic log buffer.
GET/mcpMCP server status ({ enabled, transport, status }).
GET/genesisParsed genesis data from the genesis block.
GET/rate-limit/statsRate limiter statistics.
Example:
curl http://localhost:53550/version
# "x.y.z"

/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.
MethodPathPurpose
GET/storage-program/:addressRead a storage program by address.
GET/storage-program/:address/allRead the program’s raw data.
GET/storage-program/:address/fieldsList top-level field names.
GET/storage-program/:address/field/:fieldRead a field value.
GET/storage-program/:address/field/:field/item/:indexRead an array-field item by index.
GET/storage-program/:address/has/:fieldCheck whether a field exists.
GET/storage-program/:address/type/:fieldReturn a field’s value type.
GET/storage-program/owner/:ownerList programs by owner (?limit=&offset=).
GET/storage-program/search?q=nameSearch by program name (?exact=&limit=&offset=).

ZK routes

Registered by registerZkRoutes (src/libs/network/zkMerkle.ts).
MethodPathPurpose
GET/zk/merkle-rootCurrent Merkle root, block number, and leaf count.
GET/zk/merkle/proof/:commitmentMerkle inclusion proof for a 0x-prefixed 64-hex commitment.
GET/zk/nullifier/:hashWhether a 0x-prefixed 64-hex nullifier hash has been used.
curl http://localhost:53550/zk/merkle-root
# { "rootHash": "0x...", "blockNumber": 1234, "leafCount": 42 }

TLSNotary routes

Registered by registerTLSNotaryRoutes (src/features/tlsnotary/routes.ts). Only mounted when TLSNOTARY_ENABLED=true.
MethodPathPurpose
GET/tlsnotary/healthService health (healthy | unhealthy | disabled).
GET/tlsnotary/infoService info: enabled flag, port, public key, running state.
POST/tlsnotary/verifyVerify a base64-encoded attestation from the request body.