Skip to main content

OpenClaw

OpenClaw is a personal AI agent. It reads an OpenAI-compatible provider from its config, so — like Hermes — it's a first-class connect target: the proxy writes the config for you.

Before you start

Do the shared setup from How-to guides first: the proxy must be running (zs-proxy proxy start) and funded (zs-proxy fund).

The quick way: zs-proxy connect openclaw

zs-proxy connect openclaw # configure OpenClaw to use the proxy
zs-proxy connect openclaw --model qwen3-coder # ...and set it as the primary model
zs-proxy connect openclaw --print # preview the merged config, write nothing

This merges a zerosignal provider into your existing ~/.openclaw/openclaw.json (backing the original up to openclaw.json.bak) and seeds it with the live model catalog so the network's models show up in OpenClaw's picker. Your other OpenClaw settings are preserved, and models.mode: "merge" keeps OpenClaw's built-in providers alongside it.

What it writes (JSON5 — comments and trailing commas allowed):

{
models: {
mode: "merge",
providers: {
zerosignal: {
baseUrl: "http://127.0.0.1:9376/v1", // your live proxy endpoint
apiKey: "zerosignal-local", // placeholder — the proxy ignores it
api: "openai-completions",
models: [ /* the live catalog; each priced model carries a cost block */ ],
},
},
},
agents: { defaults: { model: { primary: "zerosignal/qwen3-coder" } } }, // only with --model
}
info

Pricing. connect seeds each priced model's cost (USD per 1M tokens) with the network's advertised rates grossed up by the protocol fee — what you actually pay — taken from the cheapest operator serving each model. Treat them as an estimate: the authoritative charge is metered and billed on-chain per request, and routing may land on a different-priced operator. Free or unpriced models keep a zeroed cost. See Pricing for the full model.

If OpenClaw's config lives somewhere non-standard, point connect at it with OPENCLAW_CONFIG_PATH=/path/to/openclaw.json (or --config-path).

Select the model and run

Pick a zerosignal/… model in OpenClaw, or set it from the CLI:

openclaw models set zerosignal/qwen3-coder

Then start OpenClaw and send a message — the first reply confirms the whole path (encrypt, pay, route) is working.

Troubleshooting

SymptomFix
connect says OpenClaw wasn't detectedName it explicitly — zs-proxy connect openclaw configures the named tool even without detection, writing ~/.openclaw/openclaw.json.
OpenClaw isn't using the proxySelect a zerosignal/<model> model (or openclaw models set zerosignal/<model>), and confirm the zerosignal provider exists under models.providers in the config.
Connection refusedThe proxy isn't running or the base URL is wrong. Check curl http://localhost:9376/healthz and start it with zs-proxy proxy start.
Running OpenClaw in a container? Nothing connectsSee the Docker note — use host.docker.internal and bind the proxy off loopback.
wallet_unfunded / payment errorsAdd funds with zs-proxy fund — see Wallet & funding.

What's next