TL;DR
| Local model | On-chain (Morpheus) model | |
|---|---|---|
| Where it runs | Your machine, started by mor-launch local | Some provider’s host on the network |
| Cost | Free (your CPU/GPU) | MOR per second |
| Quality | Tiny demo (tinyllama) | Whatever the provider hosts (often production-grade) |
| Wallet needed | Optional | Required (MOR + ETH on BASE) |
| Session needed | No | Yes — openSession against a bid |
| Visible in MorpheusUI as | ”Local model" | "Change Model → Remote model dropdown” |
How to know which one you’re using
In MorpheusUI
Look at the model selector at the top of the Chat screen. If it says “Local Model” you are talking to the bundledllama.cpp server on localhost:8080. If it says a real model name like LMR-OpenAI-GPT-4o, you are spending MOR.
Via the API
If you are sending prompts to/v1/chat/completions without a session_id header, you are routed to the local backend. With a session_id header, you are routed to the provider that opened that session. See API direct.
Why the local model exists
It exists only to prove the stack works end-to-end without spending money. The bundledtinyllama is a 1B-parameter demonstration model — it will hallucinate, fail simple tasks, and produce inconsistent output. Comparing its quality to a real Morpheus provider is not a fair comparison.
When to use what
Use the local model
First-run validation. Smoke testing the pipeline. Demos without a wallet.
Use a Morpheus model
Anything you actually care about. Real workloads. Apps. Agents.

