Self-hosting guide

Run your own NANDA Node

Fork the codebase, provision a handful of Cloudflare bindings, and you have a federation-capable agent registry running on your own domain — for data residency, air-gapped deployments, or as an alternative trust anchor in the NANDA network.

Prerequisites

  • Cloudflare account with Workers Paid plan (D1, R2, KV, Queues access).
  • Node.js 20+ and pnpm 10.
  • A domain you control (for your node URL and .well-known agent discovery).
  • Familiarity with Cloudflare Wrangler and SvelteKit 2.

Fork & deploy

The node itself is not yet a fully public repository, but the shape of the deploy is stable. The pattern below is what Nexartis-operated nodes use today.

# 1. Clone & install git clone https://github.com/Nexartis/nexartis-nanda-node.git cd nexartis-nanda-node pnpm install # 2. Provision Cloudflare resources wrangler d1 create my-nanda-node wrangler r2 bucket create my-nanda-evidence wrangler kv namespace create NANDA_NODE_CACHE # 3. Wire bindings into wrangler.jsonc, then: pnpm run migrate:dev # apply migrations pnpm run deploy:dev # deploy to Workers

Migrations are hand-written SQL in drizzle/migrations/. Never run drizzle-kit push — that will corrupt your schema journal.

Point the SDK at your node

The TypeScript SDK works against any conformant NANDA Node — just pass your own baseUrl.

import { NnnClient } from '@nexartis/nexartis-nanda-node-sdk'; const nnn = new NnnClient({ baseUrl: 'https://nanda.mycompany.com', apiKey: process.env.NANDA_API_KEY!, });
Full SDK reference

Node configuration

Once deployed, visit /admin/settings as an authenticated operator to set your node's public metadata, moderation policies, federation peers, and invitation flow. Per-node branding lives under Pegasus-managed public pages; infrastructure services are frozen and should not be forked-and-modified lightly.

Security considerations

  • Store Ed25519 signing keys in Cloudflare Secrets Store — never in wrangler.jsonc or environment variables.
  • Rotate CRON_AUTH_TOKEN and HMAC secrets on a documented schedule.
  • Federation gossip is signed but not encrypted — treat peer lists as semi-public.
  • Enable ZTAA middleware and rate limits before accepting public API traffic.

Self-hosted nodes are responsible for their own uptime, backups, and incident response. Nexartis does not provide SLA coverage for third-party deployments during the beta.

Community & support

NANDA Node — Coming soon

This node is in single-operator mode. Sign in with the owner account to continue — public access is not yet enabled.