The proxy-router exposes an OpenAI-compatible HTTP API plus Morpheus-specific routes for blockchain operations and node management.

Surface

This page documents the proxy-router HTTP API — the local API exposed by the proxy-router binary in this repo. It is not the hosted Morpheus Inference API; that is a separate product at apidocs.mor.org, described in Inference API overview.
SurfaceURL (default)Purpose
Local APIhttp://localhost:8082All proxy-router HTTP endpoints (auth-protected)
Swagger UIhttp://localhost:8082/swagger/index.htmlInteractive request playground served by your own proxy-router
Public proxytcp://<host>:3333TCP tunnel for consumer ↔ provider sessions
TEE attestationhttps://<host>:29343TDX attestation (/cpu, /gpu, /docker-compose)

Authentication

All endpoints require HTTP Basic Auth:
Authorization: Basic <base64(username:password)>
The .cookie file in your proxy-router directory has the default admin:<random>. Add scoped users via proxy.conf and the /auth/users endpoints. Full reference: API auth.

Where the schema lives

The canonical OpenAPI schema for the proxy-router HTTP API is proxy-router/docs/swagger.yaml, auto-generated by swag init as part of every release build. When you run the proxy-router locally, browse it at http://localhost:8082/swagger/index.html. For a curated subset of the most-used endpoints with prose context, see API endpoints.

Endpoint families

OpenAI compatibility

/v1/chat/completions, /v1/embeddings, /v1/audio/transcriptions, /v1/audio/speech.

Marketplace (read)

GET /blockchain/providers, GET /blockchain/models, GET /blockchain/bids.

Marketplace (write)

POST /blockchain/providers, POST /blockchain/models, POST /blockchain/bids.

Sessions

POST /blockchain/models/:id/session, POST /blockchain/sessions/:id/close.

Wallet & balance

GET /wallet, GET /blockchain/balance, POST /blockchain/approve.

Auth users

POST /auth/users, DELETE /auth/users.

Direct vs UI

Most users go through MorpheusUI or the CLI; both call this API underneath. For headless scripts and agents, see API direct for a curl-only walkthrough.