A C-Node is the proxy-router running in the consumer role: it holds your wallet key, talks to BASE, and exposes a local :8082 HTTP API for your tools (UI, CLI, agents, bots). It does not need to expose :3333 to the internet — that port is only for providers.

Install path

Pick the most appropriate install for your environment:

Docker

Recommended for headless prosumer setups.

From source

Build, run, and update via git pull.

Packaged release

Easiest if you also want the desktop UI.

systemd / supervisor

Same headless patterns as a provider.

Minimal .env (consumer role)

Full reference: Env: proxy-router.

Auth and proxy.conf

On first start the proxy-router creates a .cookie with a random admin:<password>. Use that for tooling (UI, CLI). To add lower-permission users (for agents or third-party tools), see API auth and Running local agents.

Wallet hygiene

  • Use a dedicated wallet for your C-Node, not your personal MetaMask.
  • Keep balances modest. Refill on a schedule rather than parking large amounts in the C-Node wallet.
  • The wallet is not retrievable from the proxy-router state — the private key is what the proxy-router holds.

Approve once

Approve the Diamond contract for some MOR allowance so opening sessions doesn’t require an interactive approval each time:
This authorizes 20 MOR. Set higher if you expect heavy use; lower if you want tighter risk control.

Health and metrics

  • GET /healthcheck — JSON status / version / uptime.
  • GET /v1/models/attestation — TEE per-model attestation state (only meaningful when using tee-tagged models).
  • Logs — see ./data/ (or docker logs).

Updating

For Docker: docker pull ghcr.io/morpheusais/morpheus-lumerin-node:latest && docker restart …. For source: git pull && ./build.sh && systemctl restart …. The on-disk Badger state in ./data/ is forward-compatible across patch and minor versions.