Skip to main content

Run OpenClaw on any model

Open-source autonomous agent runtime - register your Antseed gateway as a custom provider in openclaw.json.

Autonomous agentsOpenAI Chat Completions~3 min

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: "openai-completions" and authHeader: true. Antseed translates to each seller's native protocol, so this one entry reaches every chat model on the network. The recommended endpoint is a gateway: it gives the agent its own key, budget and usage log, and works wherever OpenClaw runs - a server, a container, another computer. Use the local buyer proxy (http://127.0.0.1:8377/v1) only when OpenClaw runs on the same computer as the buyer.

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 needs an Antseed endpoint: a gateway, best on a small server so every tool on every machine can reach it, or the local buyer proxy (same computer only). One-time setup, a few minutes.

Step 1

Install OpenClaw

  • Install OpenClaw
    npm 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.json and is created on first launch.

  • Optional: let the setup script do the rest
    skills/openclaw-antseed/scripts/setup.sh --service deepseek-v4-flash

    From a checkout of the Antseed repo. With no gateway, it installs the Antseed CLI if needed, runs antseed gateway service install (a background service that starts at login and restarts if it stops, on macOS and Linux, no root), creates a key for OpenClaw and saves it in ~/.antseed/openclaw/api-key, then writes the antseed provider into openclaw.json with that one model as the default (antseed/deepseek-v4-flash). Both files are readable only by you, and running it again reuses the saved key. To use a gateway you already have, set ANTSEED_BASE_URL and ANTSEED_API_KEY first. Then run openclaw gateway restart and check it with openclaw models list and openclaw agent exec "Say hi" --model "antseed/deepseek-v4-flash". The Configure and Test steps below are the by-hand route: they read ANTSEED_BASE_URL and ANTSEED_API_KEY from your shell and use a gateway preset the script doesn't create. A new gateway's wallet is empty, so add funds (antseed gateway console-link, then Wallet & Funding), or create the free-sellers preset below and add it to openclaw.json as a model.

Step 2

Point OpenClaw at Antseed

Recommended: a gateway

ANTSEED_BASE_URLhttps://gateway.example.com/v1
ANTSEED_API_KEYantseed_…
Show as shell exports
export ANTSEED_BASE_URL="https://gateway.example.com/v1" export ANTSEED_API_KEY="antseed_…"

Your gateway's base URL, ending in /v1, and an API key from the Keys page of its console. Recommended: a gateway on a server, which every machine can reach. A gateway on this computer is http://localhost:8379/v1; publish it with a tunnel (antseed tunnel start) for other machines. No gateway yet: see Run Antseed first above. Same computer as the buyer, no gateway: use http://127.0.0.1:8377/v1 and any placeholder key, such as antseed-p2p.

Gateway only: create a preset that prefers free sellers

antseed gateway preset create --slug openclaw --name OpenClaw \ --model deepseek-v4-flash --prefer-free

Run it where the gateway runs, or create the preset on the console's **Presets** page. OpenClaw then calls it as the model @preset/openclaw. With a plain model id, OpenClaw's requests can land on a paid seller and get a 402 on an unfunded gateway, even for a model that has a free seller. To never pay, add --max-input-price 0 --max-output-price 0: with no free seller available you get a 502 instead of a 402. Using the local buyer proxy instead? Skip this step: only a gateway resolves presets, and funding the buyer doesn't change that. Without funds, run a gateway on the same computer instead (antseed gateway service install, which keeps it running in the background at http://127.0.0.1:8379/v1, plus a key from antseed gateway key create --label openclaw) and follow the gateway steps.

~/.openclaw/openclaw.json (merge into the existing `models.providers` object)
{ "models": { "providers": { "antseed": { "baseUrl": "${ANTSEED_BASE_URL}", "apiKey": "${ANTSEED_API_KEY}", "authHeader": true, "api": "openai-completions", "models": [ { "id": "@preset/openclaw", "name": "DeepSeek v4 Flash, free sellers first (via Antseed)", "reasoning": false, "input": ["text"], "contextWindow": 128000, "maxTokens": 8192 }, { "id": "kimi-k2.6", "name": "Kimi K2.6 (via Antseed, paid)", "reasoning": false, "input": ["text"], "contextWindow": 256000, "maxTokens": 8192 } ] } } } }

Keep authHeader: true: it sends the key as Authorization: Bearer, which the gateway requires. Use openai-completions with a base URL ending in /v1; this is the setup Antseed runs its own OpenClaw agents on. With the local buyer proxy, leave out the @preset/openclaw entry: the proxy answers it with an error.

Gateway: use the preset

openclaw models set "antseed/@preset/openclaw" openclaw gateway restart

The restart is only for a running OpenClaw gateway service. One-off openclaw agent exec runs read the config directly.

Local buyer proxy: use a model id

openclaw models set "antseed/kimi-k2.6" openclaw gateway restart

