Topology
:3333(TCP) — public. Consumers connect here.:8082(HTTP) — should be firewalled to operator IPs only, ideally behind a reverse proxy with TLS. Used for Swagger, blockchain admin, and the auth APIs.- Backend LLM — private network only.
Service supervision
- systemd (Linux)
- Docker / Compose
- SecretVM (TEE)
Create
/etc/systemd/system/morpheus-proxy-router.service:API auth
Set strong credentials in the.cookie file (or COOKIE_CONTENT env in TEE/Akash deployments). For multi-user access (e.g. agent accounts with restricted whitelists), see API auth.
Logging & observability
- Container logs (
docker logs) orjournalctlfor systemd. SetENVIRONMENT=productionandLOG_JSON=truefor structured logs in production. - The
./data/directory persists Badger state and runtime files — back this up. GET /healthcheckfor liveness;GET /v1/models/attestationfor TEE per-model state.
Wallet hygiene
- Use a dedicated provider wallet, never the same key as your personal MetaMask.
- Rotate periodically: register a new provider record with the new key and decommission the old one.
- For TEE deployments the key is encrypted into the enclave secrets; for non-TEE keep the key inside
.envwith strict file permissions (chmod 600).
Updating
When a new release ships:- Stop the service.
- Replace the binary or image tag.
- Start the service.
- Confirm
/healthcheckand Swagger respond. Confirm the proxy-router log shows the expected version. - (TEE) Update the deployed compose with the new digest and re-verify attestation.

