Prerequisites
Obtain a Fhddos API key
Sign in to the Fhddos console and create an API key. The key format is
sk-xxxx. The Fhddos base URL is https://aiapi.fhddos.com.Verify OpenClaw is installed and running
Confirm the OpenClaw CLI is installed and the gateway starts without errors. See Install & Launch if you haven’t completed that step yet.
Protocol overview
Fhddos proxies requests to different AI providers while presenting a consistent interface. OpenClaw supports all three protocols Fhddos exposes — choose the one that matches the model family you want to use.| Protocol | Endpoint pattern | Supported models |
|---|---|---|
| OpenAI (GPT protocol) | POST /v1/chat/completions or POST /v1/responses | GPT series and any OpenAI-compatible model |
| Anthropic (Claude protocol) | POST /v1/messages | Claude series |
| Google (Gemini protocol) | POST .../models/{model}:generateContent | Gemini series |
You can configure one protocol or all three simultaneously. Set
agents.defaults.model.primary to whichever model you want OpenClaw to use by default.Edit the OpenClaw configuration file
Open~/.openclaw/openclaw.json in your editor and add the provider blocks for the protocols you need.
GPT via the OpenAI protocol
Use this block for GPT models and any other OpenAI-compatible model available in Fhddos.Claude via the Anthropic protocol
Use this block for Claude models. Fhddos proxies the Anthropicmessages API natively.
Gemini via the Google protocol
Gemini uses Google’s native protocol, which differs from both OpenAI and Anthropic. Noapi field is required.
Configuration field reference
| Field | Description |
|---|---|
agents.defaults.model.primary | OpenClaw’s default model, in provider/model format |
models.providers.*.baseUrl | Fhddos gateway entry point for the protocol |
models.providers.*.apiKey | Your Fhddos API key (use an environment variable) |
models.providers.*.api | Protocol type: openai-completions for GPT or anthropic-messages for Claude; omit for Gemini |
models.providers.*.models[].id | Exact model ID from the Fhddos console — must match character for character |
models.providers.*.models[].name | Display name shown in the OpenClaw Web UI |
Store your API key as an environment variable
Avoid writing your Fhddos API key directly into the configuration file. Export it as an environment variable instead:${FHDDOS_API_KEY}. Make sure the process that starts OpenClaw inherits this variable — set it in your shell profile (.bashrc, .zshrc) or your process manager’s environment configuration.
Restart the gateway
Apply your configuration changes by restarting the gateway. Direct start:Verify the integration
Test protocol connectivity with curl
Run the appropriate command for each protocol you configured. GPT (OpenAI protocol):Test from the OpenClaw CLI
- The terminal prints generated text from the model.
- The Call Logs / Monitoring section of the Fhddos console shows the corresponding request.
Test from the Web UI
- Open the OpenClaw Web UI (usually
http://127.0.0.1:18789). - Navigate to Models and confirm your Fhddos provider entries are listed.
- Open WebChat or Playground, select a Fhddos-backed model, send a message, and verify you receive a valid response.
Troubleshooting
401 / 403 — Authentication failed
401 / 403 — Authentication failed
- Confirm your Fhddos API key is correct, unexpired, and has sufficient permissions.
- Test the key directly with the
curlcommands above to isolate whether the issue is in Fhddos or OpenClaw. - If using
${FHDDOS_API_KEY}, verify the variable is set in the terminal session that started OpenClaw (echo $FHDDOS_API_KEY).
404 — Model not found
404 — Model not found
- Open the Fhddos console and copy the model ID exactly as shown — including any prefix and capitalization.
- Update
models.providers.*.models[].idinopenclaw.jsonto match, then restart the gateway.
curl succeeds but OpenClaw returns an error
curl succeeds but OpenClaw returns an error
- Confirm OpenClaw is reading
~/.openclaw/openclaw.json(check the path printed at startup). - Verify that
agents.defaults.model.primaryuses theprovider/modelformat and that the model ID matches the entry inmodels[].idexactly. - If you use environment variables, make sure they are exported in the same process that runs OpenClaw.
Timeout or connection refused
Timeout or connection refused
- Check basic connectivity:
curl -I https://aiapi.fhddos.com - Confirm each
baseUrlin your configuration is set tohttps://aiapi.fhddos.com. - If you use a proxy, ensure the OpenClaw process is configured to route through it.
