# Provider quickstart

Source: https://nodedocs.mor.org/get-started/quickstart-provider

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

<CardGroup cols={2}>
  <Card title="Standard provider (full)" icon="server" href="/providers/full/quickstart">
    Run a proxy-router on your own infrastructure, point it at your model.
  </Card>
  <Card title="TEE provider (SecretVM)" icon="shield-check" href="/providers/full/secretvm-quickstart">
    Deploy the hardened `-tee` image on SecretVM and tag your model `tee`.
  </Card>
  <Card title="Resale provider" icon="boxes-stacked" href="/providers/resale/overview">
    Resell capacity from Venice / OpenAI / Anthropic — including Venice Diem holders monetizing API access.
  </Card>
  <Card title="Docker" icon="docker" href="/providers/full/proxy-router-docker">
    Containerized proxy-router only.
  </Card>
  <Card title="AWS EC2" icon="aws" href="/providers/full/aws">
    Two-instance EC2 setup (LLM + proxy-router).
  </Card>
</CardGroup>

## Checklist

<Steps>
  <Step title="Have a backend model">
    OpenAI-compatible endpoint reachable from your proxy-router host (e.g. `http://my-model:8080/v1/chat/completions`).
  </Step>
  <Step title="Look up what already exists">
    Before minting a new marketplace model, check [active.mor.org/status](https://active.mor.org/status) (or `active_models.json` / `active_bids.json`) for the model name you intend to serve and competing prices. Prefer **bidding on an existing `modelId`**. See [Register on chain → Step 0](/providers/full/register-onchain#step-0--look-up-models-before-you-mint).
  </Step>
  <Step title="Have a funded wallet">
    BASE wallet with enough MOR for provider stake + bid fee (and model stake only if you must mint a new model), plus a little ETH for gas. See [Networks and tokens](/get-started/networks-and-tokens).
  </Step>
  <Step title="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](/reference/api-auth). SecretVM exposes HTTPS admin on `:443`, which pairs well with [MyProvider](https://myprovider.mor.org).
  </Step>
  <Step title="Run the proxy-router">
    Configure `.env`, `models-config.json`, `rating-config.json` and start the binary — or follow [SecretVM quickstart](/providers/full/secretvm-quickstart). See [Provider quickstart](/providers/full/quickstart).
  </Step>
  <Step title="Register on chain (prefer MyProvider)">
    Use [MyProvider](/providers/full/myprovider-gui) when you can (HTTPS node / SecretVM): register the provider, then **bid on an existing model**. Mint a new model only when nothing suitable exists (or you need a new `tee`-tagged listing). Swagger/API steps: [Register on chain](/providers/full/register-onchain). Every `postModelBid` charges a non-refundable `0.3 MOR` fee — finish local config before your first bid; see [Pricing](/providers/full/pricing).
  </Step>
  <Step title="Verify end-to-end">
    Don't trust startup logs alone — run the five-step self-check in [Verify your provider setup](/providers/full/verify-setup): healthcheck, public TCP, on-chain records, `active.mor.org` discovery, and a real prompt via the hosted Inference API.
  </Step>
</Steps>

<Note>
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](/concepts/tee-overview).
</Note>
