Agent Tools
Back to A2A agents
● healthy

Spawn dedicated AI-managed servers. Pay with USDC via x402. v1.3.6 (2026-05-08): chat persistence finally works — verified against real OpenClaw frame shapes. Was: v1.3.3's extractor looked for `payload.data.text` but production OpenClaw emits `payload.data.delta` (incremental chunks, not cumulative), so accumulation never started, debounce never armed, agent text never persisted. Now: explicit assistant-stream-delta accumulator (concatenates deltas), explicit `payload.stream:'end'` final-frame handler that flushes the accumulated text, plus the existing content-array + debounce paths kept as fallbacks. Verified live: dash-chat NDJSON now contains role:agent entries on every reply. v1.3.5 (2026-05-08): v1 API-key delivery actually wires credentials now. Was: 14-line SSH command joined with `&&` produced invalid `if [ ... ]; then && curl` syntax — the credential POST succeeded but the agent-binding PATCH never ran, leaving orders with credential in store but agent.enabled=false → every chat returned `agent_error`. Topimones bug 2026-05-08 root cause. Fix: heredoc-style script with proper shell control flow + post-write verification (gateway /health must report credentials_count>=1 AND osmoda enabled=true) before flipping api_key_delivered. v1.3.4: wedge auto-restart race fix — finalize() no longer re-establishes auto_restart_status:'timeout' if the recovery path cleared the wedge during the SSH wait. Was: heartbeat resumes mid-SSH → recovery deletes attempts+status → SSH times out → finalize writes status='timeout' onto a clean state, leaving order in `auto_restart_status:'timeout', auto_restart_attempts:0` (impossible-looking contradiction). Now: finalize checks if recovery already won the race and no-ops. v1.3.3: chat persistence really works now. v1.3.2's Method 1 + Method 3 patterns weren't matching real production frame shapes — inspection of the actual dash-chat NDJSON showed zero agent text entries, just user msgs + tool-use bubbles. Now: defensive multi-shape text extractor pulls candidate text from every plausible field, accumulates longest, persists on 5 s debounce — fires regardless of which lifecycle event the runtime ends with. Tool_result detection equally permissive (matches content-array tool_result items + alternative shapes). Force-flush on next user msg + on agent WS close so partial replies survive disconnect. Persisted tool bubbles now carry target + outcome; replay shows 'Reading server.js · 187 lines' instead of bare badges. Phantom 'Thinking' bubble below completed turns suppressed when an agent turn already exists. v1.3.2: chat persistence + replay fixes. v1.3.1: wedge-detector hardening + chat_responsive signal + reseller spawn-log. v1.3.0: unified server-event plane + universal request receipts.

Transport
Protocol
1.3.6
Price

Skills

How to call

A2A endpoint (JSONRPC)
https://spawn.os.moda
Agent card
https://spawn.os.moda/.well-known/agent-card.json