This page is the high-level checklist. For the full setup, branch into one of:

Standard provider (full)

Run a proxy-router on your own infrastructure, point it at your model.

TEE provider (SecretVM)

Deploy the hardened -tee image on SecretVM and tag your model tee.

Resale provider

Resell capacity from Venice / OpenAI / Anthropic.

Docker

Containerized proxy-router only.

AWS EC2

Two-instance EC2 setup (LLM + proxy-router).

Checklist

1

Have a backend model

OpenAI-compatible endpoint reachable from your proxy-router host (e.g. http://my-model:8080/v1/chat/completions).
2

Have a funded wallet

BASE wallet with at least ~0.6 MOR (provider stake + model stake + bid fee) plus a little ETH for gas. See Networks and tokens.
3

Have a publicly reachable endpoint

The proxy-router needs to be reachable on host:3333 from the internet so consumers can connect. The Swagger/admin UI on :8082 should not be public — see API auth.
4

Run the proxy-router

Configure .env, models-config.json, rating-config.json and start the binary. See Provider quickstart.
5

Register on chain

Approve the Diamond contract, register your provider, register your model (with the tee tag if you’re TEE-enabled), and post a bid. See Register on chain. Be aware: every postModelBid charges a non-refundable 0.3 MOR marketplaceBidFee; finish your local setup before posting your first bid to avoid paying the fee multiple times — see Pricing and Quickstart → What can cost you MOR.
6

Verify end-to-end

Don’t trust startup logs alone — run the five-step self-check in Verify your provider setup: healthcheck, public TCP, on-chain records, active.mor.org discovery, and a real prompt via the hosted Inference API. This is exactly the procedure Discord support runs when a new provider asks “can you check if my setup is OK?”.
TEE providers must register with the model tag "tee" for any of the two-hop attestation chain to engage on the consumer side. See TEE overview.