Run OpenClaw on any model
Open-source autonomous agent runtime - register Antseed as a custom provider in openclaw.json.
What OpenClaw is. OpenClaw is an open-source agent runtime for autonomous, long-running tasks (research, coding, web automation). It loads its provider catalog from ~/.openclaw/openclaw.json - each entry is an HTTP endpoint plus a wire protocol (anthropic-messages, openai-chat, etc.) and a list of models.
How Antseed plugs in. Add a provider entry called antseed with api: "anthropic-messages" and authHeader: true. Use http://127.0.0.1:8377/v1 when OpenClaw runs beside the AI VPN. When it runs elsewhere, expand AI VPN → Agents → Define your internet-accessible Antseed endpoint, start ngrok or Cloudflare, and copy the displayed URL and API key.
Why a config entry instead of env vars. OpenClaw runs many providers in parallel (one per task, sometimes one per agent). A single base-URL override would force every agent through Antseed; a named provider lets you mix Antseed with hosted Anthropic, OpenAI, or local models on a per-agent basis.
Run Antseed first
Every integration assumes a buyer proxy at http://localhost:8377. One-time setup, ~2 minutes.
Step 1
Install OpenClaw
- Install OpenClawnpm install -g openclaw
Verify with
openclaw --version. OpenClaw has a newer Node.js support policy than Antseed, so use a Node version accepted by the current OpenClaw release. The config file lives at~/.openclaw/openclaw.jsonand is created on first launch.
Step 2
Point OpenClaw at Antseed
| ANTSEED_BASE_URL | http://127.0.0.1:8377/v1 |
| ANTSEED_API_KEY | antseed-p2p |
Show as shell exports
Local setup: keep these defaults. Remote setup: in AI VPN → Agents, expand “Define your internet-accessible Antseed endpoint,” start ngrok or Cloudflare, then replace both values with the displayed URL and generated antseed_... key.
Step 3
Pick a model
The special antseed id follows the current AI VPN model picker. Every other id under models[] must match a model id from GET /v1/models. Keep authHeader: true: OpenClaw otherwise uses Anthropic-native authentication, while the public Antseed gateway requires Authorization: Bearer <API_KEY>. Route to a specific peer with <peerId>@<service-id>.
The full list is every model on the network. Run curl -s localhost:8377/v1/models, antseed network browse, or open the live network page to see what's available right now.
Verify
Test it
- Confirm the proxy advertises the model ids you put in configcurl -s "$ANTSEED_BASE_URL/models" -H "Authorization: Bearer $ANTSEED_API_KEY" | jq '.data[].id'Example response"deepseek-v4-flash" "gpt-oss-120b" "kimi-k2.6" "minimax-m2.7"
If a model id you listed in
openclaw.jsondoesn't appear here, no peer on the network currently serves it. Remove the entry or pick another model from the list. - Check the configured model catalogopenclaw models list
Run
openclaw gateway restartafter editing the config. You should see theantseedprovider and its configured models. - Run an agent against Antseedopenclaw agent exec "Summarize the README in this repo" --model antseed/kimi-k2.6
How OpenClaw talks to Antseed
- Wire format sent by OpenClaw:
Anthropic Messages(hits/v1/messageson the buyer proxy) - Best-fit services: any service whose
protocolsarray containsanthropic-messages. That's what the peer advertises as natively-supported - zero translation overhead, no transform edge cases. - How to check a peer: run
antseed network peer <peerId> --jsonand look atproviderServiceApiProtocols[provider].services[service]. The browse command exposes the same field per peer. - What happens when protocols don't match: Antseed's
@antseed/api-adaptertranslates between Anthropic Messages and the service's native protocol on the fly. So a request from OpenClaw can still reach a service that only advertisesopenai-chat-completions- just with a small transform step. - One known caveat: services whose only advertised protocol is
openai-responsesrequire streaming. If OpenClaw sends a non-streaming request and the proxy routes it to one of those services, the call fails withHTTP 400: Stream must be set to true. Pick a service whoseprotocolsincludesanthropic-messages(or another non-responses protocol) to avoid this.
If it goes wrong
Troubleshooting
provider "antseed" not foundwhen launching an agentJSON parse error inopenclaw.json, or you put the entry in the wrong nesting level. The provider must live undermodels.providers.antseed. Runopenclaw config validateto surface parse errors.- OpenClaw lists
antseed/<id>but every call returns502 model_not_foundNo policy-allowed peer currently advertises that model. CheckGET $ANTSEED_BASE_URL/modelswith the bearer key and updatemodels[], or pick another model. - Streaming errors on long-running agentsAntseed supports SSE streaming. If you see truncated responses, check that no proxy in front of OpenClaw is buffering (Cloudflare, nginx). The buyer proxy itself does not buffer.
- Agent stalls on first request after a deployAntseed opens a payment channel on the first request to a new peer (one on-chain transaction, ~5–15s on Base). Subsequent requests reuse the channel. Pre-warm by running a quick
curlbefore launching the agent. - OpenClaw runs remotely and cannot reach
127.0.0.1:8377Open AI VPN → Agents, expand “Define your internet-accessible Antseed endpoint,” and start ngrok or Cloudflare. Put the displayed/v1URL inANTSEED_BASE_URL, the generated key inANTSEED_API_KEY, and keepauthHeader: true. Do not expose port 8377 directly.
Reference
Links
Same category