An open-source (MIT) kit for building a hackathon product that is worth building, on Morpheus decentralized inference. Morpheus is an OpenAI-compatible API in front of a peer-to-peer network of model providers. One key and one base URL give you 250+ models, including frontier, open-weight, :web search and embedding models.
Agents: start at llms.txt. Humans: start at MORPHEUS.md for every official link.
| What you get | Why it matters |
|---|---|
| One key, one OpenAI-compatible base URL, 250+ models from many model families | Swap models with a one-line change. You are not tied to one AI company's API |
| Independent providers compete on an open marketplace | Inference is supplied by many operators, not one host. Anyone can become a provider |
| Pay with card, USDC, or staked MOR | Inference can be funded by stake instead of a card (stakemor.com) |
| A TEE provider path with attestation | Build where confidential inference matters; check which providers attest before you claim it (TEE overview) |
| Open-source node software | Run your own consumer node and call the network directly (morpheus/NODE.md) |
| Builder subnets | Keep building after the event and attract MOR stake toward your project |
| You are | Start here |
|---|---|
| Building an app or product | The Inference API: quick start below |
| Building an agent | Morpheus Skill, or point your agent at your own node (agents) |
| Running models or spare API capacity | Become a provider |
| Holding or staking MOR | Builders and capital |
A product is incomplete until you have mapped product-market fit, the pain, and the cost of not solving it. Approach the build as delivering value, economic or otherwise, in a form that can last. Before you write product code, answer the four product risks from Marty Cagan's product-discovery approach:
| Risk | Question |
|---|---|
| Value | Will the buyer choose this? |
| Usability | Can they use it without help? |
| Feasibility | Can we build it in time, on Morpheus? |
| Viability | Does it hold up as a business or a sustained effort? |
Read DISCOVERY.md, then run the skills in order: /market-scan → /pain-map → /gtm-wedge → /opportunity (GO / PIVOT / STOP) → /scaffold → /poc.
- Create an account and an API key at app.mor.org. Keys start with
sk-. - Copy
.env.exampleto.env, paste your key, and load it into your shell. Never commit.env.cp .env.example .env # then edit .env set -a; source .env; set +a
- Check your key and pick models:
The script prints latency, a reply check and tool-calling support for each model.
./morpheus/preflight.sh "glm-5.3-flash" "Claude Sonnet 5.5"
- Run an example (one chat call and one tool call, with retry and fallback):
Or open the repo in GitHub Codespaces, with
pip install -r examples/python/requirements.txt && python examples/python/main.py npm install --prefix examples/node && npm start --prefix examples/node
MORPHEUS_API_KEYset as a Codespaces secret. Everything installs automatically. - Point any OpenAI SDK at
https://api.mor.org/api/v1. - Optional: run
claudein this folder. Claude Code loads the skills in.claude/skills/automatically. Fill in the Brief inCLAUDE.mdfirst.
from openai import OpenAI
import os
client = OpenAI(base_url="https://api.mor.org/api/v1", api_key=os.environ["MORPHEUS_API_KEY"])
r = client.chat.completions.create(
model=os.getenv("MODEL_PRIMARY", "glm-5.3-flash"),
messages=[{"role": "user", "content": "Say hello from Morpheus."}],
)
print(r.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mor.org/api/v1", apiKey: process.env.MORPHEUS_API_KEY });
const r = await client.chat.completions.create({
model: process.env.MODEL_PRIMARY ?? "glm-5.3-flash",
messages: [{ role: "user", content: "Say hello from Morpheus." }],
});
console.log(r.choices[0].message.content);curl -s https://api.mor.org/api/v1/chat/completions \
-H "Authorization: Bearer $MORPHEUS_API_KEY" -H "Content-Type: application/json" \
-d '{"model":"glm-5.3-flash","messages":[{"role":"user","content":"Say hello from Morpheus."}]}'List the live models with curl -s https://api.mor.org/api/v1/models. Model IDs are case-sensitive and can include spaces.
| Lane | Best for | Start here |
|---|---|---|
| Gateway API | Most teams. Zero infrastructure | Quick start above, then morpheus/SETUP.md |
| Template | A working app in minutes | Template table in MORPHEUS.md |
| Your own node | Teams who want to call the network directly, without the gateway | morpheus/NODE.md |
| File | Purpose |
|---|---|
DISCOVERY.md |
The four risks, the pain / cost-of-inaction / fit maps, and further reading |
CLAUDE.md |
Agent rules plus a brief to fill in: event, theme, judging, approver |
AGENTS.md |
Practice for people and agents: research, repo, marketing, outreach, safety |
.claude/skills/ |
16 skills for Claude Code (or any agent that reads skill files): discovery → build → ship → pitch |
graphs/ |
Execution graphs (DAGs) that chain the skills with gates and approvals. Run with /run-graph |
examples/ |
Runnable Python and Node examples on Morpheus |
.devcontainer/ |
Open the repo in GitHub Codespaces with everything installed |
llms.txt |
Machine-readable index of every Morpheus resource, for agents to sweep |
MORPHEUS.md |
Human index: docs, API, templates, agents, nodes, providers, known gaps, community |
morpheus/SETUP.md |
Gateway setup: what the API has, what it lacks, how to pick models, how to route coding agents |
morpheus/NODE.md |
Run your own consumer node, safely |
morpheus/preflight.sh |
Tests a key, models, latency and tool calls |
morpheus/no-other-vendors.sh |
Pre-commit / CI check that your code calls no other AI vendor directly |
.env.example |
Environment variables the scripts and snippets use |
- Put all model calls behind one
llm()function. Read the model IDs from.env, so a model swap is a one-line change. - Pick a fallback model, also on Morpheus, and test it before demo day.
- Log the model, the endpoint and the latency of each call, but not the prompts. On stage, that log proves where your inference runs.
- Thinking models can take more than a minute before the first token. For a live demo, use a fast model.
- No secrets in git, chat or prompts. Run
morpheus/no-other-vendors.shas a pre-commit hook:ln -s ../../morpheus/no-other-vendors.sh .git/hooks/pre-commit
Keep building: register a builder subnet to attract MOR stake to your project, or fund your inference with staked MOR at stakemor.com. The known gaps list is a good place to find a project worth continuing.
Ask questions in this repo's Discussions. Report kit bugs as issues. Pull requests are welcome. For the API itself, see the support links in MORPHEUS.md.
MIT.