Components
Provider AI Model
Any OpenAI-compatible HTTP endpoint (your llama.cpp, vLLM, hosted Venice/OpenAI/Anthropic, etc.). Reachable privately by the provider’s proxy-router.
Provider proxy-router
Listens on
:3333 (TCP, public) for consumer connections; :8082 (HTTP, private/admin) for the API and Swagger. Uses models-config.json to map on-chain modelId → backend apiUrl.Compute Node contracts (BASE)
The Diamond marketplace contract plus the MOR ERC-20 token. The contracts register providers and models, match consumers with providers, and secure connections via verifiable on-chain logic and encryption. Provider/model/bid/session state lives here. See Networks and tokens.
Consumer proxy-router
Same binary, different role. Opens TCP connections to chosen provider’s
:3333 and serves a local HTTP API on :8082 for the UI/CLI/agents.MorpheusUI
Electron desktop GUI. Talks only to the local proxy-router HTTP API.
mor-cli
CLI client over the same local proxy-router HTTP API.
End-to-end flow
Ports and surfaces
| Port | Process | Visibility | Purpose |
|---|---|---|---|
3333 (TCP) | Provider proxy-router | Public | Consumer-to-provider session and inference traffic |
8082 (HTTP) | Provider proxy-router | Private/admin | Swagger, blockchain admin, BasicAuth-protected |
8082 (HTTP) | Consumer proxy-router | Loopback | Local API for MorpheusUI / CLI / agents |
29343 (HTTPS) | TEE-only — SecretVM | Public | TDX attestation (/cpu, /gpu, /docker-compose) |
What lives on chain vs off chain
| On chain (BASE) | Off chain |
|---|---|
Provider record + endpoint | Backend model URLs (apiUrl) |
Model record + tags (e.g. tee) | Prompts and responses |
Bid record + pricePerSecond | TLS / TCP transport |
| Session open / close / claim | Logging |
| MOR ERC-20 transfers | Wallet management UI |