Without deposits, use a model that has a free seller: the local buyer retries a free seller after a paid one answers 402. CLI 0.1.234 and earlier pass that 402 on, and OpenClaw then disables the key for about 10 minutes (see Troubleshooting), so on those versions fund the buyer (antseed buyer deposit) or use a gateway. A model with no free seller, such as kimi-k2.6, always needs a funded buyer.

Step 3

Pick a model

kimi-k2.6deepseek-v4-flashminimax-m2.7gpt-oss-120b

Every id under models[] must be a model id from GET /v1/models or a gateway preset (@preset/<slug>). kimi-k2.6 has no free seller, so it needs a funded gateway. Don't pin a seller with <peerId>@<service-id>: OpenClaw drops everything from the @, so the gateway gets a bare peer id and answers 502 model_not_found. Pin with a preset instead: antseed gateway preset create --slug openclaw-pinned --name "OpenClaw pinned" --model deepseek-v4-flash --allow-peer <peerId>, then use @preset/openclaw-pinned. With the local buyer proxy and the desktop app, the special id antseed follows the model picked in the app; it does not work through a gateway.

The full list is every model on the network. Run GET /v1/models on your endpoint, antseed network browse, or open the live network page to see what's available right now.

Verify

Test it

  • Confirm the endpoint advertises the model ids you put in config
    curl -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"

    Presets are not listed here. If a model id you listed in openclaw.json doesn't appear here, no seller your routing policy allows serves it right now. Remove the entry or pick another model from the list.

  • Check the configured model catalog
    openclaw models list

    You should see the antseed provider and its configured models.

  • Run an agent against Antseed
    openclaw agent exec "Summarize the README in this repo" --model "antseed/@preset/openclaw"

    Through the local buyer proxy: openclaw agent exec "Summarize the README in this repo" --model "antseed/kimi-k2.6".

How OpenClaw talks to Antseed

  • Wire format sent by OpenClaw: OpenAI Chat Completions (hits /v1/chat/completions on your gateway or buyer proxy)
  • Best-fit services: any service whose protocols array contains openai-chat-completions. 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> --json and look at providerServiceApiProtocols[provider].services[service]. The browse command exposes the same field per peer.
  • What happens when protocols don't match: Antseed's @antseed/api-adapter translates between OpenAI Chat Completions and the service's native protocol on the fly, inside the buyer. So a request from OpenClaw can still reach a service that only advertises anthropic-messages - just with a small transform step.
  • One known caveat: services whose only advertised protocol is openai-responses require streaming. If OpenClaw sends a non-streaming request and Antseed routes it to one of those services, the call fails with HTTP 400: Stream must be set to true. Pick a service whose protocols includes openai-chat-completions (or another non-responses protocol) to avoid this.

If it goes wrong

Troubleshooting

  • provider "antseed" not found when launching an agentJSON parse error in openclaw.json, or you put the entry in the wrong nesting level. The provider must live under models.providers.antseed. Run openclaw config validate to surface parse errors.
  • 401 from the gatewaySet authHeader: true on the provider and make sure ANTSEED_API_KEY holds a gateway key in the environment OpenClaw starts with.
  • Connection refused at localhost:8379The gateway on this computer isn't running. antseed gateway service status shows whether the service is installed and answering; antseed gateway service install starts it again.
  • OpenClaw lists antseed/<id> but every call returns 502 model_not_foundNo seller your routing policy allows currently advertises that model. Check GET $ANTSEED_BASE_URL/models with the bearer key and update models[], or pick another model. If the error names a 40-character peer id instead of a model, the id was <peerId>@<service-id>, which OpenClaw cuts at the @; pin with a preset instead (see **Pick a model**).
  • returned a billing error, then Inline API key for provider "antseed" is temporarily disabled after a provider auth/billing failureThe gateway answered 402: the request was routed to a paid seller and the workspace wallet is empty. OpenClaw then disables the antseed key for about 10 minutes for every model, free ones included; openclaw models status lists it under **Unavailable auth profiles** with the time left. Wait it out, then use the @preset/openclaw preset above, or fund the workspace wallet (console → **Wallet & Funding**).
  • Streaming errors on long-running agentsAntseed supports SSE streaming. If you see truncated responses, check that no proxy between OpenClaw and Antseed is buffering (Cloudflare, nginx). The gateway and the buyer proxy do 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 curl before launching the agent.
  • OpenClaw runs remotely and cannot reach 127.0.0.1:8377The local buyer proxy only listens on localhost. Use a gateway: a server gateway, or a tunnel (antseed tunnel start). Put its /v1 URL in ANTSEED_BASE_URL, a gateway key in ANTSEED_API_KEY, and keep authHeader: true. Do not expose port 8377 directly.

Reference

Links

Same category

Related

Run OpenClaw on the open market

Run a gateway, point this tool at it, and pay per request.

All integrationsGateway API