operator api
Run your agents from your own stack.
Everything the console does to your fleet — spawn, list, pause, resume, read usage — over plain HTTP with one bearer token. The token is scoped to your wallet: it only ever sees your agents.
Get a token
Routes
Base URL https://daimon.run. JSON in, JSON out.
- GET /api/v1/agentsYour agents, newest first: id, persona, name, status, model, Solana pubkey, template.
- POST /api/v1/agentsSpawn an agent. All fields optional: template_id (≤ 64 chars), model (an OpenRouter slug), system_prompt (≤ 2,000 chars). Ownership comes from the token, never from the body.
- POST /api/v1/agents/:id/pauseStop the agent's loop. It keeps its wallet, key history, and ledger.
- POST /api/v1/agents/:id/resumeStart it again. Refused for a retired agent — retire is irreversible.
- GET /api/v1/usageA 14-day usage report across your agents.
Try it
# list your agents
curl https://daimon.run/api/v1/agents \
-H "authorization: Bearer $DMN_TOKEN"
# spawn an agent (model + template optional)
curl -X POST https://daimon.run/api/v1/agents \
-H "authorization: Bearer $DMN_TOKEN" \
-H "content-type: application/json" \
-d '{"template_id":"defi-analyst"}'
# pause / resume an agent
curl -X POST https://daimon.run/api/v1/agents/:id/pause \
-H "authorization: Bearer $DMN_TOKEN"
curl -X POST https://daimon.run/api/v1/agents/:id/resume \
-H "authorization: Bearer $DMN_TOKEN"
# 14-day usage report
curl https://daimon.run/api/v1/usage \
-H "authorization: Bearer $DMN_TOKEN"Errors
Every error is {"error": "<kind>", "message": "…"}.
- 401missing, wrong, or regenerated token
- 404no such agent — or not yours; the two look the same on purpose
- 400a field is over its length cap
- 409the agent is retired or retiring
- 429the fleet is at its running-agent cap — retry shortly