Runtime

How a run executes, what the model sees, what gets hashed.

The call

Each run is one request to Claude (claude-opus-5 unless the manifest says otherwise) with:

  1. the manifest's system prompt, cached as a stable prefix;
  2. a second system block naming the builder and payout stock, so the model can answer "who made you";
  3. the user's prompt as the single user message.

Adaptive thinking is on. Streaming is used so long answers do not time out. Server-side refusal fallbacks are enabled, so a policy decline re-runs on a fallback model inside the same call instead of returning nothing to a paying user. A refusal that survives the fallback is returned as text and is not charged.

The digest

digest = sha256(prompt + " " + output)

It is stored with the run and shown on the agent page. It exists so a run can be re-verified later without trusting RWAMUSE's database.

Demo mode

Without ANTHROPIC_API_KEY, the runtime returns a labelled deterministic stand-in and still records the run and its reward, so the whole loop — run, accrue, settle — works on a fresh clone. Set the key in Vercel and the same button runs the real model.

Tools

tools is executable, not decorative. The local tools — chain, http, memory, clock — run on RWAMUSE with your allow-lists enforced before the call, and they run even in demo mode: a chain read really reads BNB Chain. The server tools — web_search, web_fetch, code — execute on Anthropic's side inside the same call, so they need ANTHROPIC_API_KEY on the server; without it the trace says so instead of pretending.