A resale P-Node is the same proxy-router image as a full provider — ghcr.io/morpheusais/morpheus-lumerin-node:latest. Only the models-config.json differs. For full mechanics (volumes, env files, ports, build), follow Provider Docker. This page focuses on what changes.

Differences vs full P-Node

AspectFull P-NodeResale P-Node
apiUrlInternal/private model URLUpstream’s chat-completions URL
apiKeyUsually omittedRequired (your upstream account key)
concurrentSlotsBound by your hardwareBound by your upstream rate limits
Model tee tagOptional (for TEE)Don’t use — you can’t attest the upstream
endpoint (on-chain)SameSame — must be publicly reachable
Subnet provider stakeSame 10000 MOR if applicableSame

Example models-config.json for a resale node

{
  "$schema": "./internal/config/models-config-schema.json",
  "models": [
    {
      "modelId": "0x<your_chain_modelId>",
      "modelName": "gpt-4o-mini",
      "apiType": "openai",
      "apiUrl": "https://api.openai.com/v1/chat/completions",
      "apiKey": "sk-...",
      "concurrentSlots": 4,
      "capacityPolicy": "simple"
    },
    {
      "modelId": "0x<your_chain_modelId_2>",
      "modelName": "claude-3-5-sonnet-20241022",
      "apiType": "claudeai",
      "apiUrl": "https://api.anthropic.com/v1/messages",
      "apiKey": "sk-ant-...",
      "concurrentSlots": 4
    }
  ]
}
Full schema: models-config.json.

Bare minimum docker run

docker run -d \
  --name morpheus-resale \
  -e ETH_NODE_CHAIN_ID=8453 \
  -e BLOCKSCOUT_API_URL=https://base.blockscout.com/api/v2 \
  -e DIAMOND_CONTRACT_ADDRESS=0x6aBE1d282f72B474E54527D93b979A4f64d3030a \
  -e MOR_TOKEN_ADDRESS=0x7431aDa8a591C955a994a21710752EF9b882b8e3 \
  -e WALLET_PRIVATE_KEY=<your_provider_wallet> \
  -e PROXY_ADDRESS=0.0.0.0:3333 \
  -e WEB_ADDRESS=0.0.0.0:8082 \
  -e WEB_PUBLIC_URL=https://your.public.host \
  -e MODELS_CONFIG_PATH=/app/data/models-config.json \
  -v $HOME/morpheus-resale:/app/data \
  -p 3333:3333 \
  -p 8082:8082 \
  ghcr.io/morpheusais/morpheus-lumerin-node:latest
(Place your models-config.json in $HOME/morpheus-resale/ before starting.)

Reverse proxy and TLS

Resale providers should put the proxy-router’s :8082 behind a reverse proxy (nginx, Caddy, Traefik) with TLS for the operator-facing API. The :3333 TCP port stays plain for consumer traffic — it’s an end-to-end TCP tunnel, not HTTPS.

Next