Skip to content
Router One

Run OpenClaw on one endpoint with a hard spend cap

OpenClaw is an autonomous agent CLI, and long agent sessions burn tokens fast — often unattended. Registering Router One as its custom OpenAI-compatible provider puts every model call on one key you can cap: set maxSpend on the key and a runaway session stops at the cap instead of draining your wallet. Every call is traced for cost, and when an upstream returns a retryable 5xx or timeout, the request may be retried on the next healthy provider serving that same model — useful when a session runs for hours.

Configure OpenClaw to use the Router One base URL

Run OpenClaw's onboarding with a custom OpenAI-compatible provider pointing at the gateway — the CLI setup guide walks through the same flow step by step for macOS, Windows, and Linux:

openclaw-onboard.sh
export CUSTOM_API_KEY=sk-your-router-one-key

openclaw onboard --non-interactive \
  --auth-choice custom-api-key \
  --custom-base-url https://api.router.one/v1 \
  --custom-model-id gpt-5.6-sol \
  --custom-provider-id router-one \
  --custom-compatibility openai \
  --install-daemon

Which model ID should OpenClaw send?

Copy the exact model ID from /models, preserving case, hyphens, and version suffixes; do not substitute a display name. Open its detail page and match the supported API endpoints, context window, and capabilities such as tool calling to the provider and features selected in OpenClaw. A catalog listing does not mean the client can use every feature of that model. Give each tool a dedicated API key with a maxSpend cap.

Which API protocol is OpenClaw using?

OpenAI-compatible describes an interface format; it does not make Chat Completions (/v1/chat/completions), Responses (/v1/responses), and Anthropic Messages (/v1/messages) interchangeable. Check the installed client version, provider configuration, and actual request path against the model detail page and API compatibility fact sheet. A successful plain-text chat does not establish support for hosted tools, conversation state, or file-editing features.

Verify the OpenClaw call in your request trace

Send a simple text request from OpenClaw, then match its trace in Dashboard → Logs by time, model, and request_id: tokens, cost, latency, and status. Next, test streaming, tool calls, and multi-turn history separately. For failures, retain the actual request path, full error message, and request_id. If there is no matching log, check client configuration and connectivity before attributing the error to the gateway or upstream.

FAQ

How do I keep an OpenClaw session from overrunning its budget?

Create a dedicated API key for OpenClaw and set a maxSpend hard cap on it — when the key hits its cap it stops, and your wallet and other keys are untouched. Dashboard → Logs shows the per-request cost trace, so you can see what each session actually spent.

Which models can OpenClaw use through the gateway?

Choose a current catalog model that supports both the endpoint and the features OpenClaw uses. Check /models and the model detail page for the exact ID, current rates, and capabilities; a family name such as GPT or Claude is not a compatibility guarantee. Seeing a model in the picker confirms discovery, so verify an actual request too.

Models are listed, but requests fail with 400 or 404. What should I check?

Record the actual request path and error message, then check the exact model ID. A 400 can indicate invalid parameters, unsupported tools, or a model/endpoint mismatch; a 404 can indicate an incorrect path or missing resource, so it does not by itself establish that a model was retired. If the error says must be called via, use the named endpoint or select a model supported on the current endpoint. Do not add or remove /v1 or /chat/completions across all clients indiscriminately.

Does this work from Mainland China?

Yes. The gateway is reachable from Mainland China without a VPN, and the configuration is identical to the global setup.

How do I debug a 401/402/403/429?

Match the request and error message in Dashboard → Logs. For 401, check whether the key was sent and is valid; for 402, check wallet balance and maxSpend; for 403, check key permissions and access restrictions. For 429, distinguish request/token limits from upstream throttling using the error details. Keep the request_id and follow the error-codes reference.