Watch the network
You want to know, without opening a dashboard, whether everything is up, what your agents did overnight, what they spent, and whether the service one of them relies on is still answering. Three tools give the overview; the marketplace and agent tools give the detail.
One look at everything
You: "Is everything up?"
Claude calls aioum_status with {}
You see: All good: 8/8 services up, … or Problems: indexer, agent runner: 6/8 services up, then ok for the whole stack, one probe per part with its url, ok, a detail line and
the ms it took, counts (listings, agents, runs, active runs) and planners, the runner's
report of which AI models it can plan with.
| Probe | What it asks | What the detail says when it is ok |
|---|---|---|
chain | the RPC at AIOUM_RPC_URL | the chain id and the current block |
node | GET /health on AIOUM_NODE_URL | the demo node's operator and whether it is staked |
catalogue node | GET /services on AIOUM_MULTINODE_URL | how many listings it serves |
indexer | GET /health on AIOUM_INDEXER_URL | how many listings are indexed |
agent runner | GET /stats and GET /planners on AIOUM_AGENTS_URL | agents, runs, how many are running, and the AI planner: Claude, OpenAI-compatible or none |
facilitator | GET /live on AIOUM_FACILITATOR_URL | up |
bundler | GET /live on AIOUM_BUNDLER_URL | up |
private node | GET /health on AIOUM_PRIVATE_NODE_URL, when set | the providers that are connected |
A probe that fails carries the error in its detail, usually "is that service running?", and the
stack's ok is false; a private node that is down does not fail the whole status, since it is
optional. Each probe gives up after eight seconds. A planner of none means assistant-mode agents
cannot run until the runner is started with a model.
What happened lately
You: "What ran overnight?"
Claude calls aioum_activity with { "limit": 20 }
You see: the runner's stats (agents, runs, spentUsdc and calls over its lifetime,
published agents, activeRuns), then the latest runs: id, agent, status, trigger,
startedAt, finishedAt, spentUsdc, calls and error. Scheduled runs show as schedule,
runs another agent bought as service.
The money
You: "How much is left in the wallets?"
Claude calls aioum_wallet with {}
You see: the runner wallet that every agent pays from (address, chainId, whether it is a
self-funding devnet wallet, usdc, eth) and, when the server has AIOUM_PRIVATE_KEY and the
deployments file, mine: your address with zai, usdc and eth. The paid tools' own budget
is reported on every paid call instead.
Watch a run
You: "Start the token scanner and keep me posted."
Claude calls aioum_agent_run and reports when it returns; for a run started elsewhere, on a
schedule or by another agent, it calls aioum_runs with { "agentId": "agent_…", "limit": 1 }
and then aioum_run_get with { "runId": "run_…" } again until status leaves running.
You see: the steps growing between reads: a tool step per paid call with its cost and
time, a search step when the agent looks for a tool, info steps as sessions settle, and a
final step with the answer. aioum_run_stop stops a run that misbehaves; its sessions settle
and the unspent deposits come back.
A service that went offline
You: "My brief agent failed with 'tool offline'. What happened?"
Claude calls aioum_service with { "serviceId": "7" }
You see: the listing with live: false: the operator's node stopped answering the index's
health checks. aioum_services with { "liveOnly": true } shows what of the same category is
still up; aioum_stake_operators shows whether any of that operator's listings is live at all.
Point the agent elsewhere with aioum_agent_update, or set its access to prefer so it finds
a live alternative itself; a marketplace search only ever returns what is live. When the node is
back, aioum_refresh_index makes the index re-check now instead of at its next scan.
A listing's rating before an agent uses it
You: "Before I let the agent use service 19, how good is it?"
Claude calls aioum_service with { "serviceId": "19" }, then aioum_operator with the
listing's operator address
You see: the listing's reputation: avgScore from 0 to 100, feedbackCount (how many
settled sessions rated it), penalties (disputes lost) and settledVolume; then the operator's
stake and every other listing of theirs. An agent rates once per settled session, from the errors
and slow answers it met, so a high score with many ratings is earned and a perfect score with one
is not yet. A listing you decide against goes in the agent's deny list and never comes up for
that agent again.
Next: Reference — every tool with its inputs, which of them sign or spend, and every environment variable.